From 44ab0a534b73b9e8c75e1fc5c67702c9559ab1b8 Mon Sep 17 00:00:00 2001 From: Auto Commit Date: Mon, 8 Sep 2025 14:03:43 +0200 Subject: [PATCH] Initialize repo and add session changes (2025-09-08) --- .editorconfig | 18 + .env.example | 65 + .gitattributes | 10 + .github/workflows/lint.yml | 45 + .github/workflows/tests.yml | 50 + .gitignore | 27 + .prettierignore | 2 + .prettierrc | 19 + AGENTS.md | 60 + PWA_Wireframes.txt | 189 + app/Console/Commands/AddDummyTenantUser.php | 97 + app/Console/Commands/AttachDemoEvent.php | 85 + app/Console/Commands/BackfillThumbnails.php | 53 + app/Filament/Resources/EmotionResource.php | 192 + app/Filament/Resources/EventResource.php | 89 + app/Filament/Resources/EventTypeResource.php | 73 + app/Filament/Resources/LegalPageResource.php | 71 + app/Filament/Resources/PhotoResource.php | 90 + app/Filament/Resources/TaskResource.php | 203 + app/Filament/Resources/TenantResource.php | 72 + app/Filament/Widgets/EventsActiveToday.php | 40 + app/Filament/Widgets/PlatformStatsWidget.php | 31 + app/Filament/Widgets/RecentPhotosTable.php | 39 + app/Filament/Widgets/TopTenantsByUploads.php | 33 + app/Filament/Widgets/UploadsPerDayChart.php | 52 + app/Http/Controllers/Admin/QrController.php | 21 + .../Controllers/Api/EventPublicController.php | 218 + app/Http/Controllers/Api/TenantController.php | 207 + .../Auth/AuthenticatedSessionController.php | 51 + .../Auth/ConfirmablePasswordController.php | 41 + ...mailVerificationNotificationController.php | 24 + .../EmailVerificationPromptController.php | 22 + .../Auth/NewPasswordController.php | 70 + .../Auth/PasswordResetLinkController.php | 41 + .../Auth/RegisteredUserController.php | 51 + .../Auth/VerifyEmailController.php | 24 + app/Http/Controllers/Controller.php | 8 + .../Settings/PasswordController.php | 39 + .../Settings/ProfileController.php | 63 + app/Http/Middleware/ApiTokenAuth.php | 32 + app/Http/Middleware/HandleAppearance.php | 23 + app/Http/Middleware/HandleInertiaRequests.php | 51 + app/Http/Requests/Auth/LoginRequest.php | 88 + .../Settings/ProfileUpdateRequest.php | 32 + app/Models/Emotion.php | 27 + app/Models/Event.php | 29 + app/Models/EventType.php | 27 + app/Models/LegalPage.php | 18 + app/Models/Photo.php | 22 + app/Models/Task.php | 27 + app/Models/Tenant.php | 21 + app/Models/User.php | 54 + app/Providers/AppServiceProvider.php | 24 + .../Filament/SuperAdminPanelProvider.php | 63 + app/Support/ImageHelper.php | 69 + artisan | 18 + bootstrap/app.php | 27 + bootstrap/cache/.gitignore | 2 + bootstrap/providers.php | 6 + components.json | 21 + composer.json | 85 + composer.lock | 10830 ++++++++++++++++ composer.phar | Bin 0 -> 3124368 bytes config/app.php | 126 + config/auth.php | 115 + config/cache.php | 108 + config/database.php | 182 + config/filesystems.php | 80 + config/inertia.php | 55 + config/logging.php | 132 + config/mail.php | 116 + config/queue.php | 112 + config/services.php | 38 + config/session.php | 217 + database/.gitignore | 1 + database/factories/UserFactory.php | 44 + .../0001_01_01_000000_create_users_table.php | 49 + .../0001_01_01_000001_create_cache_table.php | 35 + .../0001_01_01_000002_create_jobs_table.php | 57 + ..._09_01_100000_create_event_types_table.php | 25 + ...025_09_01_100100_create_emotions_table.php | 34 + .../2025_09_01_100200_create_events_table.php | 29 + .../2025_09_01_100300_create_tasks_table.php | 29 + ..._100400_create_photos_and_likes_tables.php | 40 + ..._09_01_100500_create_legal_pages_table.php | 29 + ...5_09_01_101000_add_role_to_users_table.php | 22 + ...39_create_personal_access_tokens_table.php | 33 + ..._122009_create_task_collections_tables.php | 29 + ...09_03_122018_create_task_imports_table.php | 28 + ..._add_two_factor_columns_to_users_table.php | 28 + ...2025_09_08_000100_create_tenants_table.php | 42 + ...00200_add_tenant_fields_to_users_table.php | 38 + ...8_000300_add_tenant_id_to_events_table.php | 36 + database/seeders/DatabaseSeeder.php | 31 + database/seeders/DemoAchievementsSeeder.php | 73 + database/seeders/DemoEventSeeder.php | 24 + database/seeders/EmotionsSeeder.php | 44 + database/seeders/EventTasksSeeder.php | 244 + database/seeders/EventTypesSeeder.php | 23 + database/seeders/SuperAdminSeeder.php | 22 + database/seeders/TasksSeeder.php | 48 + database/seeders/WeddingTasksSeeder.php | 107 + docs/adr/ADR-0006-tenant-admin-pwa.md | 43 + docs/changes/2025-09-08-session.md | 16 + ...rp-addendum-2025-09-08-tenant-admin-pwa.md | 45 + docs/prp/01-architecture.md | 15 + docs/prp/02-tenancy.md | 21 + docs/prp/03-api.md | 30 + docs/prp/04-data-model-migrations.md | 213 + docs/prp/05-admin-superadmin.md | 10 + docs/prp/06-tenant-admin-pwa.md | 22 + docs/prp/07-guest-pwa-routes-components.md | 153 + docs/prp/07-guest-pwa.md | 119 + docs/prp/08-billing.md | 7 + docs/prp/09-security-compliance.md | 8 + docs/prp/10-storage-media-pipeline.md | 7 + docs/prp/11-ops-ci-cd.md | 7 + docs/prp/12-i18n.md | 6 + docs/prp/99-glossary.md | 7 + docs/prp/README.md | 24 + docs/wireframes/guest-pwa.md | 185 + eslint.config.js | 44 + fotospiel_prp.bak | 3740 ++++++ fotospiel_prp.md | 3740 ++++++ gogs.ini | 2 + package-lock.json | 7240 +++++++++++ package.json | 65 + pages.txt | 98 + phpunit.xml | 33 + public/.htaccess | 25 + public/apple-touch-icon.png | Bin 0 -> 1662 bytes public/css/filament/filament/app.css | 2 + public/favicon.ico | Bin 0 -> 4286 bytes public/favicon.svg | 3 + .../fonts/filament/filament/inter/index.css | 1 + ...er-cyrillic-ext-wght-normal-ASVAGXXE.woff2 | Bin 0 -> 25888 bytes ...er-cyrillic-ext-wght-normal-XKHXBTUO.woff2 | Bin 0 -> 27284 bytes .../inter-cyrillic-wght-normal-EWLSKVKN.woff2 | Bin 0 -> 18740 bytes .../inter-cyrillic-wght-normal-R5CMSONN.woff2 | Bin 0 -> 17600 bytes ...inter-greek-ext-wght-normal-7GGTF7EK.woff2 | Bin 0 -> 11200 bytes ...inter-greek-ext-wght-normal-ZEVLMORV.woff2 | Bin 0 -> 12732 bytes .../inter-greek-wght-normal-AXVTPQD5.woff2 | Bin 0 -> 22480 bytes .../inter-greek-wght-normal-N43DBLU2.woff2 | Bin 0 -> 19072 bytes ...inter-latin-ext-wght-normal-5SRY4DMZ.woff2 | Bin 0 -> 74328 bytes ...inter-latin-ext-wght-normal-GZCIV3NH.woff2 | Bin 0 -> 79940 bytes ...inter-latin-ext-wght-normal-HA22NDSG.woff2 | Bin 0 -> 85068 bytes .../inter-latin-wght-normal-NRMW37G5.woff2 | Bin 0 -> 48256 bytes .../inter-latin-wght-normal-O25CN4JL.woff2 | Bin 0 -> 48444 bytes .../inter-latin-wght-normal-OPIJAQLS.woff2 | Bin 0 -> 46704 bytes ...nter-vietnamese-wght-normal-CE5GGD3W.woff2 | Bin 0 -> 10252 bytes ...nter-vietnamese-wght-normal-TWG5UU7E.woff2 | Bin 0 -> 10540 bytes public/guest-sw.js | 42 + public/index.php | 20 + public/js/filament/actions/actions.js | 1 + public/js/filament/filament/app.js | 1 + public/js/filament/filament/echo.js | 13 + .../forms/components/checkbox-list.js | 1 + .../filament/forms/components/code-editor.js | 37 + .../filament/forms/components/color-picker.js | 1 + .../forms/components/date-time-picker.js | 1 + .../filament/forms/components/file-upload.js | 123 + .../js/filament/forms/components/key-value.js | 1 + .../forms/components/markdown-editor.js | 51 + .../filament/forms/components/rich-editor.js | 93 + public/js/filament/forms/components/select.js | 1 + public/js/filament/forms/components/slider.js | 1 + .../filament/forms/components/tags-input.js | 1 + .../js/filament/forms/components/textarea.js | 1 + .../filament/notifications/notifications.js | 1 + .../js/filament/schemas/components/actions.js | 1 + public/js/filament/schemas/components/tabs.js | 1 + .../js/filament/schemas/components/wizard.js | 1 + public/js/filament/schemas/schemas.js | 1 + public/js/filament/support/support.js | 46 + .../tables/components/columns/checkbox.js | 1 + .../tables/components/columns/select.js | 1 + .../tables/components/columns/text-input.js | 1 + .../tables/components/columns/toggle.js | 1 + public/js/filament/tables/tables.js | 1 + .../js/filament/widgets/components/chart.js | 30 + .../components/stats-overview/stat/chart.js | 22 + public/logo.svg | 16 + public/robots.txt | 2 + resources/css/app.css | 141 + resources/js/admin/api.ts | 94 + resources/js/admin/main.tsx | 15 + resources/js/admin/pages/EventDetailPage.tsx | 77 + resources/js/admin/pages/EventFormPage.tsx | 44 + resources/js/admin/pages/EventPhotosPage.tsx | 47 + resources/js/admin/pages/EventsPage.tsx | 53 + resources/js/admin/pages/LoginPage.tsx | 43 + resources/js/admin/pages/SettingsPage.tsx | 23 + resources/js/admin/router.tsx | 32 + resources/js/app.tsx | 24 + resources/js/components/app-content.tsx | 18 + resources/js/components/app-header.tsx | 183 + resources/js/components/app-logo-icon.tsx | 13 + resources/js/components/app-logo.tsx | 14 + resources/js/components/app-shell.tsx | 18 + .../js/components/app-sidebar-header.tsx | 14 + resources/js/components/app-sidebar.tsx | 57 + .../js/components/appearance-dropdown.tsx | 53 + resources/js/components/appearance-tabs.tsx | 34 + resources/js/components/breadcrumbs.tsx | 34 + resources/js/components/delete-user.tsx | 81 + resources/js/components/heading-small.tsx | 8 + resources/js/components/heading.tsx | 8 + resources/js/components/icon.tsx | 11 + resources/js/components/input-error.tsx | 10 + resources/js/components/nav-footer.tsx | 34 + resources/js/components/nav-main.tsx | 28 + resources/js/components/nav-user.tsx | 36 + resources/js/components/text-link.tsx | 19 + resources/js/components/ui/alert.tsx | 66 + resources/js/components/ui/avatar.tsx | 51 + resources/js/components/ui/badge.tsx | 46 + resources/js/components/ui/breadcrumb.tsx | 109 + resources/js/components/ui/button.tsx | 58 + resources/js/components/ui/card.tsx | 68 + resources/js/components/ui/checkbox.tsx | 30 + resources/js/components/ui/collapsible.tsx | 31 + resources/js/components/ui/dialog.tsx | 133 + resources/js/components/ui/dropdown-menu.tsx | 255 + resources/js/components/ui/icon.tsx | 14 + resources/js/components/ui/input.tsx | 21 + resources/js/components/ui/label.tsx | 22 + .../js/components/ui/navigation-menu.tsx | 168 + .../js/components/ui/placeholder-pattern.tsx | 20 + resources/js/components/ui/select.tsx | 179 + resources/js/components/ui/separator.tsx | 26 + resources/js/components/ui/sheet.tsx | 137 + resources/js/components/ui/sidebar.tsx | 721 + resources/js/components/ui/skeleton.tsx | 13 + resources/js/components/ui/toggle-group.tsx | 71 + resources/js/components/ui/toggle.tsx | 45 + resources/js/components/ui/tooltip.tsx | 59 + resources/js/components/user-info.tsx | 22 + resources/js/components/user-menu-content.tsx | 47 + resources/js/guest/components/BottomNav.tsx | 38 + resources/js/guest/components/FiltersBar.tsx | 17 + resources/js/guest/components/Header.tsx | 89 + resources/js/guest/components/ToastHost.tsx | 38 + resources/js/guest/lib/device.ts | 19 + resources/js/guest/lib/image.ts | 91 + resources/js/guest/main.tsx | 32 + resources/js/guest/pages/AchievementsPage.tsx | 11 + resources/js/guest/pages/GalleryPage.tsx | 87 + resources/js/guest/pages/HomePage.tsx | 33 + resources/js/guest/pages/LandingPage.tsx | 51 + resources/js/guest/pages/LegalPage.tsx | 13 + resources/js/guest/pages/NotFoundPage.tsx | 11 + resources/js/guest/pages/PhotoLightbox.tsx | 63 + resources/js/guest/pages/ProfileSetupPage.tsx | 13 + resources/js/guest/pages/SettingsPage.tsx | 16 + resources/js/guest/pages/SlideshowPage.tsx | 11 + resources/js/guest/pages/TaskDetailPage.tsx | 11 + resources/js/guest/pages/TaskPickerPage.tsx | 11 + resources/js/guest/pages/UploadPage.tsx | 99 + resources/js/guest/pages/UploadQueuePage.tsx | 11 + resources/js/guest/pages/_util.tsx | 11 + .../js/guest/polling/usePollGalleryDelta.ts | 42 + resources/js/guest/polling/usePollStats.ts | 39 + resources/js/guest/queue/hooks.ts | 40 + resources/js/guest/queue/idb.ts | 34 + resources/js/guest/queue/notify.ts | 11 + resources/js/guest/queue/queue.ts | 113 + resources/js/guest/queue/xhr.ts | 33 + resources/js/guest/router.tsx | 66 + resources/js/guest/services/photosApi.ts | 15 + resources/js/hooks/use-appearance.tsx | 74 + resources/js/hooks/use-initials.tsx | 15 + resources/js/hooks/use-mobile-navigation.ts | 8 + resources/js/hooks/use-mobile.tsx | 22 + resources/js/layouts/app-layout.tsx | 14 + .../js/layouts/app/app-header-layout.tsx | 14 + .../js/layouts/app/app-sidebar-layout.tsx | 18 + resources/js/layouts/auth-layout.tsx | 9 + .../js/layouts/auth/auth-card-layout.tsx | 37 + .../js/layouts/auth/auth-simple-layout.tsx | 35 + .../js/layouts/auth/auth-split-layout.tsx | 46 + resources/js/layouts/settings/layout.tsx | 72 + resources/js/lib/utils.ts | 6 + resources/js/pages/auth/confirm-password.tsx | 39 + resources/js/pages/auth/forgot-password.tsx | 49 + resources/js/pages/auth/login.tsx | 88 + resources/js/pages/auth/register.tsx | 100 + resources/js/pages/auth/reset-password.tsx | 70 + resources/js/pages/auth/verify-email.tsx | 38 + resources/js/pages/dashboard.tsx | 36 + resources/js/pages/settings/appearance.tsx | 31 + resources/js/pages/settings/password.tsx | 122 + resources/js/pages/settings/profile.tsx | 120 + resources/js/pages/welcome.tsx | 792 ++ resources/js/ssr.tsx | 18 + resources/js/types/index.d.ts | 42 + resources/js/types/vite-env.d.ts | 1 + resources/views/admin.blade.php | 13 + resources/views/app.blade.php | 49 + .../views/filament/events/join-link.blade.php | 15 + resources/views/guest.blade.php | 13 + routes/auth.php | 60 + routes/console.php | 8 + routes/settings.php | 24 + routes/web.php | 82 + storage/app/.gitignore | 4 + storage/app/private/.gitignore | 2 + storage/app/public/.gitignore | 2 + storage/framework/.gitignore | 9 + storage/framework/cache/.gitignore | 3 + storage/framework/cache/data/.gitignore | 2 + storage/framework/sessions/.gitignore | 2 + storage/framework/testing/.gitignore | 2 + storage/framework/views/.gitignore | 2 + storage/logs/.gitignore | 2 + tests/Feature/Auth/AuthenticationTest.php | 79 + tests/Feature/Auth/EmailVerificationTest.php | 107 + .../Feature/Auth/PasswordConfirmationTest.php | 44 + tests/Feature/Auth/PasswordResetTest.php | 87 + tests/Feature/Auth/RegistrationTest.php | 31 + .../Auth/VerificationNotificationTest.php | 44 + tests/Feature/DashboardTest.php | 24 + tests/Feature/Settings/PasswordUpdateTest.php | 62 + tests/Feature/Settings/ProfileUpdateTest.php | 99 + tests/TestCase.php | 10 + tests/Unit/ExampleTest.php | 16 + tsconfig.json | 117 + vite.config.ts | 23 + 327 files changed, 40952 insertions(+) create mode 100644 .editorconfig create mode 100644 .env.example create mode 100644 .gitattributes create mode 100644 .github/workflows/lint.yml create mode 100644 .github/workflows/tests.yml create mode 100644 .gitignore create mode 100644 .prettierignore create mode 100644 .prettierrc create mode 100644 AGENTS.md create mode 100644 PWA_Wireframes.txt create mode 100644 app/Console/Commands/AddDummyTenantUser.php create mode 100644 app/Console/Commands/AttachDemoEvent.php create mode 100644 app/Console/Commands/BackfillThumbnails.php create mode 100644 app/Filament/Resources/EmotionResource.php create mode 100644 app/Filament/Resources/EventResource.php create mode 100644 app/Filament/Resources/EventTypeResource.php create mode 100644 app/Filament/Resources/LegalPageResource.php create mode 100644 app/Filament/Resources/PhotoResource.php create mode 100644 app/Filament/Resources/TaskResource.php create mode 100644 app/Filament/Resources/TenantResource.php create mode 100644 app/Filament/Widgets/EventsActiveToday.php create mode 100644 app/Filament/Widgets/PlatformStatsWidget.php create mode 100644 app/Filament/Widgets/RecentPhotosTable.php create mode 100644 app/Filament/Widgets/TopTenantsByUploads.php create mode 100644 app/Filament/Widgets/UploadsPerDayChart.php create mode 100644 app/Http/Controllers/Admin/QrController.php create mode 100644 app/Http/Controllers/Api/EventPublicController.php create mode 100644 app/Http/Controllers/Api/TenantController.php create mode 100644 app/Http/Controllers/Auth/AuthenticatedSessionController.php create mode 100644 app/Http/Controllers/Auth/ConfirmablePasswordController.php create mode 100644 app/Http/Controllers/Auth/EmailVerificationNotificationController.php create mode 100644 app/Http/Controllers/Auth/EmailVerificationPromptController.php create mode 100644 app/Http/Controllers/Auth/NewPasswordController.php create mode 100644 app/Http/Controllers/Auth/PasswordResetLinkController.php create mode 100644 app/Http/Controllers/Auth/RegisteredUserController.php create mode 100644 app/Http/Controllers/Auth/VerifyEmailController.php create mode 100644 app/Http/Controllers/Controller.php create mode 100644 app/Http/Controllers/Settings/PasswordController.php create mode 100644 app/Http/Controllers/Settings/ProfileController.php create mode 100644 app/Http/Middleware/ApiTokenAuth.php create mode 100644 app/Http/Middleware/HandleAppearance.php create mode 100644 app/Http/Middleware/HandleInertiaRequests.php create mode 100644 app/Http/Requests/Auth/LoginRequest.php create mode 100644 app/Http/Requests/Settings/ProfileUpdateRequest.php create mode 100644 app/Models/Emotion.php create mode 100644 app/Models/Event.php create mode 100644 app/Models/EventType.php create mode 100644 app/Models/LegalPage.php create mode 100644 app/Models/Photo.php create mode 100644 app/Models/Task.php create mode 100644 app/Models/Tenant.php create mode 100644 app/Models/User.php create mode 100644 app/Providers/AppServiceProvider.php create mode 100644 app/Providers/Filament/SuperAdminPanelProvider.php create mode 100644 app/Support/ImageHelper.php create mode 100644 artisan create mode 100644 bootstrap/app.php create mode 100644 bootstrap/cache/.gitignore create mode 100644 bootstrap/providers.php create mode 100644 components.json create mode 100644 composer.json create mode 100644 composer.lock create mode 100644 composer.phar create mode 100644 config/app.php create mode 100644 config/auth.php create mode 100644 config/cache.php create mode 100644 config/database.php create mode 100644 config/filesystems.php create mode 100644 config/inertia.php create mode 100644 config/logging.php create mode 100644 config/mail.php create mode 100644 config/queue.php create mode 100644 config/services.php create mode 100644 config/session.php create mode 100644 database/.gitignore create mode 100644 database/factories/UserFactory.php create mode 100644 database/migrations/0001_01_01_000000_create_users_table.php create mode 100644 database/migrations/0001_01_01_000001_create_cache_table.php create mode 100644 database/migrations/0001_01_01_000002_create_jobs_table.php create mode 100644 database/migrations/2025_09_01_100000_create_event_types_table.php create mode 100644 database/migrations/2025_09_01_100100_create_emotions_table.php create mode 100644 database/migrations/2025_09_01_100200_create_events_table.php create mode 100644 database/migrations/2025_09_01_100300_create_tasks_table.php create mode 100644 database/migrations/2025_09_01_100400_create_photos_and_likes_tables.php create mode 100644 database/migrations/2025_09_01_100500_create_legal_pages_table.php create mode 100644 database/migrations/2025_09_01_101000_add_role_to_users_table.php create mode 100644 database/migrations/2025_09_01_184839_create_personal_access_tokens_table.php create mode 100644 database/migrations/2025_09_03_122009_create_task_collections_tables.php create mode 100644 database/migrations/2025_09_03_122018_create_task_imports_table.php create mode 100644 database/migrations/2025_09_05_000001_add_two_factor_columns_to_users_table.php create mode 100644 database/migrations/2025_09_08_000100_create_tenants_table.php create mode 100644 database/migrations/2025_09_08_000200_add_tenant_fields_to_users_table.php create mode 100644 database/migrations/2025_09_08_000300_add_tenant_id_to_events_table.php create mode 100644 database/seeders/DatabaseSeeder.php create mode 100644 database/seeders/DemoAchievementsSeeder.php create mode 100644 database/seeders/DemoEventSeeder.php create mode 100644 database/seeders/EmotionsSeeder.php create mode 100644 database/seeders/EventTasksSeeder.php create mode 100644 database/seeders/EventTypesSeeder.php create mode 100644 database/seeders/SuperAdminSeeder.php create mode 100644 database/seeders/TasksSeeder.php create mode 100644 database/seeders/WeddingTasksSeeder.php create mode 100644 docs/adr/ADR-0006-tenant-admin-pwa.md create mode 100644 docs/changes/2025-09-08-session.md create mode 100644 docs/prp-addendum-2025-09-08-tenant-admin-pwa.md create mode 100644 docs/prp/01-architecture.md create mode 100644 docs/prp/02-tenancy.md create mode 100644 docs/prp/03-api.md create mode 100644 docs/prp/04-data-model-migrations.md create mode 100644 docs/prp/05-admin-superadmin.md create mode 100644 docs/prp/06-tenant-admin-pwa.md create mode 100644 docs/prp/07-guest-pwa-routes-components.md create mode 100644 docs/prp/07-guest-pwa.md create mode 100644 docs/prp/08-billing.md create mode 100644 docs/prp/09-security-compliance.md create mode 100644 docs/prp/10-storage-media-pipeline.md create mode 100644 docs/prp/11-ops-ci-cd.md create mode 100644 docs/prp/12-i18n.md create mode 100644 docs/prp/99-glossary.md create mode 100644 docs/prp/README.md create mode 100644 docs/wireframes/guest-pwa.md create mode 100644 eslint.config.js create mode 100644 fotospiel_prp.bak create mode 100644 fotospiel_prp.md create mode 100644 gogs.ini create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 pages.txt create mode 100644 phpunit.xml create mode 100644 public/.htaccess create mode 100644 public/apple-touch-icon.png create mode 100644 public/css/filament/filament/app.css create mode 100644 public/favicon.ico create mode 100644 public/favicon.svg create mode 100644 public/fonts/filament/filament/inter/index.css create mode 100644 public/fonts/filament/filament/inter/inter-cyrillic-ext-wght-normal-ASVAGXXE.woff2 create mode 100644 public/fonts/filament/filament/inter/inter-cyrillic-ext-wght-normal-XKHXBTUO.woff2 create mode 100644 public/fonts/filament/filament/inter/inter-cyrillic-wght-normal-EWLSKVKN.woff2 create mode 100644 public/fonts/filament/filament/inter/inter-cyrillic-wght-normal-R5CMSONN.woff2 create mode 100644 public/fonts/filament/filament/inter/inter-greek-ext-wght-normal-7GGTF7EK.woff2 create mode 100644 public/fonts/filament/filament/inter/inter-greek-ext-wght-normal-ZEVLMORV.woff2 create mode 100644 public/fonts/filament/filament/inter/inter-greek-wght-normal-AXVTPQD5.woff2 create mode 100644 public/fonts/filament/filament/inter/inter-greek-wght-normal-N43DBLU2.woff2 create mode 100644 public/fonts/filament/filament/inter/inter-latin-ext-wght-normal-5SRY4DMZ.woff2 create mode 100644 public/fonts/filament/filament/inter/inter-latin-ext-wght-normal-GZCIV3NH.woff2 create mode 100644 public/fonts/filament/filament/inter/inter-latin-ext-wght-normal-HA22NDSG.woff2 create mode 100644 public/fonts/filament/filament/inter/inter-latin-wght-normal-NRMW37G5.woff2 create mode 100644 public/fonts/filament/filament/inter/inter-latin-wght-normal-O25CN4JL.woff2 create mode 100644 public/fonts/filament/filament/inter/inter-latin-wght-normal-OPIJAQLS.woff2 create mode 100644 public/fonts/filament/filament/inter/inter-vietnamese-wght-normal-CE5GGD3W.woff2 create mode 100644 public/fonts/filament/filament/inter/inter-vietnamese-wght-normal-TWG5UU7E.woff2 create mode 100644 public/guest-sw.js create mode 100644 public/index.php create mode 100644 public/js/filament/actions/actions.js create mode 100644 public/js/filament/filament/app.js create mode 100644 public/js/filament/filament/echo.js create mode 100644 public/js/filament/forms/components/checkbox-list.js create mode 100644 public/js/filament/forms/components/code-editor.js create mode 100644 public/js/filament/forms/components/color-picker.js create mode 100644 public/js/filament/forms/components/date-time-picker.js create mode 100644 public/js/filament/forms/components/file-upload.js create mode 100644 public/js/filament/forms/components/key-value.js create mode 100644 public/js/filament/forms/components/markdown-editor.js create mode 100644 public/js/filament/forms/components/rich-editor.js create mode 100644 public/js/filament/forms/components/select.js create mode 100644 public/js/filament/forms/components/slider.js create mode 100644 public/js/filament/forms/components/tags-input.js create mode 100644 public/js/filament/forms/components/textarea.js create mode 100644 public/js/filament/notifications/notifications.js create mode 100644 public/js/filament/schemas/components/actions.js create mode 100644 public/js/filament/schemas/components/tabs.js create mode 100644 public/js/filament/schemas/components/wizard.js create mode 100644 public/js/filament/schemas/schemas.js create mode 100644 public/js/filament/support/support.js create mode 100644 public/js/filament/tables/components/columns/checkbox.js create mode 100644 public/js/filament/tables/components/columns/select.js create mode 100644 public/js/filament/tables/components/columns/text-input.js create mode 100644 public/js/filament/tables/components/columns/toggle.js create mode 100644 public/js/filament/tables/tables.js create mode 100644 public/js/filament/widgets/components/chart.js create mode 100644 public/js/filament/widgets/components/stats-overview/stat/chart.js create mode 100644 public/logo.svg create mode 100644 public/robots.txt create mode 100644 resources/css/app.css create mode 100644 resources/js/admin/api.ts create mode 100644 resources/js/admin/main.tsx create mode 100644 resources/js/admin/pages/EventDetailPage.tsx create mode 100644 resources/js/admin/pages/EventFormPage.tsx create mode 100644 resources/js/admin/pages/EventPhotosPage.tsx create mode 100644 resources/js/admin/pages/EventsPage.tsx create mode 100644 resources/js/admin/pages/LoginPage.tsx create mode 100644 resources/js/admin/pages/SettingsPage.tsx create mode 100644 resources/js/admin/router.tsx create mode 100644 resources/js/app.tsx create mode 100644 resources/js/components/app-content.tsx create mode 100644 resources/js/components/app-header.tsx create mode 100644 resources/js/components/app-logo-icon.tsx create mode 100644 resources/js/components/app-logo.tsx create mode 100644 resources/js/components/app-shell.tsx create mode 100644 resources/js/components/app-sidebar-header.tsx create mode 100644 resources/js/components/app-sidebar.tsx create mode 100644 resources/js/components/appearance-dropdown.tsx create mode 100644 resources/js/components/appearance-tabs.tsx create mode 100644 resources/js/components/breadcrumbs.tsx create mode 100644 resources/js/components/delete-user.tsx create mode 100644 resources/js/components/heading-small.tsx create mode 100644 resources/js/components/heading.tsx create mode 100644 resources/js/components/icon.tsx create mode 100644 resources/js/components/input-error.tsx create mode 100644 resources/js/components/nav-footer.tsx create mode 100644 resources/js/components/nav-main.tsx create mode 100644 resources/js/components/nav-user.tsx create mode 100644 resources/js/components/text-link.tsx create mode 100644 resources/js/components/ui/alert.tsx create mode 100644 resources/js/components/ui/avatar.tsx create mode 100644 resources/js/components/ui/badge.tsx create mode 100644 resources/js/components/ui/breadcrumb.tsx create mode 100644 resources/js/components/ui/button.tsx create mode 100644 resources/js/components/ui/card.tsx create mode 100644 resources/js/components/ui/checkbox.tsx create mode 100644 resources/js/components/ui/collapsible.tsx create mode 100644 resources/js/components/ui/dialog.tsx create mode 100644 resources/js/components/ui/dropdown-menu.tsx create mode 100644 resources/js/components/ui/icon.tsx create mode 100644 resources/js/components/ui/input.tsx create mode 100644 resources/js/components/ui/label.tsx create mode 100644 resources/js/components/ui/navigation-menu.tsx create mode 100644 resources/js/components/ui/placeholder-pattern.tsx create mode 100644 resources/js/components/ui/select.tsx create mode 100644 resources/js/components/ui/separator.tsx create mode 100644 resources/js/components/ui/sheet.tsx create mode 100644 resources/js/components/ui/sidebar.tsx create mode 100644 resources/js/components/ui/skeleton.tsx create mode 100644 resources/js/components/ui/toggle-group.tsx create mode 100644 resources/js/components/ui/toggle.tsx create mode 100644 resources/js/components/ui/tooltip.tsx create mode 100644 resources/js/components/user-info.tsx create mode 100644 resources/js/components/user-menu-content.tsx create mode 100644 resources/js/guest/components/BottomNav.tsx create mode 100644 resources/js/guest/components/FiltersBar.tsx create mode 100644 resources/js/guest/components/Header.tsx create mode 100644 resources/js/guest/components/ToastHost.tsx create mode 100644 resources/js/guest/lib/device.ts create mode 100644 resources/js/guest/lib/image.ts create mode 100644 resources/js/guest/main.tsx create mode 100644 resources/js/guest/pages/AchievementsPage.tsx create mode 100644 resources/js/guest/pages/GalleryPage.tsx create mode 100644 resources/js/guest/pages/HomePage.tsx create mode 100644 resources/js/guest/pages/LandingPage.tsx create mode 100644 resources/js/guest/pages/LegalPage.tsx create mode 100644 resources/js/guest/pages/NotFoundPage.tsx create mode 100644 resources/js/guest/pages/PhotoLightbox.tsx create mode 100644 resources/js/guest/pages/ProfileSetupPage.tsx create mode 100644 resources/js/guest/pages/SettingsPage.tsx create mode 100644 resources/js/guest/pages/SlideshowPage.tsx create mode 100644 resources/js/guest/pages/TaskDetailPage.tsx create mode 100644 resources/js/guest/pages/TaskPickerPage.tsx create mode 100644 resources/js/guest/pages/UploadPage.tsx create mode 100644 resources/js/guest/pages/UploadQueuePage.tsx create mode 100644 resources/js/guest/pages/_util.tsx create mode 100644 resources/js/guest/polling/usePollGalleryDelta.ts create mode 100644 resources/js/guest/polling/usePollStats.ts create mode 100644 resources/js/guest/queue/hooks.ts create mode 100644 resources/js/guest/queue/idb.ts create mode 100644 resources/js/guest/queue/notify.ts create mode 100644 resources/js/guest/queue/queue.ts create mode 100644 resources/js/guest/queue/xhr.ts create mode 100644 resources/js/guest/router.tsx create mode 100644 resources/js/guest/services/photosApi.ts create mode 100644 resources/js/hooks/use-appearance.tsx create mode 100644 resources/js/hooks/use-initials.tsx create mode 100644 resources/js/hooks/use-mobile-navigation.ts create mode 100644 resources/js/hooks/use-mobile.tsx create mode 100644 resources/js/layouts/app-layout.tsx create mode 100644 resources/js/layouts/app/app-header-layout.tsx create mode 100644 resources/js/layouts/app/app-sidebar-layout.tsx create mode 100644 resources/js/layouts/auth-layout.tsx create mode 100644 resources/js/layouts/auth/auth-card-layout.tsx create mode 100644 resources/js/layouts/auth/auth-simple-layout.tsx create mode 100644 resources/js/layouts/auth/auth-split-layout.tsx create mode 100644 resources/js/layouts/settings/layout.tsx create mode 100644 resources/js/lib/utils.ts create mode 100644 resources/js/pages/auth/confirm-password.tsx create mode 100644 resources/js/pages/auth/forgot-password.tsx create mode 100644 resources/js/pages/auth/login.tsx create mode 100644 resources/js/pages/auth/register.tsx create mode 100644 resources/js/pages/auth/reset-password.tsx create mode 100644 resources/js/pages/auth/verify-email.tsx create mode 100644 resources/js/pages/dashboard.tsx create mode 100644 resources/js/pages/settings/appearance.tsx create mode 100644 resources/js/pages/settings/password.tsx create mode 100644 resources/js/pages/settings/profile.tsx create mode 100644 resources/js/pages/welcome.tsx create mode 100644 resources/js/ssr.tsx create mode 100644 resources/js/types/index.d.ts create mode 100644 resources/js/types/vite-env.d.ts create mode 100644 resources/views/admin.blade.php create mode 100644 resources/views/app.blade.php create mode 100644 resources/views/filament/events/join-link.blade.php create mode 100644 resources/views/guest.blade.php create mode 100644 routes/auth.php create mode 100644 routes/console.php create mode 100644 routes/settings.php create mode 100644 routes/web.php create mode 100644 storage/app/.gitignore create mode 100644 storage/app/private/.gitignore create mode 100644 storage/app/public/.gitignore create mode 100644 storage/framework/.gitignore create mode 100644 storage/framework/cache/.gitignore create mode 100644 storage/framework/cache/data/.gitignore create mode 100644 storage/framework/sessions/.gitignore create mode 100644 storage/framework/testing/.gitignore create mode 100644 storage/framework/views/.gitignore create mode 100644 storage/logs/.gitignore create mode 100644 tests/Feature/Auth/AuthenticationTest.php create mode 100644 tests/Feature/Auth/EmailVerificationTest.php create mode 100644 tests/Feature/Auth/PasswordConfirmationTest.php create mode 100644 tests/Feature/Auth/PasswordResetTest.php create mode 100644 tests/Feature/Auth/RegistrationTest.php create mode 100644 tests/Feature/Auth/VerificationNotificationTest.php create mode 100644 tests/Feature/DashboardTest.php create mode 100644 tests/Feature/Settings/PasswordUpdateTest.php create mode 100644 tests/Feature/Settings/ProfileUpdateTest.php create mode 100644 tests/TestCase.php create mode 100644 tests/Unit/ExampleTest.php create mode 100644 tsconfig.json create mode 100644 vite.config.ts diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..8f0de65 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,18 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 4 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false + +[*.{yml,yaml}] +indent_size = 2 + +[docker-compose.yml] +indent_size = 4 diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..35db1dd --- /dev/null +++ b/.env.example @@ -0,0 +1,65 @@ +APP_NAME=Laravel +APP_ENV=local +APP_KEY= +APP_DEBUG=true +APP_URL=http://localhost + +APP_LOCALE=en +APP_FALLBACK_LOCALE=en +APP_FAKER_LOCALE=en_US + +APP_MAINTENANCE_DRIVER=file +# APP_MAINTENANCE_STORE=database + +PHP_CLI_SERVER_WORKERS=4 + +BCRYPT_ROUNDS=12 + +LOG_CHANNEL=stack +LOG_STACK=single +LOG_DEPRECATIONS_CHANNEL=null +LOG_LEVEL=debug + +DB_CONNECTION=sqlite +# DB_HOST=127.0.0.1 +# DB_PORT=3306 +# DB_DATABASE=laravel +# DB_USERNAME=root +# DB_PASSWORD= + +SESSION_DRIVER=database +SESSION_LIFETIME=120 +SESSION_ENCRYPT=false +SESSION_PATH=/ +SESSION_DOMAIN=null + +BROADCAST_CONNECTION=log +FILESYSTEM_DISK=local +QUEUE_CONNECTION=database + +CACHE_STORE=database +# CACHE_PREFIX= + +MEMCACHED_HOST=127.0.0.1 + +REDIS_CLIENT=phpredis +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_MAILER=log +MAIL_SCHEME=null +MAIL_HOST=127.0.0.1 +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_FROM_ADDRESS="hello@example.com" +MAIL_FROM_NAME="${APP_NAME}" + +AWS_ACCESS_KEY_ID= +AWS_SECRET_ACCESS_KEY= +AWS_DEFAULT_REGION=us-east-1 +AWS_BUCKET= +AWS_USE_PATH_STYLE_ENDPOINT=false + +VITE_APP_NAME="${APP_NAME}" diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..f50f803 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,10 @@ +* text=auto eol=lf + +*.blade.php diff=html +*.css diff=css +*.html diff=html +*.md diff=markdown +*.php diff=php + +CHANGELOG.md export-ignore +README.md export-ignore diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..9f2ccc0 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,45 @@ +name: linter + +on: + push: + branches: + - develop + - main + pull_request: + branches: + - develop + - main + +permissions: + contents: write + +jobs: + quality: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.4' + + - name: Install Dependencies + run: | + composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist + npm install + + - name: Run Pint + run: vendor/bin/pint + + - name: Format Frontend + run: npm run format + + - name: Lint Frontend + run: npm run lint + + # - name: Commit Changes + # uses: stefanzweifel/git-auto-commit-action@v5 + # with: + # commit_message: fix code style + # commit_options: '--no-verify' diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..51b624a --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,50 @@ +name: tests + +on: + push: + branches: + - develop + - main + pull_request: + branches: + - develop + - main + +jobs: + ci: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: 8.4 + tools: composer:v2 + coverage: xdebug + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: '22' + cache: 'npm' + + - name: Install Node Dependencies + run: npm ci + + - name: Install Dependencies + run: composer install --no-interaction --prefer-dist --optimize-autoloader + + - name: Build Assets + run: npm run build + + - name: Copy Environment File + run: cp .env.example .env + + - name: Generate Application Key + run: php artisan key:generate + + - name: Tests + run: ./vendor/bin/phpunit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c625a11 --- /dev/null +++ b/.gitignore @@ -0,0 +1,27 @@ +/.phpunit.cache +/bootstrap/ssr +/node_modules +/public/build +/public/hot +/public/storage +/resources/js/actions +/resources/js/routes +/resources/js/wayfinder +/storage/*.key +/storage/pail +/vendor +.env +.env.backup +.env.production +.phpactor.json +.phpunit.result.cache +Homestead.json +Homestead.yaml +npm-debug.log +yarn-error.log +/auth.json +/.fleet +/.idea +/.nova +/.vscode +/.zed diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..6b929ae --- /dev/null +++ b/.prettierignore @@ -0,0 +1,2 @@ +resources/js/components/ui/* +resources/views/mail/* diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..5a33bc8 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,19 @@ +{ + "semi": true, + "singleQuote": true, + "singleAttributePerLine": false, + "htmlWhitespaceSensitivity": "css", + "printWidth": 150, + "plugins": ["prettier-plugin-organize-imports", "prettier-plugin-tailwindcss"], + "tailwindFunctions": ["clsx", "cn"], + "tailwindStylesheet": "resources/css/app.css", + "tabWidth": 4, + "overrides": [ + { + "files": "**/*.yml", + "options": { + "tabWidth": 2 + } + } + ] +} diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..fbe2ba9 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,60 @@ +# AGENTS.md — Agent Guidance for Event Photo Platform + +This repository hosts a multi-tenant event photo platform (Laravel 12, PHP 8.4, Filament 4, React/Vite PWA). This document defines how AI agents should operate in this repo: roles, permissions, safety rules, and standard workflows. It is the single source of truth for agent behavior. Per-agent details live in docs/agents/. + +## Purpose & Scope +- Provide clear guardrails and playbooks so agents can assist safely with code, docs, DevOps and project hygiene. +- Applies to the whole repo unless a component has an explicit per-agent policy in docs/agents/. + +## Roles +- Codegen Agent — implements and edits application code, tests and documentation within scoped tasks. See docs/agents/codegen.md. +- Ops Agent — automates tasks around CI/CD, releases, issue hygiene, and repo maintenance. See docs/agents/ops.md. +- (Optional) Docs Agent — maintains documentation quality; follow Codegen Agent rules with writing focus. + +## Global Policies +- Secrets & Credentials: + - Never commit secrets. The local file gogs.ini (token=…) is ignored via .gitignore and must not be printed into logs. + - ENV values in .env are sensitive; do not commit them or echo to build logs. +- Data Protection: + - Respect GDPR. Do not introduce PII logging. Legal content (Impressum, Privacy, AGB) is managed via Legal Pages resource. +- Safety & Access: + - Prefer least privilege. Do not alter production data or infrastructure from code without explicit human approval. + - When uncertain about a destructive operation, open a PR or create an Issue with a proposal. +- Source of Truth: + - Keep this AGENTS.md authoritative. If per-agent docs diverge, update this file and link the rationale. + +## Tools & Permissions +- Languages/Frameworks: PHP 8.3 (Laravel 12), JS/TS (React/Vite/Tailwind), Filament 4. +- Dev Commands: composer, npm, vite, artisan, PHPUnit, Pint/ESLint, Docker/Compose (for dev). +- Git Hosting: Gogs at http://192.168.78.2:10880 (token found locally in gogs.ini, never printed or committed). +- Issue API: Gogs REST /api/v1 for labels/issues/milestones (token auth). + +## Repo Structure (high-level) +- docs/prp/ — split PRP (authoritative). Start at docs/prp/README.md. +- fotospiel_prp.md — legacy monolithic PRP (historical reference; do not edit). +- TODO.md — prioritized backlog; mirrored into Issues by Ops Agent. + +## Standard Workflows +- Coding tasks (Codegen Agent): + 1) Understand scope; update or create a minimal plan. + 2) Edit code/docs via small, reviewable patches; keep changes focused. + 3) Add/update tests if behavior changes. + 4) Update docs when public surfaces change (PRP, docs/*). + 5) Propose follow-ups as Issues if out of scope. +- Issue hygiene (Ops Agent): + - Import TODO.md tasks as Issues with label TODO; group by Milestone (e.g., Now, Security & Compliance). + - Avoid duplicates by checking existing titles. +- Releases (Ops Agent): + - Tag with semantic version; generate changelog from commits/PRs; ensure legal pages and migration notes are updated. + +## Constraints & Red-Lines +- Do not introduce tracking beyond what is documented (anonymous session_id only for guest PWA). +- Do not weaken auth, CSRF, CORS, or role checks. +- Do not expand data retention without updating Privacy policy. + +## Change Management +- Propose updates to this file via PR. Include: + - Motivation and scope, affected agents, roll-out plan. + - Links to updated docs in docs/agents/. + +## References diff --git a/PWA_Wireframes.txt b/PWA_Wireframes.txt new file mode 100644 index 0000000..eb6610e --- /dev/null +++ b/PWA_Wireframes.txt @@ -0,0 +1,189 @@ + +# 📱 PWA Wireframes (Markdown) + +## Landingpage +-------------------------------------------------- +HEADER +[ Willkommen bei Fotochallenge 🎉 ] + +HAUPTBEREICH +Eingabe-Feld: [ QR-Code / Event-PIN ] +Button: [ ➡️ Event beitreten ] + +FOOTER +(none) +-------------------------------------------------- + +## Profil-Setup +-------------------------------------------------- +HEADER +[ Profil erstellen ] + +HAUPTBEREICH +Eingabefeld: [ Dein Name ] +Option: Avatar wählen (Rund-Icons) + +Button: [ ✅ Starten ] +-------------------------------------------------- + +## Startseite (Home) +-------------------------------------------------- +HEADER +[ Hochzeit Anna & Tom 🎉 ] (Avatar rechts) +📸 Dein Fotospiel zur Hochzeit – mach Aufgaben & teile Momente + +INFO-BAR +👥 37 Gäste online | ✅ 142 Aufgaben gelöst + +HAUPTBEREICH +[ 🎲 Aufgabe ziehen ] (großer Button, primär) +[ 😊 Wie fühlst du dich? ] (großer Button, sekundär) + +(kleiner Link unterhalb:) +[ 📸 Einfach ein Foto machen ] + +GALERIE / FEED +Filter: [ Neueste ] [ Beliebt ] [ Meine ] + +Foto-Kacheln mit ❤️ Like-Icon +-------------------------------------------------- +FOOTER-NAVI +🏠 Start 🎲 Aufgaben 🏆 Achievements 🖼️ Galerie +-------------------------------------------------- + +## Aufgaben-Picker +-------------------------------------------------- +HEADER +[ 🎲 Aufgabe ziehen ] (X schließen) + +HAUPTBEREICH +Option A: Zufallsaufgabe sofort anzeigen +Option B: Stimmung wählen (Emoji-Grid) + +😊 Emotionen (Grid): +🤪 Albern 🕺 Energetisch 🤗 Herzlich +😎 Cool 🧑‍🤝‍🧑 Gemeinsam 🧠 Kreativ +😌 Ruhig 🎯 Mutig + +Optional: +Slider "Energie-Level" +[ 🔋 niedrig | 🔋 mittel | 🔋 hoch ] + +BUTTON +[ 👉 Aufgabe anzeigen ] +-------------------------------------------------- + +## Aufgaben-Detail (Karte) +-------------------------------------------------- +HEADER +[ 🤪 Albern ] (X schließen) + +AUFGABEN-KARTE +📸 Aufgabe: +"Mach ein Selfie, bei dem alle in die falsche Richtung schauen." + +⏱️ Dauer: < 1 Min 👥 Gruppengröße: 2–5 + +BUTTONS +[ 📷 Los geht’s ] (Foto machen/hochladen) +[ ↻ Neue Aufgabe ] (gleiche Stimmung) +[ 😊 Andere Stimmung wählen ] (zurück zum Picker) +-------------------------------------------------- + +## Kamera/Upload +-------------------------------------------------- +HEADER +[ 📷 Foto aufnehmen ] + +HAUPTBEREICH +[ Kamera öffnen ] oder [ Foto hochladen ] + +Nach Upload: +✅ „Foto erfolgreich hochgeladen 🎉“ + +BUTTON +[ Galerie ansehen ] +-------------------------------------------------- + +## Galerie (Übersicht) +-------------------------------------------------- +HEADER +[ 📸 Galerie ] (Filter oben) + +FILTER +[ Neueste ] [ Beliebt ] [ Meine ] + +FOTOS (Kachel- oder Feed-Ansicht) +[ ❤️ 12 ] Foto 1 +[ ❤️ 5 ] Foto 2 +[ ❤️ 21 ] Foto 3 +... + +Tap → öffnet Foto-Detail +-------------------------------------------------- + +## Foto-Detailansicht +-------------------------------------------------- +HEADER +[ X Schließen ] + +HAUPTBEREICH +📷 Foto im Vollbild + +UNTER DEM FOTO +❤️ 23 Likes 🎉 4 Reaktionen +📸 Aufgabe: "Gruppenfoto mit mindestens 5 Personen" +👤 Hochgeladen von: „Lisa“ + +BUTTON +[ ❤️ Like ] +-------------------------------------------------- + +## Achievements / Erfolge +-------------------------------------------------- +HEADER +[ 🏆 Meine Erfolge ] + +HAUPTBEREICH +Badges: +🎊 Erstes Foto +🏅 5 Aufgaben erledigt +🔥 Beliebtestes Foto +👯 Gruppenfoto-König + +Fortschritt-Balken: (xx / yy Aufgaben) +-------------------------------------------------- + +## Optionale Seiten + +### Slideshow / Präsentation +-------------------------------------------------- +HEADER +[ 📽️ Slideshow-Modus ] + +HAUPTBEREICH +- Vollbild-Diashow der Galerie +- Automatischer Wechsel alle 5 Sek. +- Anzeige: Likes & Aufgabe +-------------------------------------------------- + +### Admin-Panel +-------------------------------------------------- +HEADER +[ 👑 Admin-Panel ] + +HAUPTBEREICH +- Fotos moderieren (löschen, hervorheben) +- Teilnehmer-Übersicht +-------------------------------------------------- + +### Event-Abschluss +-------------------------------------------------- +HEADER +[ 🎉 Danke fürs Mitmachen! ] + +HAUPTBEREICH +- Zusammenfassung: Anzahl Fotos, Aufgaben, Likes +- QR-Code oder Link zur Online-Galerie +- „Bis bald ❤️“ +-------------------------------------------------- diff --git a/app/Console/Commands/AddDummyTenantUser.php b/app/Console/Commands/AddDummyTenantUser.php new file mode 100644 index 0000000..b4af270 --- /dev/null +++ b/app/Console/Commands/AddDummyTenantUser.php @@ -0,0 +1,97 @@ +option('email'); + $password = (string) $this->option('password'); + $tenantName = (string) $this->option('tenant'); + $userName = (string) $this->option('name'); + + // Pre-flight checks for common failures + if (! Schema::hasTable('users')) { + $this->error("Table 'users' does not exist. Run: php artisan migrate"); + return self::FAILURE; + } + if (! Schema::hasTable('tenants')) { + $this->error("Table 'tenants' does not exist. Run: php artisan migrate"); + return self::FAILURE; + } + + DB::beginTransaction(); + try { + // Create or fetch tenant + $slug = Str::slug($tenantName ?: 'demo-tenant'); + /** @var Tenant $tenant */ + $tenant = Tenant::query()->where('slug', $slug)->first(); + if (! $tenant) { + $tenant = new Tenant(); + $tenant->name = $tenantName; + $tenant->slug = $slug; + $tenant->domain = null; + $tenant->contact_name = $userName; + $tenant->contact_email = $email; + $tenant->contact_phone = null; + $tenant->event_credits_balance = 1; + $tenant->max_photos_per_event = 500; + $tenant->max_storage_mb = 1024; + $tenant->features = ['custom_branding' => false]; + $tenant->save(); + } + + // Create or fetch user + /** @var User $user */ + $user = User::query()->where('email', $email)->first(); + $updatePassword = (bool) $this->option('update-password'); + if (! $user) { + $user = new User(); + if (Schema::hasColumn($user->getTable(), 'name')) $user->name = $userName; + $user->email = $email; + $user->password = Hash::make($password); + } else if ($updatePassword) { + $user->password = Hash::make($password); + } + if (Schema::hasColumn($user->getTable(), 'tenant_id')) { + $user->tenant_id = $tenant->id; + } + if (Schema::hasColumn($user->getTable(), 'role')) { + $user->role = 'tenant_admin'; + } + $user->save(); + + DB::commit(); + } catch (\Throwable $e) { + DB::rollBack(); + $this->error('Failed: '.$e->getMessage()); + return self::FAILURE; + } + + $this->info('Dummy tenant user created/updated.'); + $this->line('Tenant: '.$tenant->name.' (#'.$tenant->id.')'); + $this->line('Email: '.$email); + $this->line('Password: '.$password); + return self::SUCCESS; + } +} diff --git a/app/Console/Commands/AttachDemoEvent.php b/app/Console/Commands/AttachDemoEvent.php new file mode 100644 index 0000000..7e80d48 --- /dev/null +++ b/app/Console/Commands/AttachDemoEvent.php @@ -0,0 +1,85 @@ +error("Table 'events' does not exist. Run: php artisan migrate"); + return self::FAILURE; + } + if (! \Illuminate\Support\Facades\Schema::hasColumn('events', 'tenant_id')) { + $this->error("Column 'events.tenant_id' does not exist. Add it and rerun. Suggested: create a migration to add a nullable foreignId to tenants."); + return self::FAILURE; + } + $tenant = null; + if ($slug = $this->option('tenant-slug')) { + $tenant = Tenant::where('slug', $slug)->first(); + } + if (! $tenant) { + $email = (string) $this->option('tenant-email'); + /** @var User|null $user */ + $user = User::where('email', $email)->first(); + if ($user && $user->tenant_id) { + $tenant = Tenant::find($user->tenant_id); + } + } + if (! $tenant) { + $this->error('Tenant not found. Provide --tenant-slug or a user with tenant_id via --tenant-email.'); + return self::FAILURE; + } + + $event = null; + if ($id = $this->option('event-id')) { + $event = Event::find($id); + } elseif ($slug = $this->option('event-slug')) { + $event = Event::where('slug', $slug)->first(); + } else { + // Heuristics: first event without tenant, or a demo wedding by slug/name + $event = Event::whereNull('tenant_id')->first(); + if (! $event) { + $event = Event::where('slug', 'like', '%demo%')->where('slug', 'like', '%wedding%')->first(); + } + if (! $event) { + // Try JSON name contains "Demo" or "Wedding" + $event = Event::where('name', 'like', '%Demo%')->orWhere('name', 'like', '%Wedding%')->first(); + } + } + + if (! $event) { + $this->error('Event not found. Provide --event-id or --event-slug.'); + return self::FAILURE; + } + + // Idempotent update + if ((int) $event->tenant_id === (int) $tenant->id) { + $this->info("Event #{$event->id} already attached to tenant #{$tenant->id} ({$tenant->slug})."); + return self::SUCCESS; + } + + $event->tenant_id = $tenant->id; + $event->save(); + + $this->info("Attached event #{$event->id} ({$event->slug}) to tenant #{$tenant->id} ({$tenant->slug})."); + return self::SUCCESS; + } +} diff --git a/app/Console/Commands/BackfillThumbnails.php b/app/Console/Commands/BackfillThumbnails.php new file mode 100644 index 0000000..a520793 --- /dev/null +++ b/app/Console/Commands/BackfillThumbnails.php @@ -0,0 +1,53 @@ +option('limit'); + $rows = DB::table('photos') + ->select(['id','event_id','file_path','thumbnail_path']) + ->orderBy('id') + ->limit($limit) + ->get(); + $count = 0; + foreach ($rows as $r) { + $orig = $this->relativeFromUrl((string)$r->file_path); + $thumb = (string)($r->thumbnail_path ?? ''); + if ($thumb && $thumb !== $r->file_path) continue; // already set to different thumb + if (! $orig) continue; + $baseName = pathinfo($orig, PATHINFO_FILENAME); + $destRel = "events/{$r->event_id}/photos/thumbs/{$baseName}_thumb.jpg"; + $made = ImageHelper::makeThumbnailOnDisk('public', $orig, $destRel, 640, 82); + if ($made) { + $url = Storage::url($made); + DB::table('photos')->where('id', $r->id)->update(['thumbnail_path' => $url, 'updated_at' => now()]); + $count++; + $this->line("Photo {$r->id}: thumb created"); + } + } + $this->info("Done. Thumbnails generated: {$count}"); + return self::SUCCESS; + } + + private function relativeFromUrl(string $url): ?string + { + // Assume Storage::url maps to /storage/* + $p = parse_url($url, PHP_URL_PATH) ?? ''; + if (str_starts_with($p, '/storage/')) { + return substr($p, strlen('/storage/')); + } + return null; + } +} + diff --git a/app/Filament/Resources/EmotionResource.php b/app/Filament/Resources/EmotionResource.php new file mode 100644 index 0000000..ad8309d --- /dev/null +++ b/app/Filament/Resources/EmotionResource.php @@ -0,0 +1,192 @@ +components([ + SC\KeyValue::make('name')->label('Name (de/en)')->keyLabel('locale')->valueLabel('value')->default(['de' => '', 'en' => ''])->required(), + SC\TextInput::make('icon')->label('Icon/Emoji')->maxLength(50), + SC\TextInput::make('color')->maxLength(7)->helperText('#RRGGBB'), + SC\KeyValue::make('description')->label('Description (de/en)')->keyLabel('locale')->valueLabel('value'), + SC\TextInput::make('sort_order')->numeric()->default(0), + SC\Toggle::make('is_active')->default(true), + SC\Select::make('eventTypes') + ->label('Event Types') + ->multiple() + ->searchable() + ->preload() + ->relationship('eventTypes', 'name'), + ])->columns(2); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\TextColumn::make('id')->sortable(), + Tables\Columns\TextColumn::make('name')->searchable(), + Tables\Columns\TextColumn::make('icon'), + Tables\Columns\TextColumn::make('color'), + Tables\Columns\IconColumn::make('is_active')->boolean(), + Tables\Columns\TextColumn::make('sort_order')->sortable(), + ]) + ->filters([]) + ->actions([ + Tables\Actions\EditAction::make(), + ]) + ->bulkActions([ + Tables\Actions\BulkActionGroup::make([ + Tables\Actions\DeleteBulkAction::make(), + ]), + ]); + } + + public static function getPages(): array + { + return [ + 'index' => Pages\ManageEmotions::route('/'), + 'import' => Pages\ImportEmotions::route('/import'), + ]; + } +} + +namespace App\Filament\Resources\EmotionResource\Pages; + +use App\Filament\Resources\EmotionResource; +use Filament\Resources\Pages\ManageRecords; +use Filament\Actions; +use Filament\Resources\Pages\Page; +use Filament\Forms; +use Filament\Notifications\Notification; +use Illuminate\Support\Facades\Storage; +use Illuminate\Support\Facades\DB; + +class ManageEmotions extends ManageRecords +{ + protected static string $resource = EmotionResource::class; + + protected function getHeaderActions(): array + { + return [ + Actions\Action::make('import') + ->label('Import CSV') + ->icon('heroicon-o-arrow-up-tray') + ->url(EmotionResource::getUrl('import')), + Actions\Action::make('template') + ->label('Download CSV Template') + ->icon('heroicon-o-document-arrow-down') + ->url(url('/super-admin/templates/emotions.csv')), + ]; + } +} + +class ImportEmotions extends Page +{ + protected static string $resource = EmotionResource::class; + protected string $view = 'filament.pages.blank'; + protected ?string $heading = 'Import Emotions (CSV)'; + + public ?string $file = null; + + protected function getFormSchema(): array + { + return [ + Forms\Components\FileUpload::make('file') + ->label('CSV file') + ->acceptedFileTypes(['text/csv', 'text/plain']) + ->directory('imports') + ->required(), + ]; + } + + protected function getFormActions(): array + { + return [ + Forms\Components\Actions\Action::make('import') + ->label('Import') + ->action('doImport') + ->color('primary') + ]; + } + + public function doImport(): void + { + $state = $this->form->getState(); + $path = $state['file'] ?? null; + if (! $path || ! Storage::disk('public')->exists($path)) { + Notification::make()->danger()->title('File not found')->send(); + return; + } + $full = Storage::disk('public')->path($path); + [$ok, $fail] = $this->importEmotionsCsv($full); + Notification::make()->success()->title("Imported {$ok} rows")->body($fail ? "{$fail} failed" : null)->send(); + } + + private function importEmotionsCsv(string $file): array + { + $h = fopen($file, 'r'); + if (! $h) return [0,0]; + $ok = 0; $fail = 0; + // Expected headers: name_de,name_en,icon,color,description_de,description_en,sort_order,is_active,event_types + $headers = fgetcsv($h, 0, ','); + if (! $headers) return [0,0]; + $map = array_flip($headers); + while (($row = fgetcsv($h, 0, ',')) !== false) { + try { + $nameDe = trim($row[$map['name_de']] ?? ''); + $nameEn = trim($row[$map['name_en']] ?? ''); + $name = $nameDe ?: $nameEn; + if ($name === '') { $fail++; continue; } + $data = [ + 'name' => ['de' => $nameDe, 'en' => $nameEn], + 'icon' => $row[$map['icon']] ?? null, + 'color' => $row[$map['color']] ?? null, + 'description' => [ + 'de' => $row[$map['description_de']] ?? null, + 'en' => $row[$map['description_en']] ?? null, + ], + 'sort_order' => (int)($row[$map['sort_order']] ?? 0), + 'is_active' => (int)($row[$map['is_active']] ?? 1) ? 1 : 0, + ]; + $id = DB::table('emotions')->insertGetId(array_merge($data, [ + 'created_at' => now(), 'updated_at' => now(), + ])); + // Attach event types if provided (by slug list separated by '|') + $et = $row[$map['event_types']] ?? ''; + if ($et) { + $slugs = array_filter(array_map('trim', explode('|', $et))); + if ($slugs) { + $ids = DB::table('event_types')->whereIn('slug', $slugs)->pluck('id')->all(); + foreach ($ids as $eid) { + DB::table('emotion_event_type')->insertOrIgnore([ + 'emotion_id' => $id, + 'event_type_id' => $eid, + ]); + } + } + } + $ok++; + } catch (\Throwable $e) { + $fail++; + } + } + fclose($h); + return [$ok, $fail]; + } +} diff --git a/app/Filament/Resources/EventResource.php b/app/Filament/Resources/EventResource.php new file mode 100644 index 0000000..dc84b03 --- /dev/null +++ b/app/Filament/Resources/EventResource.php @@ -0,0 +1,89 @@ +columns([ + Tables\Columns\TextColumn::make('id')->sortable(), + Tables\Columns\TextColumn::make('tenant_id')->label('Tenant')->sortable(), + Tables\Columns\TextColumn::make('name')->limit(30), + Tables\Columns\TextColumn::make('slug')->searchable(), + Tables\Columns\TextColumn::make('date')->date(), + Tables\Columns\IconColumn::make('is_active')->boolean(), + Tables\Columns\TextColumn::make('default_locale'), + Tables\Columns\TextColumn::make('join')->label('Join') + ->getStateUsing(fn($record) => url("/e/{$record->slug}")) + ->copyable() + ->copyMessage('Join link copied'), + Tables\Columns\TextColumn::make('created_at')->since(), + ]) + ->filters([]) + ->actions([ + Tables\Actions\ViewAction::make(), + Tables\Actions\EditAction::make(), + Tables\Actions\Action::make('toggle') + ->label('Toggle Active') + ->icon('heroicon-o-power') + ->action(fn($record) => $record->update(['is_active' => ! (bool)$record->is_active])), + Tables\Actions\Action::make('join_link') + ->label('Join Link / QR') + ->icon('heroicon-o-qr-code') + ->modalHeading('Event Join Link') + ->modalSubmitActionLabel('Close') + ->modalContent(fn($record) => view('filament.events.join-link', [ + 'link' => url("/e/{$record->slug}"), + ])), + ]) + ->bulkActions([ + Tables\Actions\BulkActionGroup::make([ + Tables\Actions\DeleteBulkAction::make(), + ]), + ]); + } + + public static function getPages(): array + { + return [ + 'index' => Pages\ListEvents::route('/'), + 'view' => Pages\ViewEvent::route('/{record}'), + 'edit' => Pages\EditEvent::route('/{record}/edit'), + ]; + } +} + +namespace App\Filament\Resources\EventResource\Pages; + +use App\Filament\Resources\EventResource; +use Filament\Resources\Pages\ListRecords; +use Filament\Resources\Pages\ViewRecord; +use Filament\Resources\Pages\EditRecord; + +class ListEvents extends ListRecords +{ + protected static string $resource = EventResource::class; +} + +class ViewEvent extends ViewRecord +{ + protected static string $resource = EventResource::class; +} + +class EditEvent extends EditRecord +{ + protected static string $resource = EventResource::class; +} diff --git a/app/Filament/Resources/EventTypeResource.php b/app/Filament/Resources/EventTypeResource.php new file mode 100644 index 0000000..49c225f --- /dev/null +++ b/app/Filament/Resources/EventTypeResource.php @@ -0,0 +1,73 @@ +components([ + SC\KeyValue::make('name')->label('Name (de/en)')->default(['de' => '', 'en' => ''])->required(), + SC\TextInput::make('slug')->required()->unique(ignoreRecord: true), + SC\TextInput::make('icon')->maxLength(64), + SC\KeyValue::make('settings')->label('Settings')->keyLabel('key')->valueLabel('value'), + SC\Select::make('emotions') + ->label('Emotions') + ->multiple() + ->searchable() + ->preload() + ->relationship('emotions', 'name'), + ])->columns(2); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\TextColumn::make('id')->sortable(), + Tables\Columns\TextColumn::make('name')->searchable(), + Tables\Columns\TextColumn::make('slug')->searchable(), + Tables\Columns\TextColumn::make('icon'), + Tables\Columns\TextColumn::make('created_at')->since(), + ]) + ->filters([]) + ->actions([ + Tables\Actions\EditAction::make(), + ]) + ->bulkActions([ + Tables\Actions\BulkActionGroup::make([ + Tables\Actions\DeleteBulkAction::make(), + ]), + ]); + } + + public static function getPages(): array + { + return [ + 'index' => Pages\ManageEventTypes::route('/'), + ]; + } +} + +namespace App\Filament\Resources\EventTypeResource\Pages; + +use App\Filament\Resources\EventTypeResource; +use Filament\Resources\Pages\ManageRecords; + +class ManageEventTypes extends ManageRecords +{ + protected static string $resource = EventTypeResource::class; +} diff --git a/app/Filament/Resources/LegalPageResource.php b/app/Filament/Resources/LegalPageResource.php new file mode 100644 index 0000000..c7a91d2 --- /dev/null +++ b/app/Filament/Resources/LegalPageResource.php @@ -0,0 +1,71 @@ +columns([ + Tables\Columns\TextColumn::make('id')->sortable(), + Tables\Columns\TextColumn::make('slug')->badge(), + Tables\Columns\TextColumn::make('version')->badge(), + Tables\Columns\IconColumn::make('is_published')->boolean(), + Tables\Columns\TextColumn::make('effective_from')->date(), + Tables\Columns\TextColumn::make('created_at')->since(), + ]) + ->filters([]) + ->actions([ + Tables\Actions\ViewAction::make(), + Tables\Actions\EditAction::make(), + ]) + ->bulkActions([ + Tables\Actions\BulkActionGroup::make([ + Tables\Actions\DeleteBulkAction::make(), + ]), + ]); + } + + public static function getPages(): array + { + return [ + 'index' => Pages\ListLegalPages::route('/'), + 'view' => Pages\ViewLegalPage::route('/{record}'), + 'edit' => Pages\EditLegalPage::route('/{record}/edit'), + ]; + } +} + +namespace App\Filament\Resources\LegalPageResource\Pages; + +use App\Filament\Resources\LegalPageResource; +use Filament\Resources\Pages\ListRecords; +use Filament\Resources\Pages\ViewRecord; +use Filament\Resources\Pages\EditRecord; + +class ListLegalPages extends ListRecords +{ + protected static string $resource = LegalPageResource::class; +} + +class ViewLegalPage extends ViewRecord +{ + protected static string $resource = LegalPageResource::class; +} + +class EditLegalPage extends EditRecord +{ + protected static string $resource = LegalPageResource::class; +} diff --git a/app/Filament/Resources/PhotoResource.php b/app/Filament/Resources/PhotoResource.php new file mode 100644 index 0000000..12a116e --- /dev/null +++ b/app/Filament/Resources/PhotoResource.php @@ -0,0 +1,90 @@ +columns([ + Tables\Columns\ImageColumn::make('thumbnail_path')->label('Thumb')->circular(), + Tables\Columns\TextColumn::make('id')->sortable(), + Tables\Columns\TextColumn::make('event_id')->label('Event'), + Tables\Columns\TextColumn::make('likes_count')->label('Likes'), + Tables\Columns\IconColumn::make('is_featured')->boolean(), + Tables\Columns\TextColumn::make('created_at')->since(), + ]) + ->filters([]) + ->actions([ + Tables\Actions\ViewAction::make(), + Tables\Actions\EditAction::make(), + Tables\Actions\Action::make('feature') + ->label('Feature') + ->visible(fn($record) => ! (bool)$record->is_featured) + ->action(fn($record) => $record->update(['is_featured' => 1])) + ->icon('heroicon-o-star'), + Tables\Actions\Action::make('unfeature') + ->label('Unfeature') + ->visible(fn($record) => (bool)$record->is_featured) + ->action(fn($record) => $record->update(['is_featured' => 0])) + ->icon('heroicon-o-star'), + Tables\Actions\DeleteAction::make(), + ]) + ->bulkActions([ + Tables\Actions\BulkActionGroup::make([ + Tables\Actions\BulkAction::make('feature') + ->label('Feature selected') + ->icon('heroicon-o-star') + ->action(fn($records) => $records->each->update(['is_featured' => 1])), + Tables\Actions\BulkAction::make('unfeature') + ->label('Unfeature selected') + ->icon('heroicon-o-star') + ->action(fn($records) => $records->each->update(['is_featured' => 0])), + Tables\Actions\DeleteBulkAction::make(), + ]), + ]); + } + + public static function getPages(): array + { + return [ + 'index' => Pages\ListPhotos::route('/'), + 'view' => Pages\ViewPhoto::route('/{record}'), + 'edit' => Pages\EditPhoto::route('/{record}/edit'), + ]; + } +} + +namespace App\Filament\Resources\PhotoResource\Pages; + +use App\Filament\Resources\PhotoResource; +use Filament\Resources\Pages\ListRecords; +use Filament\Resources\Pages\ViewRecord; +use Filament\Resources\Pages\EditRecord; + +class ListPhotos extends ListRecords +{ + protected static string $resource = PhotoResource::class; +} + +class ViewPhoto extends ViewRecord +{ + protected static string $resource = PhotoResource::class; +} + +class EditPhoto extends EditRecord +{ + protected static string $resource = PhotoResource::class; +} diff --git a/app/Filament/Resources/TaskResource.php b/app/Filament/Resources/TaskResource.php new file mode 100644 index 0000000..1ebe08c --- /dev/null +++ b/app/Filament/Resources/TaskResource.php @@ -0,0 +1,203 @@ +components([ + SC\Select::make('emotion_id')->relationship('emotion', 'name')->required()->searchable()->preload(), + SC\Select::make('event_type_id')->relationship('eventType', 'name')->searchable()->preload()->label('Event Type (optional)'), + SC\KeyValue::make('title')->label('Title (de/en)')->default(['de' => '', 'en' => ''])->required(), + SC\KeyValue::make('description')->label('Description (de/en)'), + SC\Select::make('difficulty')->options([ + 'easy' => 'Easy', + 'medium' => 'Medium', + 'hard' => 'Hard', + ])->default('easy'), + SC\KeyValue::make('example_text')->label('Example (de/en)'), + SC\TextInput::make('sort_order')->numeric()->default(0), + SC\Toggle::make('is_active')->default(true), + ])->columns(2); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\TextColumn::make('id')->sortable(), + Tables\Columns\TextColumn::make('emotion.name')->label('Emotion')->sortable()->searchable(), + Tables\Columns\TextColumn::make('eventType.name')->label('Event Type')->toggleable(), + Tables\Columns\TextColumn::make('title')->searchable()->limit(40), + Tables\Columns\TextColumn::make('difficulty')->badge(), + Tables\Columns\IconColumn::make('is_active')->boolean(), + Tables\Columns\TextColumn::make('sort_order')->sortable(), + ]) + ->filters([]) + ->actions([ + Tables\Actions\EditAction::make(), + Tables\Actions\DeleteAction::make(), + ]) + ->bulkActions([ + Tables\Actions\BulkActionGroup::make([ + Tables\Actions\DeleteBulkAction::make(), + ]), + ]); + } + + public static function getPages(): array + { + return [ + 'index' => Pages\ManageTasks::route('/'), + 'import' => Pages\ImportTasks::route('/import'), + ]; + } +} + +namespace App\Filament\Resources\TaskResource\Pages; + +use App\Filament\Resources\TaskResource; +use Filament\Resources\Pages\ManageRecords; +use Filament\Actions; +use Filament\Resources\Pages\Page; +use Filament\Forms; +use Filament\Notifications\Notification; +use Illuminate\Support\Facades\Storage; +use Illuminate\Support\Facades\DB; + +class ManageTasks extends ManageRecords +{ + protected static string $resource = TaskResource::class; + + protected function getHeaderActions(): array + { + return [ + Actions\Action::make('import') + ->label('Import CSV') + ->icon('heroicon-o-arrow-up-tray') + ->url(TaskResource::getUrl('import')), + Actions\Action::make('template') + ->label('Download CSV Template') + ->icon('heroicon-o-document-arrow-down') + ->url(url('/super-admin/templates/tasks.csv')), + ]; + } +} + +class ImportTasks extends Page +{ + protected static string $resource = TaskResource::class; + protected string $view = 'filament.pages.blank'; + protected ?string $heading = 'Import Tasks (CSV)'; + + public ?string $file = null; + + protected function getFormSchema(): array + { + return [ + Forms\Components\FileUpload::make('file') + ->label('CSV file') + ->acceptedFileTypes(['text/csv', 'text/plain']) + ->directory('imports') + ->required(), + ]; + } + + protected function getFormActions(): array + { + return [ + Forms\Components\Actions\Action::make('import') + ->label('Import') + ->action('doImport') + ->color('primary') + ]; + } + + public function doImport(): void + { + $state = $this->form->getState(); + $path = $state['file'] ?? null; + if (! $path || ! Storage::disk('public')->exists($path)) { + Notification::make()->danger()->title('File not found')->send(); + return; + } + $full = Storage::disk('public')->path($path); + [$ok, $fail] = $this->importTasksCsv($full); + Notification::make()->success()->title("Imported {$ok} rows")->body($fail ? "${fail} failed" : null)->send(); + } + + private function importTasksCsv(string $file): array + { + $h = fopen($file, 'r'); + if (! $h) return [0,0]; + $ok = 0; $fail = 0; + // Expected headers: emotion_name,emotion_name_de,emotion_name_en,event_type_slug,title_de,title_en,description_de,description_en,difficulty,example_text_de,example_text_en,sort_order,is_active + $headers = fgetcsv($h, 0, ','); + if (! $headers) return [0,0]; + $map = array_flip($headers); + while (($row = fgetcsv($h, 0, ',')) !== false) { + try { + $emotionName = trim($row[$map['emotion_name']] ?? ''); + $emotionNameDe = trim($row[$map['emotion_name_de']] ?? ''); + $emotionNameEn = trim($row[$map['emotion_name_en']] ?? ''); + $emotionId = null; + if ($emotionName !== '') { + $emotionId = DB::table('emotions')->where('name', $emotionName)->value('id'); + } + if (! $emotionId && $emotionNameDe !== '') { + $emotionId = DB::table('emotions')->where('name', 'like', '%"de":"'.str_replace('"','""',$emotionNameDe).'"%')->value('id'); + } + if (! $emotionId && $emotionNameEn !== '') { + $emotionId = DB::table('emotions')->where('name', 'like', '%"en":"'.str_replace('"','""',$emotionNameEn).'"%')->value('id'); + } + if (! $emotionId) { $fail++; continue; } + $eventTypeSlug = trim($row[$map['event_type_slug']] ?? ''); + $eventTypeId = null; + if ($eventTypeSlug !== '') { + $eventTypeId = DB::table('event_types')->where('slug', $eventTypeSlug)->value('id'); + } + $data = [ + 'emotion_id' => $emotionId, + 'event_type_id' => $eventTypeId, + 'title' => [ + 'de' => $row[$map['title_de']] ?? null, + 'en' => $row[$map['title_en']] ?? null, + ], + 'description' => [ + 'de' => $row[$map['description_de']] ?? null, + 'en' => $row[$map['description_en']] ?? null, + ], + 'difficulty' => $row[$map['difficulty']] ?? 'easy', + 'example_text' => [ + 'de' => $row[$map['example_text_de']] ?? null, + 'en' => $row[$map['example_text_en']] ?? null, + ], + 'sort_order' => (int)($row[$map['sort_order']] ?? 0), + 'is_active' => (int)($row[$map['is_active']] ?? 1) ? 1 : 0, + 'created_at' => now(), + 'updated_at' => now(), + ]; + DB::table('tasks')->insert($data); + $ok++; + } catch (\Throwable $e) { + $fail++; + } + } + fclose($h); + return [$ok, $fail]; + } +} diff --git a/app/Filament/Resources/TenantResource.php b/app/Filament/Resources/TenantResource.php new file mode 100644 index 0000000..6b23555 --- /dev/null +++ b/app/Filament/Resources/TenantResource.php @@ -0,0 +1,72 @@ +columns([ + Tables\Columns\TextColumn::make('id')->sortable(), + Tables\Columns\TextColumn::make('name')->searchable()->sortable(), + Tables\Columns\TextColumn::make('slug')->searchable(), + Tables\Columns\TextColumn::make('contact_email'), + Tables\Columns\TextColumn::make('event_credits_balance')->label('Credits'), + Tables\Columns\TextColumn::make('last_activity_at')->since()->label('Last activity'), + Tables\Columns\TextColumn::make('created_at')->dateTime()->toggleable(isToggledHiddenByDefault: true), + ]) + ->filters([]) + ->actions([ + Tables\Actions\ViewAction::make(), + Tables\Actions\EditAction::make(), + ]) + ->bulkActions([ + Tables\Actions\BulkActionGroup::make([ + Tables\Actions\DeleteBulkAction::make(), + ]), + ]); + } + + public static function getPages(): array + { + return [ + 'index' => Pages\ListTenants::route('/'), + 'view' => Pages\ViewTenant::route('/{record}'), + 'edit' => Pages\EditTenant::route('/{record}/edit'), + ]; + } +} + +namespace App\Filament\Resources\TenantResource\Pages; + +use App\Filament\Resources\TenantResource; +use Filament\Resources\Pages\ListRecords; +use Filament\Resources\Pages\ViewRecord; +use Filament\Resources\Pages\EditRecord; + +class ListTenants extends ListRecords +{ + protected static string $resource = TenantResource::class; +} + +class ViewTenant extends ViewRecord +{ + protected static string $resource = TenantResource::class; +} + +class EditTenant extends EditRecord +{ + protected static string $resource = TenantResource::class; +} diff --git a/app/Filament/Widgets/EventsActiveToday.php b/app/Filament/Widgets/EventsActiveToday.php new file mode 100644 index 0000000..d83546f --- /dev/null +++ b/app/Filament/Widgets/EventsActiveToday.php @@ -0,0 +1,40 @@ +toDateString(); + $query = DB::table('events as e') + ->leftJoin('photos as p', function ($join) use ($today) { + $join->on('p.event_id', '=', 'e.id') + ->whereRaw("date(p.created_at) = ?", [$today]); + }) + ->where('e.is_active', 1) + ->whereDate('e.date', '<=', $today) + ->selectRaw('e.id, e.slug, e.name, e.date, COUNT(p.id) as uploads_today') + ->groupBy('e.id', 'e.slug', 'e.name', 'e.date') + ->orderBy('e.date', 'desc') + ->limit(10); + + return $table + ->query($query) + ->columns([ + Tables\Columns\TextColumn::make('id')->label('#')->width('60px'), + Tables\Columns\TextColumn::make('slug')->label('Slug')->searchable(), + Tables\Columns\TextColumn::make('date')->date(), + Tables\Columns\TextColumn::make('uploads_today')->label('Uploads today')->numeric(), + ]) + ->paginated(false); + } +} diff --git a/app/Filament/Widgets/PlatformStatsWidget.php b/app/Filament/Widgets/PlatformStatsWidget.php new file mode 100644 index 0000000..b59f1ec --- /dev/null +++ b/app/Filament/Widgets/PlatformStatsWidget.php @@ -0,0 +1,31 @@ +copy()->subDay(); + + $tenants = (int) DB::table('tenants')->count(); + $events = (int) DB::table('events')->count(); + $photos = (int) DB::table('photos')->count(); + $photos24h = (int) DB::table('photos')->where('created_at', '>=', $dayAgo)->count(); + + return [ + Stat::make('Tenants', number_format($tenants)), + Stat::make('Events', number_format($events)), + Stat::make('Photos', number_format($photos)) + ->description("+{$photos24h} in last 24h"), + ]; + } +} diff --git a/app/Filament/Widgets/RecentPhotosTable.php b/app/Filament/Widgets/RecentPhotosTable.php new file mode 100644 index 0000000..85d3b5f --- /dev/null +++ b/app/Filament/Widgets/RecentPhotosTable.php @@ -0,0 +1,39 @@ +orderByDesc('created_at')->limit(10); + + return $table + ->query($query) + ->columns([ + Tables\Columns\ImageColumn::make('thumbnail_path')->label('Thumb')->circular(), + Tables\Columns\TextColumn::make('id')->label('#'), + Tables\Columns\TextColumn::make('event_id')->label('Event'), + Tables\Columns\TextColumn::make('likes_count')->label('Likes'), + Tables\Columns\TextColumn::make('created_at')->since(), + ]) + ->actions([ + Tables\Actions\Action::make('feature') + ->label('Feature') + ->visible(fn($record) => ! (bool)($record->is_featured ?? 0)) + ->action(fn($record) => DB::table('photos')->where('id', $record->id)->update(['is_featured' => 1, 'updated_at' => now()])), + Tables\Actions\Action::make('unfeature') + ->label('Unfeature') + ->visible(fn($record) => (bool)($record->is_featured ?? 0)) + ->action(fn($record) => DB::table('photos')->where('id', $record->id)->update(['is_featured' => 0, 'updated_at' => now()])), + ]) + ->paginated(false); + } +} diff --git a/app/Filament/Widgets/TopTenantsByUploads.php b/app/Filament/Widgets/TopTenantsByUploads.php new file mode 100644 index 0000000..48ebddf --- /dev/null +++ b/app/Filament/Widgets/TopTenantsByUploads.php @@ -0,0 +1,33 @@ +join('events as e', 'e.id', '=', 'p.event_id') + ->join('tenants as t', 't.id', '=', 'e.tenant_id') + ->selectRaw('t.id as tenant_id, t.name as tenant_name, COUNT(p.id) as uploads') + ->groupBy('t.id', 't.name') + ->orderByDesc('uploads') + ->limit(5); + + return $table + ->query($query) + ->columns([ + Tables\Columns\TextColumn::make('tenant_id')->label('#')->width('60px'), + Tables\Columns\TextColumn::make('tenant_name')->label('Tenant')->searchable(), + Tables\Columns\TextColumn::make('uploads')->label('Uploads')->numeric(), + ]) + ->paginated(false); + } +} diff --git a/app/Filament/Widgets/UploadsPerDayChart.php b/app/Filament/Widgets/UploadsPerDayChart.php new file mode 100644 index 0000000..a0eafc3 --- /dev/null +++ b/app/Filament/Widgets/UploadsPerDayChart.php @@ -0,0 +1,52 @@ +startOfDay()->subDays(13); + for ($i = 0; $i < 14; $i++) { + $labels[] = $start->copy()->addDays($i)->format('Y-m-d'); + } + + // SQLite-friendly group by date + $rows = DB::table('photos') + ->selectRaw("strftime('%Y-%m-%d', created_at) as d, count(*) as c") + ->where('created_at', '>=', $start) + ->groupBy('d') + ->orderBy('d') + ->get(); + $map = collect($rows)->keyBy('d'); + $data = array_map(fn ($d) => (int) ($map[$d]->c ?? 0), $labels); + + return [ + 'labels' => $labels, + 'datasets' => [ + [ + 'label' => 'Uploads', + 'data' => $data, + 'borderColor' => '#f59e0b', + 'backgroundColor' => 'rgba(245, 158, 11, 0.2)', + 'tension' => 0.3, + ], + ], + ]; + } + + protected function getType(): string + { + return 'line'; + } +} diff --git a/app/Http/Controllers/Admin/QrController.php b/app/Http/Controllers/Admin/QrController.php new file mode 100644 index 0000000..03ada90 --- /dev/null +++ b/app/Http/Controllers/Admin/QrController.php @@ -0,0 +1,21 @@ +query('data', ''); + if ($data === '') { + return response('missing data', 400); + } + $png = QrCode::format('png')->size(300)->generate($data); + return response($png, 200, ['Content-Type' => 'image/png']); + } +} + diff --git a/app/Http/Controllers/Api/EventPublicController.php b/app/Http/Controllers/Api/EventPublicController.php new file mode 100644 index 0000000..fc4b948 --- /dev/null +++ b/app/Http/Controllers/Api/EventPublicController.php @@ -0,0 +1,218 @@ +where('slug', $slug)->first([ + 'id', 'slug', 'name', 'default_locale', 'created_at', 'updated_at' + ]); + if (! $event) { + return response()->json(['error' => ['code' => 'not_found', 'message' => 'Event not found']], 404); + } + + return response()->json([ + 'id' => $event->id, + 'slug' => $event->slug, + 'name' => $event->name, + 'default_locale' => $event->default_locale, + 'created_at' => $event->created_at, + 'updated_at' => $event->updated_at, + ])->header('Cache-Control', 'no-store'); + } + + public function stats(string $slug) + { + $event = DB::table('events')->where('slug', $slug)->first(['id']); + if (! $event) { + return response()->json(['error' => ['code' => 'not_found', 'message' => 'Event not found']], 404); + } + + $eventId = $event->id; + + // Approximate online guests as distinct recent uploaders in last 10 minutes. + $tenMinutesAgo = CarbonImmutable::now()->subMinutes(10); + $onlineGuests = DB::table('photos') + ->where('event_id', $eventId) + ->where('created_at', '>=', $tenMinutesAgo) + ->distinct('guest_name') + ->count('guest_name'); + + // Tasks solved as number of photos linked to a task (proxy metric). + $tasksSolved = DB::table('photos')->where('event_id', $eventId)->whereNotNull('task_id')->count(); + + $latestPhotoAt = DB::table('photos')->where('event_id', $eventId)->max('created_at'); + + $payload = [ + 'online_guests' => $onlineGuests, + 'tasks_solved' => $tasksSolved, + 'latest_photo_at' => $latestPhotoAt, + ]; + + $etag = sha1(json_encode($payload)); + $reqEtag = request()->headers->get('If-None-Match'); + if ($reqEtag && $reqEtag === $etag) { + return response('', 304); + } + + return response()->json($payload) + ->header('Cache-Control', 'no-store') + ->header('ETag', $etag); + } + + public function photos(Request $request, string $slug) + { + $event = DB::table('events')->where('slug', $slug)->first(['id']); + if (! $event) { + return response()->json(['error' => ['code' => 'not_found', 'message' => 'Event not found']], 404); + } + $eventId = $event->id; + + $since = $request->query('since'); + $query = DB::table('photos') + ->select(['id', 'file_path', 'thumbnail_path', 'likes_count', 'emotion_id', 'task_id', 'created_at']) + ->where('event_id', $eventId) + ->orderByDesc('created_at') + ->limit(60); + + if ($since) { + $query->where('created_at', '>', $since); + } + + $rows = $query->get(); + $latestPhotoAt = DB::table('photos')->where('event_id', $eventId)->max('created_at'); + $payload = [ + 'data' => $rows, + 'latest_photo_at' => $latestPhotoAt, + ]; + $etag = sha1(json_encode([$since, $latestPhotoAt])); + $reqEtag = request()->headers->get('If-None-Match'); + if ($reqEtag && $reqEtag === $etag) { + return response('', 304); + } + return response()->json($payload) + ->header('Cache-Control', 'no-store') + ->header('ETag', $etag) + ->header('Last-Modified', (string)$latestPhotoAt); + } + + public function photo(int $id) + { + $row = DB::table('photos') + ->select(['id', 'event_id', 'file_path', 'thumbnail_path', 'likes_count', 'emotion_id', 'task_id', 'created_at']) + ->where('id', $id) + ->first(); + if (! $row) { + return response()->json(['error' => ['code' => 'not_found', 'message' => 'Photo not found']], 404); + } + return response()->json($row)->header('Cache-Control', 'no-store'); + } + + public function like(Request $request, int $id) + { + $deviceId = (string) $request->header('X-Device-Id', 'anon'); + $deviceId = substr(preg_replace('/[^a-zA-Z0-9_-]/', '', $deviceId), 0, 64); + if ($deviceId === '') { + $deviceId = 'anon'; + } + + $photo = DB::table('photos')->where('id', $id)->first(['id', 'event_id']); + if (! $photo) { + return response()->json(['error' => ['code' => 'not_found', 'message' => 'Photo not found']], 404); + } + + // Idempotent like per device + $exists = DB::table('photo_likes')->where('photo_id', $id)->where('guest_name', $deviceId)->exists(); + if ($exists) { + $count = (int) DB::table('photos')->where('id', $id)->value('likes_count'); + return response()->json(['liked' => true, 'likes_count' => $count]); + } + + DB::beginTransaction(); + try { + DB::table('photo_likes')->insert([ + 'photo_id' => $id, + 'guest_name' => $deviceId, + 'ip_address' => 'device', + 'created_at' => now(), + ]); + DB::table('photos')->where('id', $id)->update([ + 'likes_count' => DB::raw('likes_count + 1'), + 'updated_at' => now(), + ]); + DB::commit(); + } catch (\Throwable $e) { + DB::rollBack(); + Log::warning('like failed', ['error' => $e->getMessage()]); + } + + $count = (int) DB::table('photos')->where('id', $id)->value('likes_count'); + + return response()->json(['liked' => true, 'likes_count' => $count]); + } + + public function upload(Request $request, string $slug) + { + $event = DB::table('events')->where('slug', $slug)->first(['id']); + if (! $event) { + return response()->json(['error' => ['code' => 'not_found', 'message' => 'Event not found']], 404); + } + + $deviceId = (string) $request->header('X-Device-Id', 'anon'); + $deviceId = substr(preg_replace('/[^a-zA-Z0-9_-]/', '', $deviceId), 0, 64) ?: 'anon'; + + // Per-device cap per event (MVP: 50) + $deviceCount = DB::table('photos')->where('event_id', $event->id)->where('guest_name', $deviceId)->count(); + if ($deviceCount >= 50) { + return response()->json(['error' => ['code' => 'limit_reached', 'message' => 'Upload-Limit erreicht']], 429); + } + + $validated = $request->validate([ + 'photo' => ['required', 'image', 'max:6144'], // 6 MB + 'emotion_id' => ['nullable', 'integer'], + 'task_id' => ['nullable', 'integer'], + 'guest_name' => ['nullable', 'string', 'max:255'], + ]); + + $file = $validated['photo']; + $path = Storage::disk('public')->putFile("events/{$event->id}/photos", $file); + $url = Storage::url($path); + + // Generate thumbnail (JPEG) under photos/thumbs + $baseName = pathinfo($path, PATHINFO_FILENAME); + $thumbRel = "events/{$event->id}/photos/thumbs/{$baseName}_thumb.jpg"; + $thumbPath = ImageHelper::makeThumbnailOnDisk('public', $path, $thumbRel, 640, 82); + $thumbUrl = $thumbPath ? Storage::url($thumbPath) : $url; + + $id = DB::table('photos')->insertGetId([ + 'event_id' => $event->id, + 'emotion_id' => $validated['emotion_id'] ?? null, + 'task_id' => $validated['task_id'] ?? null, + 'guest_name' => $validated['guest_name'] ?? $deviceId, + 'file_path' => $url, + 'thumbnail_path' => $thumbUrl, + 'likes_count' => 0, + 'is_featured' => 0, + 'metadata' => null, + 'created_at' => now(), + 'updated_at' => now(), + ]); + + return response()->json([ + 'id' => $id, + 'file_path' => $url, + 'thumbnail_path' => $thumbUrl, + ], 201); + } +} diff --git a/app/Http/Controllers/Api/TenantController.php b/app/Http/Controllers/Api/TenantController.php new file mode 100644 index 0000000..7be8abf --- /dev/null +++ b/app/Http/Controllers/Api/TenantController.php @@ -0,0 +1,207 @@ +validate([ + 'email' => ['required','email'], + 'password' => ['required','string'], + ]); + if (! Auth::attempt($creds)) { + return response()->json(['error' => ['code' => 'invalid_credentials']], 401); + } + /** @var User $user */ + $user = Auth::user(); + // naive token (cache-based), expires in 8 hours + $token = Str::random(80); + Cache::put('api_token:'.$token, $user->id, now()->addHours(8)); + return response()->json([ + 'token' => $token, + 'user' => [ + 'id' => $user->id, + 'name' => $user->name, + 'email' => $user->email, + 'tenant_id' => $user->tenant_id ?? null, + ], + ]); + } + + public function me(Request $request) + { + $u = Auth::user(); + return response()->json([ + 'id' => $u->id, + 'name' => $u->name, + 'email' => $u->email, + 'tenant_id' => $u->tenant_id ?? null, + ]); + } + + public function events() + { + $u = Auth::user(); + $tenantId = $u->tenant_id ?? null; + $q = Event::query(); + if ($tenantId) { + $q->where('tenant_id', $tenantId); + } + return response()->json(['data' => $q->orderByDesc('created_at')->limit(100)->get(['id','name','slug','date','is_active'])]); + } + + public function showEvent(int $id) + { + $u = Auth::user(); + $tenantId = $u->tenant_id ?? null; + $ev = Event::findOrFail($id); + if ($tenantId && $ev->tenant_id !== $tenantId) { + return response()->json(['error' => ['code' => 'forbidden']], 403); + } + return response()->json($ev->only(['id','name','slug','date','is_active','default_locale'])); + } + + public function storeEvent(Request $request) + { + $u = Auth::user(); + $tenantId = $u->tenant_id ?? null; + $data = $request->validate([ + 'name' => ['required','string','max:255'], + 'slug' => ['required','string','max:255'], + 'date' => ['nullable','date'], + 'is_active' => ['boolean'], + ]); + $ev = new Event(); + $ev->tenant_id = $tenantId ?? $ev->tenant_id; + $ev->name = ['de' => $data['name'], 'en' => $data['name']]; + $ev->slug = $data['slug']; + $ev->date = $data['date'] ?? null; + $ev->is_active = (bool)($data['is_active'] ?? true); + $ev->default_locale = 'de'; + $ev->save(); + return response()->json(['id' => $ev->id]); + } + + public function updateEvent(Request $request, int $id) + { + $u = Auth::user(); + $tenantId = $u->tenant_id ?? null; + $ev = Event::findOrFail($id); + if ($tenantId && $ev->tenant_id !== $tenantId) { + return response()->json(['error' => ['code' => 'forbidden']], 403); + } + $data = $request->validate([ + 'name' => ['nullable','string','max:255'], + 'slug' => ['nullable','string','max:255'], + 'date' => ['nullable','date'], + 'is_active' => ['nullable','boolean'], + ]); + if (isset($data['name'])) $ev->name = ['de' => $data['name'], 'en' => $data['name']]; + if (isset($data['slug'])) $ev->slug = $data['slug']; + if (array_key_exists('date', $data)) $ev->date = $data['date']; + if (array_key_exists('is_active', $data)) $ev->is_active = (bool)$data['is_active']; + $ev->save(); + return response()->json(['ok' => true]); + } + + public function toggleEvent(int $id) + { + $u = Auth::user(); + $tenantId = $u->tenant_id ?? null; + $ev = Event::findOrFail($id); + if ($tenantId && $ev->tenant_id !== $tenantId) { + return response()->json(['error' => ['code' => 'forbidden']], 403); + } + $ev->is_active = ! (bool) $ev->is_active; + $ev->save(); + return response()->json(['is_active' => (bool)$ev->is_active]); + } + + public function eventStats(int $id) + { + $u = Auth::user(); + $tenantId = $u->tenant_id ?? null; + $ev = Event::findOrFail($id); + if ($tenantId && $ev->tenant_id !== $tenantId) { + return response()->json(['error' => ['code' => 'forbidden']], 403); + } + $total = Photo::where('event_id', $id)->count(); + $featured = Photo::where('event_id', $id)->where('is_featured', 1)->count(); + $likes = Photo::where('event_id', $id)->sum('likes_count'); + return response()->json([ + 'total' => (int)$total, + 'featured' => (int)$featured, + 'likes' => (int)$likes, + ]); + } + + public function createInvite(int $id) + { + $u = Auth::user(); + $tenantId = $u->tenant_id ?? null; + $ev = Event::findOrFail($id); + if ($tenantId && $ev->tenant_id !== $tenantId) { + return response()->json(['error' => ['code' => 'forbidden']], 403); + } + $token = Str::random(32); + Cache::put('invite:'.$token, $ev->slug, now()->addDays(2)); + $link = url('/e/'.$ev->slug).'?t='.$token; + return response()->json(['link' => $link]); + } + + public function eventPhotos(int $id) + { + $u = Auth::user(); + $tenantId = $u->tenant_id ?? null; + $ev = Event::findOrFail($id); + if ($tenantId && $ev->tenant_id !== $tenantId) { + return response()->json(['error' => ['code' => 'forbidden']], 403); + } + $rows = Photo::where('event_id', $id)->orderByDesc('created_at')->limit(100)->get(['id','thumbnail_path','file_path','likes_count','is_featured','created_at']); + return response()->json(['data' => $rows]); + } + + public function featurePhoto(int $photoId) + { + $p = Photo::findOrFail($photoId); + $this->authorizePhoto($p); + $p->is_featured = 1; $p->save(); + return response()->json(['ok' => true]); + } + + public function unfeaturePhoto(int $photoId) + { + $p = Photo::findOrFail($photoId); + $this->authorizePhoto($p); + $p->is_featured = 0; $p->save(); + return response()->json(['ok' => true]); + } + + public function deletePhoto(int $photoId) + { + $p = Photo::findOrFail($photoId); + $this->authorizePhoto($p); + $p->delete(); + return response()->json(['ok' => true]); + } + + protected function authorizePhoto(Photo $p): void + { + $u = Auth::user(); + $tenantId = $u->tenant_id ?? null; + $event = Event::find($p->event_id); + if ($tenantId && $event && $event->tenant_id !== $tenantId) { + abort(403); + } + } +} diff --git a/app/Http/Controllers/Auth/AuthenticatedSessionController.php b/app/Http/Controllers/Auth/AuthenticatedSessionController.php new file mode 100644 index 0000000..b4a48d9 --- /dev/null +++ b/app/Http/Controllers/Auth/AuthenticatedSessionController.php @@ -0,0 +1,51 @@ + Route::has('password.request'), + 'status' => $request->session()->get('status'), + ]); + } + + /** + * Handle an incoming authentication request. + */ + public function store(LoginRequest $request): RedirectResponse + { + $request->authenticate(); + + $request->session()->regenerate(); + + return redirect()->intended(route('dashboard', absolute: false)); + } + + /** + * Destroy an authenticated session. + */ + public function destroy(Request $request): RedirectResponse + { + Auth::guard('web')->logout(); + + $request->session()->invalidate(); + $request->session()->regenerateToken(); + + return redirect('/'); + } +} diff --git a/app/Http/Controllers/Auth/ConfirmablePasswordController.php b/app/Http/Controllers/Auth/ConfirmablePasswordController.php new file mode 100644 index 0000000..c729706 --- /dev/null +++ b/app/Http/Controllers/Auth/ConfirmablePasswordController.php @@ -0,0 +1,41 @@ +validate([ + 'email' => $request->user()->email, + 'password' => $request->password, + ])) { + throw ValidationException::withMessages([ + 'password' => __('auth.password'), + ]); + } + + $request->session()->put('auth.password_confirmed_at', time()); + + return redirect()->intended(route('dashboard', absolute: false)); + } +} diff --git a/app/Http/Controllers/Auth/EmailVerificationNotificationController.php b/app/Http/Controllers/Auth/EmailVerificationNotificationController.php new file mode 100644 index 0000000..f64fa9b --- /dev/null +++ b/app/Http/Controllers/Auth/EmailVerificationNotificationController.php @@ -0,0 +1,24 @@ +user()->hasVerifiedEmail()) { + return redirect()->intended(route('dashboard', absolute: false)); + } + + $request->user()->sendEmailVerificationNotification(); + + return back()->with('status', 'verification-link-sent'); + } +} diff --git a/app/Http/Controllers/Auth/EmailVerificationPromptController.php b/app/Http/Controllers/Auth/EmailVerificationPromptController.php new file mode 100644 index 0000000..672f7cf --- /dev/null +++ b/app/Http/Controllers/Auth/EmailVerificationPromptController.php @@ -0,0 +1,22 @@ +user()->hasVerifiedEmail() + ? redirect()->intended(route('dashboard', absolute: false)) + : Inertia::render('auth/verify-email', ['status' => $request->session()->get('status')]); + } +} diff --git a/app/Http/Controllers/Auth/NewPasswordController.php b/app/Http/Controllers/Auth/NewPasswordController.php new file mode 100644 index 0000000..3496b1d --- /dev/null +++ b/app/Http/Controllers/Auth/NewPasswordController.php @@ -0,0 +1,70 @@ + $request->email, + 'token' => $request->route('token'), + ]); + } + + /** + * Handle an incoming new password request. + * + * @throws \Illuminate\Validation\ValidationException + */ + public function store(Request $request): RedirectResponse + { + $request->validate([ + 'token' => 'required', + 'email' => 'required|email', + 'password' => ['required', 'confirmed', Rules\Password::defaults()], + ]); + + // Here we will attempt to reset the user's password. If it is successful we + // will update the password on an actual user model and persist it to the + // database. Otherwise we will parse the error and return the response. + $status = Password::reset( + $request->only('email', 'password', 'password_confirmation', 'token'), + function (User $user) use ($request) { + $user->forceFill([ + 'password' => Hash::make($request->password), + 'remember_token' => Str::random(60), + ])->save(); + + event(new PasswordReset($user)); + } + ); + + // If the password was successfully reset, we will redirect the user back to + // the application's home authenticated view. If there is an error we can + // redirect them back to where they came from with their error message. + if ($status == Password::PasswordReset) { + return to_route('login')->with('status', __($status)); + } + + throw ValidationException::withMessages([ + 'email' => [__($status)], + ]); + } +} diff --git a/app/Http/Controllers/Auth/PasswordResetLinkController.php b/app/Http/Controllers/Auth/PasswordResetLinkController.php new file mode 100644 index 0000000..9fcfe49 --- /dev/null +++ b/app/Http/Controllers/Auth/PasswordResetLinkController.php @@ -0,0 +1,41 @@ + $request->session()->get('status'), + ]); + } + + /** + * Handle an incoming password reset link request. + * + * @throws \Illuminate\Validation\ValidationException + */ + public function store(Request $request): RedirectResponse + { + $request->validate([ + 'email' => 'required|email', + ]); + + Password::sendResetLink( + $request->only('email') + ); + + return back()->with('status', __('A reset link will be sent if the account exists.')); + } +} diff --git a/app/Http/Controllers/Auth/RegisteredUserController.php b/app/Http/Controllers/Auth/RegisteredUserController.php new file mode 100644 index 0000000..08caeef --- /dev/null +++ b/app/Http/Controllers/Auth/RegisteredUserController.php @@ -0,0 +1,51 @@ +validate([ + 'name' => 'required|string|max:255', + 'email' => 'required|string|lowercase|email|max:255|unique:'.User::class, + 'password' => ['required', 'confirmed', Rules\Password::defaults()], + ]); + + $user = User::create([ + 'name' => $request->name, + 'email' => $request->email, + 'password' => Hash::make($request->password), + ]); + + event(new Registered($user)); + + Auth::login($user); + + return redirect()->intended(route('dashboard', absolute: false)); + } +} diff --git a/app/Http/Controllers/Auth/VerifyEmailController.php b/app/Http/Controllers/Auth/VerifyEmailController.php new file mode 100644 index 0000000..db389f2 --- /dev/null +++ b/app/Http/Controllers/Auth/VerifyEmailController.php @@ -0,0 +1,24 @@ +user()->hasVerifiedEmail()) { + return redirect()->intended(route('dashboard', absolute: false).'?verified=1'); + } + + $request->fulfill(); + + return redirect()->intended(route('dashboard', absolute: false).'?verified=1'); + } +} diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php new file mode 100644 index 0000000..8677cd5 --- /dev/null +++ b/app/Http/Controllers/Controller.php @@ -0,0 +1,8 @@ +validate([ + 'current_password' => ['required', 'current_password'], + 'password' => ['required', Password::defaults(), 'confirmed'], + ]); + + $request->user()->update([ + 'password' => Hash::make($validated['password']), + ]); + + return back(); + } +} diff --git a/app/Http/Controllers/Settings/ProfileController.php b/app/Http/Controllers/Settings/ProfileController.php new file mode 100644 index 0000000..a6cb7e1 --- /dev/null +++ b/app/Http/Controllers/Settings/ProfileController.php @@ -0,0 +1,63 @@ + $request->user() instanceof MustVerifyEmail, + 'status' => $request->session()->get('status'), + ]); + } + + /** + * Update the user's profile settings. + */ + public function update(ProfileUpdateRequest $request): RedirectResponse + { + $request->user()->fill($request->validated()); + + if ($request->user()->isDirty('email')) { + $request->user()->email_verified_at = null; + } + + $request->user()->save(); + + return to_route('profile.edit'); + } + + /** + * Delete the user's account. + */ + public function destroy(Request $request): RedirectResponse + { + $request->validate([ + 'password' => ['required', 'current_password'], + ]); + + $user = $request->user(); + + Auth::logout(); + + $user->delete(); + + $request->session()->invalidate(); + $request->session()->regenerateToken(); + + return redirect('/'); + } +} diff --git a/app/Http/Middleware/ApiTokenAuth.php b/app/Http/Middleware/ApiTokenAuth.php new file mode 100644 index 0000000..f761b0c --- /dev/null +++ b/app/Http/Middleware/ApiTokenAuth.php @@ -0,0 +1,32 @@ +header('Authorization', ''); + if (! str_starts_with($header, 'Bearer ')) { + return response()->json(['error' => ['code' => 'unauthorized']], 401); + } + $token = substr($header, 7); + $userId = Cache::get('api_token:'.$token); + if (! $userId) { + return response()->json(['error' => ['code' => 'unauthorized']], 401); + } + $user = User::find($userId); + if (! $user) { + return response()->json(['error' => ['code' => 'unauthorized']], 401); + } + Auth::login($user); // for policies if needed + return $next($request); + } +} + diff --git a/app/Http/Middleware/HandleAppearance.php b/app/Http/Middleware/HandleAppearance.php new file mode 100644 index 0000000..f1a02bb --- /dev/null +++ b/app/Http/Middleware/HandleAppearance.php @@ -0,0 +1,23 @@ +cookie('appearance') ?? 'system'); + + return $next($request); + } +} diff --git a/app/Http/Middleware/HandleInertiaRequests.php b/app/Http/Middleware/HandleInertiaRequests.php new file mode 100644 index 0000000..bd89013 --- /dev/null +++ b/app/Http/Middleware/HandleInertiaRequests.php @@ -0,0 +1,51 @@ + + */ + public function share(Request $request): array + { + [$message, $author] = str(Inspiring::quotes()->random())->explode('-'); + + return [ + ...parent::share($request), + 'name' => config('app.name'), + 'quote' => ['message' => trim($message), 'author' => trim($author)], + 'auth' => [ + 'user' => $request->user(), + ], + 'sidebarOpen' => ! $request->hasCookie('sidebar_state') || $request->cookie('sidebar_state') === 'true', + ]; + } +} diff --git a/app/Http/Requests/Auth/LoginRequest.php b/app/Http/Requests/Auth/LoginRequest.php new file mode 100644 index 0000000..feef498 --- /dev/null +++ b/app/Http/Requests/Auth/LoginRequest.php @@ -0,0 +1,88 @@ +|string> + */ + public function rules(): array + { + return [ + 'email' => ['required', 'string', 'email'], + 'password' => ['required', 'string'], + ]; + } + + /** + * Attempt to authenticate the request's credentials. + * + * @throws \Illuminate\Validation\ValidationException + */ + public function authenticate(): void + { + $this->ensureIsNotRateLimited(); + + if (! Auth::attempt($this->only('email', 'password'), $this->boolean('remember'))) { + RateLimiter::hit($this->throttleKey()); + + throw ValidationException::withMessages([ + 'email' => __('auth.failed'), + ]); + } + + RateLimiter::clear($this->throttleKey()); + } + + /** + * Ensure the login request is not rate limited. + * + * @throws \Illuminate\Validation\ValidationException + */ + public function ensureIsNotRateLimited(): void + { + if (! RateLimiter::tooManyAttempts($this->throttleKey(), 5)) { + return; + } + + event(new Lockout($this)); + + $seconds = RateLimiter::availableIn($this->throttleKey()); + + throw ValidationException::withMessages([ + 'email' => __('auth.throttle', [ + 'seconds' => $seconds, + 'minutes' => ceil($seconds / 60), + ]), + ]); + } + + /** + * Get the rate limiting throttle key for the request. + */ + public function throttleKey(): string + { + return $this->string('email') + ->lower() + ->append('|'.$this->ip()) + ->transliterate() + ->value(); + } +} diff --git a/app/Http/Requests/Settings/ProfileUpdateRequest.php b/app/Http/Requests/Settings/ProfileUpdateRequest.php new file mode 100644 index 0000000..64cf26b --- /dev/null +++ b/app/Http/Requests/Settings/ProfileUpdateRequest.php @@ -0,0 +1,32 @@ +|string> + */ + public function rules(): array + { + return [ + 'name' => ['required', 'string', 'max:255'], + + 'email' => [ + 'required', + 'string', + 'lowercase', + 'email', + 'max:255', + Rule::unique(User::class)->ignore($this->user()->id), + ], + ]; + } +} diff --git a/app/Models/Emotion.php b/app/Models/Emotion.php new file mode 100644 index 0000000..c9c9afc --- /dev/null +++ b/app/Models/Emotion.php @@ -0,0 +1,27 @@ + 'array', + 'description' => 'array', + ]; + + public function eventTypes(): BelongsToMany + { + return $this->belongsToMany(EventType::class, 'emotion_event_type', 'emotion_id', 'event_type_id'); + } + + public function tasks(): HasMany + { + return $this->hasMany(Task::class); + } +} diff --git a/app/Models/Event.php b/app/Models/Event.php new file mode 100644 index 0000000..eed1e58 --- /dev/null +++ b/app/Models/Event.php @@ -0,0 +1,29 @@ + 'date', + 'settings' => 'array', + 'is_active' => 'boolean', + ]; + + public function tenant(): BelongsTo + { + return $this->belongsTo(Tenant::class); + } + + public function photos(): HasMany + { + return $this->hasMany(Photo::class); + } +} + diff --git a/app/Models/EventType.php b/app/Models/EventType.php new file mode 100644 index 0000000..b6524af --- /dev/null +++ b/app/Models/EventType.php @@ -0,0 +1,27 @@ + 'array', + 'settings' => 'array', + ]; + + public function emotions(): BelongsToMany + { + return $this->belongsToMany(Emotion::class, 'emotion_event_type', 'event_type_id', 'emotion_id'); + } + + public function events(): HasMany + { + return $this->hasMany(Event::class); + } +} diff --git a/app/Models/LegalPage.php b/app/Models/LegalPage.php new file mode 100644 index 0000000..4d73afb --- /dev/null +++ b/app/Models/LegalPage.php @@ -0,0 +1,18 @@ + 'array', + 'body_markdown' => 'array', + 'is_published' => 'boolean', + 'effective_from' => 'datetime', + ]; +} + diff --git a/app/Models/Photo.php b/app/Models/Photo.php new file mode 100644 index 0000000..cce939a --- /dev/null +++ b/app/Models/Photo.php @@ -0,0 +1,22 @@ + 'boolean', + 'metadata' => 'array', + ]; + + public function event(): BelongsTo + { + return $this->belongsTo(Event::class); + } +} + diff --git a/app/Models/Task.php b/app/Models/Task.php new file mode 100644 index 0000000..fbccc56 --- /dev/null +++ b/app/Models/Task.php @@ -0,0 +1,27 @@ + 'array', + 'description' => 'array', + 'example_text' => 'array', + ]; + + public function emotion(): BelongsTo + { + return $this->belongsTo(Emotion::class); + } + + public function eventType(): BelongsTo + { + return $this->belongsTo(EventType::class, 'event_type_id'); + } +} diff --git a/app/Models/Tenant.php b/app/Models/Tenant.php new file mode 100644 index 0000000..d47c7a6 --- /dev/null +++ b/app/Models/Tenant.php @@ -0,0 +1,21 @@ + 'array', + 'last_activity_at' => 'datetime', + ]; + + public function events(): HasMany + { + return $this->hasMany(Event::class); + } +} diff --git a/app/Models/User.php b/app/Models/User.php new file mode 100644 index 0000000..d89e8ee --- /dev/null +++ b/app/Models/User.php @@ -0,0 +1,54 @@ + */ + use HasFactory, Notifiable; + + /** + * The attributes that are mass assignable. + * + * @var list + */ + protected $fillable = [ + 'name', + 'email', + 'password', + ]; + + /** + * The attributes that should be hidden for serialization. + * + * @var list + */ + protected $hidden = [ + 'password', + 'remember_token', + ]; + + /** + * Get the attributes that should be cast. + * + * @return array + */ + protected function casts(): array + { + return [ + 'email_verified_at' => 'datetime', + 'password' => 'hashed', + ]; + } + + public function tenant(): BelongsTo + { + return $this->belongsTo(Tenant::class); + } +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php new file mode 100644 index 0000000..452e6b6 --- /dev/null +++ b/app/Providers/AppServiceProvider.php @@ -0,0 +1,24 @@ +default() + ->id('super-admin') + ->path('super-admin') + ->colors([ + 'primary' => Color::Amber, + ]) + ->discoverResources(in: app_path('Filament/Resources'), for: 'App\Filament\Resources') + ->discoverPages(in: app_path('Filament/Pages'), for: 'App\Filament\Pages') + ->pages([ + Dashboard::class, + ]) + ->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\Filament\Widgets') + ->widgets([ + AccountWidget::class, + FilamentInfoWidget::class, + \App\Filament\Widgets\PlatformStatsWidget::class, + \App\Filament\Widgets\UploadsPerDayChart::class, + \App\Filament\Widgets\RecentPhotosTable::class, + \App\Filament\Widgets\TopTenantsByUploads::class, + \App\Filament\Widgets\EventsActiveToday::class, + ]) + ->middleware([ + EncryptCookies::class, + AddQueuedCookiesToResponse::class, + StartSession::class, + AuthenticateSession::class, + ShareErrorsFromSession::class, + VerifyCsrfToken::class, + SubstituteBindings::class, + DisableBladeIconComponents::class, + DispatchServingFilamentEvent::class, + ]) + ->authMiddleware([ + Authenticate::class, + ]); + } +} diff --git a/app/Support/ImageHelper.php b/app/Support/ImageHelper.php new file mode 100644 index 0000000..444bbdd --- /dev/null +++ b/app/Support/ImageHelper.php @@ -0,0 +1,69 @@ +path($sourcePath); + if (! file_exists($fullSrc)) { + return null; + } + + $data = @file_get_contents($fullSrc); + if ($data === false) { + return null; + } + + // Prefer robust decode via GD from string (handles jpeg/png/webp if compiled) + $src = @imagecreatefromstring($data); + if (! $src) { + return null; + } + + $w = imagesx($src); + $h = imagesy($src); + if ($w === 0 || $h === 0) { + imagedestroy($src); + return null; + } + + $scale = min(1.0, $maxEdge / max($w, $h)); + $tw = (int) max(1, round($w * $scale)); + $th = (int) max(1, round($h * $scale)); + + $dst = imagecreatetruecolor($tw, $th); + imagecopyresampled($dst, $src, 0, 0, 0, 0, $tw, $th, $w, $h); + + // Ensure destination directory exists + $destDir = dirname($destPath); + Storage::disk($disk)->makeDirectory($destDir); + $fullDest = Storage::disk($disk)->path($destPath); + + // Encode JPEG + @imagejpeg($dst, $fullDest, $quality); + + imagedestroy($dst); + imagedestroy($src); + + // Confirm file written + if (! file_exists($fullDest)) { + return null; + } + + return $destPath; + } catch (\Throwable $e) { + // Silent failure; caller can fall back to original + return null; + } + } +} + diff --git a/artisan b/artisan new file mode 100644 index 0000000..c35e31d --- /dev/null +++ b/artisan @@ -0,0 +1,18 @@ +#!/usr/bin/env php +handleCommand(new ArgvInput); + +exit($status); diff --git a/bootstrap/app.php b/bootstrap/app.php new file mode 100644 index 0000000..134581a --- /dev/null +++ b/bootstrap/app.php @@ -0,0 +1,27 @@ +withRouting( + web: __DIR__.'/../routes/web.php', + commands: __DIR__.'/../routes/console.php', + health: '/up', + ) + ->withMiddleware(function (Middleware $middleware) { + $middleware->encryptCookies(except: ['appearance', 'sidebar_state']); + + $middleware->web(append: [ + HandleAppearance::class, + HandleInertiaRequests::class, + AddLinkHeadersForPreloadedAssets::class, + ]); + }) + ->withExceptions(function (Exceptions $exceptions) { + // + })->create(); diff --git a/bootstrap/cache/.gitignore b/bootstrap/cache/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/bootstrap/cache/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/bootstrap/providers.php b/bootstrap/providers.php new file mode 100644 index 0000000..bf71b94 --- /dev/null +++ b/bootstrap/providers.php @@ -0,0 +1,6 @@ +=5.0.0" + }, + "require-dev": { + "doctrine/dbal": "^4.0.0", + "nesbot/carbon": "^2.71.0 || ^3.0.0", + "phpunit/phpunit": "^10.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Carbon\\Doctrine\\": "src/Carbon/Doctrine/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "KyleKatarn", + "email": "kylekatarnls@gmail.com" + } + ], + "description": "Types to use Carbon in Doctrine", + "keywords": [ + "carbon", + "date", + "datetime", + "doctrine", + "time" + ], + "support": { + "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", + "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/3.2.0" + }, + "funding": [ + { + "url": "https://github.com/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", + "type": "tidelift" + } + ], + "time": "2024-02-09T16:56:22+00:00" + }, + { + "name": "chillerlan/php-qrcode", + "version": "5.0.3", + "source": { + "type": "git", + "url": "https://github.com/chillerlan/php-qrcode.git", + "reference": "42e215640e9ebdd857570c9e4e52245d1ee51de2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/chillerlan/php-qrcode/zipball/42e215640e9ebdd857570c9e4e52245d1ee51de2", + "reference": "42e215640e9ebdd857570c9e4e52245d1ee51de2", + "shasum": "" + }, + "require": { + "chillerlan/php-settings-container": "^2.1.6 || ^3.2.1", + "ext-mbstring": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "chillerlan/php-authenticator": "^4.3.1 || ^5.2.1", + "ext-fileinfo": "*", + "phan/phan": "^5.4.5", + "phpcompatibility/php-compatibility": "10.x-dev", + "phpmd/phpmd": "^2.15", + "phpunit/phpunit": "^9.6", + "setasign/fpdf": "^1.8.2", + "slevomat/coding-standard": "^8.15", + "squizlabs/php_codesniffer": "^3.11" + }, + "suggest": { + "chillerlan/php-authenticator": "Yet another Google authenticator! Also creates URIs for mobile apps.", + "setasign/fpdf": "Required to use the QR FPDF output.", + "simple-icons/simple-icons": "SVG icons that you can use to embed as logos in the QR Code" + }, + "type": "library", + "autoload": { + "psr-4": { + "chillerlan\\QRCode\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT", + "Apache-2.0" + ], + "authors": [ + { + "name": "Kazuhiko Arase", + "homepage": "https://github.com/kazuhikoarase/qrcode-generator" + }, + { + "name": "ZXing Authors", + "homepage": "https://github.com/zxing/zxing" + }, + { + "name": "Ashot Khanamiryan", + "homepage": "https://github.com/khanamiryan/php-qrcode-detector-decoder" + }, + { + "name": "Smiley", + "email": "smiley@chillerlan.net", + "homepage": "https://github.com/codemasher" + }, + { + "name": "Contributors", + "homepage": "https://github.com/chillerlan/php-qrcode/graphs/contributors" + } + ], + "description": "A QR Code generator and reader with a user-friendly API. PHP 7.4+", + "homepage": "https://github.com/chillerlan/php-qrcode", + "keywords": [ + "phpqrcode", + "qr", + "qr code", + "qr-reader", + "qrcode", + "qrcode-generator", + "qrcode-reader" + ], + "support": { + "docs": "https://php-qrcode.readthedocs.io", + "issues": "https://github.com/chillerlan/php-qrcode/issues", + "source": "https://github.com/chillerlan/php-qrcode" + }, + "funding": [ + { + "url": "https://ko-fi.com/codemasher", + "type": "Ko-Fi" + } + ], + "time": "2024-11-21T16:12:34+00:00" + }, + { + "name": "chillerlan/php-settings-container", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/chillerlan/php-settings-container.git", + "reference": "95ed3e9676a1d47cab2e3174d19b43f5dbf52681" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/chillerlan/php-settings-container/zipball/95ed3e9676a1d47cab2e3174d19b43f5dbf52681", + "reference": "95ed3e9676a1d47cab2e3174d19b43f5dbf52681", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^8.1" + }, + "require-dev": { + "phpmd/phpmd": "^2.15", + "phpstan/phpstan": "^1.11", + "phpstan/phpstan-deprecation-rules": "^1.2", + "phpunit/phpunit": "^10.5", + "squizlabs/php_codesniffer": "^3.10" + }, + "type": "library", + "autoload": { + "psr-4": { + "chillerlan\\Settings\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Smiley", + "email": "smiley@chillerlan.net", + "homepage": "https://github.com/codemasher" + } + ], + "description": "A container class for immutable settings objects. Not a DI container.", + "homepage": "https://github.com/chillerlan/php-settings-container", + "keywords": [ + "Settings", + "configuration", + "container", + "helper" + ], + "support": { + "issues": "https://github.com/chillerlan/php-settings-container/issues", + "source": "https://github.com/chillerlan/php-settings-container" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate?hosted_button_id=WLYUNAT9ZTJZ4", + "type": "custom" + }, + { + "url": "https://ko-fi.com/codemasher", + "type": "ko_fi" + } + ], + "time": "2024-07-16T11:13:48+00:00" + }, + { + "name": "danharrin/date-format-converter", + "version": "v0.3.1", + "source": { + "type": "git", + "url": "https://github.com/danharrin/date-format-converter.git", + "reference": "7c31171bc981e48726729a5f3a05a2d2b63f0b1e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/danharrin/date-format-converter/zipball/7c31171bc981e48726729a5f3a05a2d2b63f0b1e", + "reference": "7c31171bc981e48726729a5f3a05a2d2b63f0b1e", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0" + }, + "type": "library", + "autoload": { + "files": [ + "src/helpers.php", + "src/standards.php" + ], + "psr-4": { + "DanHarrin\\DateFormatConverter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dan Harrin", + "email": "dan@danharrin.com" + } + ], + "description": "Convert token-based date formats between standards.", + "homepage": "https://github.com/danharrin/date-format-converter", + "support": { + "issues": "https://github.com/danharrin/date-format-converter/issues", + "source": "https://github.com/danharrin/date-format-converter" + }, + "funding": [ + { + "url": "https://github.com/danharrin", + "type": "github" + } + ], + "time": "2024-06-13T09:38:44+00:00" + }, + { + "name": "danharrin/livewire-rate-limiting", + "version": "v2.1.0", + "source": { + "type": "git", + "url": "https://github.com/danharrin/livewire-rate-limiting.git", + "reference": "14dde653a9ae8f38af07a0ba4921dc046235e1a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/danharrin/livewire-rate-limiting/zipball/14dde653a9ae8f38af07a0ba4921dc046235e1a0", + "reference": "14dde653a9ae8f38af07a0ba4921dc046235e1a0", + "shasum": "" + }, + "require": { + "illuminate/support": "^9.0|^10.0|^11.0|^12.0", + "php": "^8.0" + }, + "require-dev": { + "livewire/livewire": "^3.0", + "livewire/volt": "^1.3", + "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0", + "phpunit/phpunit": "^9.0|^10.0|^11.5.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "DanHarrin\\LivewireRateLimiting\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dan Harrin", + "email": "dan@danharrin.com" + } + ], + "description": "Apply rate limiters to Laravel Livewire actions.", + "homepage": "https://github.com/danharrin/livewire-rate-limiting", + "support": { + "issues": "https://github.com/danharrin/livewire-rate-limiting/issues", + "source": "https://github.com/danharrin/livewire-rate-limiting" + }, + "funding": [ + { + "url": "https://github.com/danharrin", + "type": "github" + } + ], + "time": "2025-02-21T08:52:11+00:00" + }, + { + "name": "dasprid/enum", + "version": "1.0.6", + "source": { + "type": "git", + "url": "https://github.com/DASPRiD/Enum.git", + "reference": "8dfd07c6d2cf31c8da90c53b83c026c7696dda90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/8dfd07c6d2cf31c8da90c53b83c026c7696dda90", + "reference": "8dfd07c6d2cf31c8da90c53b83c026c7696dda90", + "shasum": "" + }, + "require": { + "php": ">=7.1 <9.0" + }, + "require-dev": { + "phpunit/phpunit": "^7 || ^8 || ^9 || ^10 || ^11", + "squizlabs/php_codesniffer": "*" + }, + "type": "library", + "autoload": { + "psr-4": { + "DASPRiD\\Enum\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Ben Scholzen 'DASPRiD'", + "email": "mail@dasprids.de", + "homepage": "https://dasprids.de/", + "role": "Developer" + } + ], + "description": "PHP 7.1 enum implementation", + "keywords": [ + "enum", + "map" + ], + "support": { + "issues": "https://github.com/DASPRiD/Enum/issues", + "source": "https://github.com/DASPRiD/Enum/tree/1.0.6" + }, + "time": "2024-08-09T14:30:48+00:00" + }, + { + "name": "dflydev/dot-access-data", + "version": "v3.0.3", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.42", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", + "scrutinizer/ocular": "1.6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Dflydev\\DotAccessData\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + }, + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com" + } + ], + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", + "keywords": [ + "access", + "data", + "dot", + "notation" + ], + "support": { + "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.3" + }, + "time": "2024-07-08T12:26:09+00:00" + }, + { + "name": "doctrine/inflector", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "6d6c96277ea252fc1304627204c3d5e6e15faa3b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/6d6c96277ea252fc1304627204c3d5e6e15faa3b", + "reference": "6d6c96277ea252fc1304627204c3d5e6e15faa3b", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^12.0 || ^13.0", + "phpstan/phpstan": "^1.12 || ^2.0", + "phpstan/phpstan-phpunit": "^1.4 || ^2.0", + "phpstan/phpstan-strict-rules": "^1.6 || ^2.0", + "phpunit/phpunit": "^8.5 || ^12.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", + "keywords": [ + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.1.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", + "type": "tidelift" + } + ], + "time": "2025-08-10T19:31:58+00:00" + }, + { + "name": "doctrine/lexer", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "doctrine/coding-standard": "^12", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.5", + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^5.21" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/3.0.1" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2024-02-05T11:56:58+00:00" + }, + { + "name": "dragonmantank/cron-expression", + "version": "v3.4.0", + "source": { + "type": "git", + "url": "https://github.com/dragonmantank/cron-expression.git", + "reference": "8c784d071debd117328803d86b2097615b457500" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/8c784d071debd117328803d86b2097615b457500", + "reference": "8c784d071debd117328803d86b2097615b457500", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0", + "webmozart/assert": "^1.0" + }, + "replace": { + "mtdowling/cron-expression": "^1.0" + }, + "require-dev": { + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.0", + "phpunit/phpunit": "^7.0|^8.0|^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Cron\\": "src/Cron/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Tankersley", + "email": "chris@ctankersley.com", + "homepage": "https://github.com/dragonmantank" + } + ], + "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "keywords": [ + "cron", + "schedule" + ], + "support": { + "issues": "https://github.com/dragonmantank/cron-expression/issues", + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.4.0" + }, + "funding": [ + { + "url": "https://github.com/dragonmantank", + "type": "github" + } + ], + "time": "2024-10-09T13:47:03+00:00" + }, + { + "name": "egulias/email-validator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", + "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^2.0 || ^3.0", + "php": ">=8.1", + "symfony/polyfill-intl-idn": "^1.26" + }, + "require-dev": { + "phpunit/phpunit": "^10.2", + "vimeo/psalm": "^5.12" + }, + "suggest": { + "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Egulias\\EmailValidator\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eduardo Gulias Davis" + } + ], + "description": "A library for validating emails against several RFCs", + "homepage": "https://github.com/egulias/EmailValidator", + "keywords": [ + "email", + "emailvalidation", + "emailvalidator", + "validation", + "validator" + ], + "support": { + "issues": "https://github.com/egulias/EmailValidator/issues", + "source": "https://github.com/egulias/EmailValidator/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/egulias", + "type": "github" + } + ], + "time": "2025-03-06T22:45:56+00:00" + }, + { + "name": "filament/actions", + "version": "v4.0.7", + "source": { + "type": "git", + "url": "https://github.com/filamentphp/actions.git", + "reference": "839ce7099627bea6f44fb71d4302e2696795fede" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filamentphp/actions/zipball/839ce7099627bea6f44fb71d4302e2696795fede", + "reference": "839ce7099627bea6f44fb71d4302e2696795fede", + "shasum": "" + }, + "require": { + "anourvalar/eloquent-serialize": "^1.2", + "filament/forms": "self.version", + "filament/infolists": "self.version", + "filament/notifications": "self.version", + "filament/support": "self.version", + "league/csv": "^9.16", + "openspout/openspout": "^4.23", + "php": "^8.2" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Filament\\Actions\\ActionsServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Filament\\Actions\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Easily add beautiful action modals to any Livewire component.", + "homepage": "https://github.com/filamentphp/filament", + "support": { + "issues": "https://github.com/filamentphp/filament/issues", + "source": "https://github.com/filamentphp/filament" + }, + "time": "2025-09-04T14:12:54+00:00" + }, + { + "name": "filament/filament", + "version": "v4.0.7", + "source": { + "type": "git", + "url": "https://github.com/filamentphp/panels.git", + "reference": "5cc9f39f8f2112776d66cd0daeab8430f77921ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filamentphp/panels/zipball/5cc9f39f8f2112776d66cd0daeab8430f77921ce", + "reference": "5cc9f39f8f2112776d66cd0daeab8430f77921ce", + "shasum": "" + }, + "require": { + "chillerlan/php-qrcode": "^5.0", + "filament/actions": "self.version", + "filament/forms": "self.version", + "filament/infolists": "self.version", + "filament/notifications": "self.version", + "filament/schemas": "self.version", + "filament/support": "self.version", + "filament/tables": "self.version", + "filament/widgets": "self.version", + "php": "^8.2", + "pragmarx/google2fa": "^8.0", + "pragmarx/google2fa-qrcode": "^3.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Filament\\FilamentServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "src/global_helpers.php", + "src/helpers.php" + ], + "psr-4": { + "Filament\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A collection of full-stack components for accelerated Laravel app development.", + "homepage": "https://github.com/filamentphp/filament", + "support": { + "issues": "https://github.com/filamentphp/filament/issues", + "source": "https://github.com/filamentphp/filament" + }, + "time": "2025-09-04T14:12:49+00:00" + }, + { + "name": "filament/forms", + "version": "v4.0.7", + "source": { + "type": "git", + "url": "https://github.com/filamentphp/forms.git", + "reference": "8aea1f3a16bceefd226554953013c457aa430c40" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filamentphp/forms/zipball/8aea1f3a16bceefd226554953013c457aa430c40", + "reference": "8aea1f3a16bceefd226554953013c457aa430c40", + "shasum": "" + }, + "require": { + "danharrin/date-format-converter": "^0.3", + "filament/actions": "self.version", + "filament/schemas": "self.version", + "filament/support": "self.version", + "php": "^8.2", + "ueberdosis/tiptap-php": "^2.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Filament\\Forms\\FormsServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Filament\\Forms\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Easily add beautiful forms to any Livewire component.", + "homepage": "https://github.com/filamentphp/filament", + "support": { + "issues": "https://github.com/filamentphp/filament/issues", + "source": "https://github.com/filamentphp/filament" + }, + "time": "2025-09-04T14:12:46+00:00" + }, + { + "name": "filament/infolists", + "version": "v4.0.7", + "source": { + "type": "git", + "url": "https://github.com/filamentphp/infolists.git", + "reference": "ecf47afbcc80732671b7c9170e7d9807a9f5a22b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filamentphp/infolists/zipball/ecf47afbcc80732671b7c9170e7d9807a9f5a22b", + "reference": "ecf47afbcc80732671b7c9170e7d9807a9f5a22b", + "shasum": "" + }, + "require": { + "filament/actions": "self.version", + "filament/schemas": "self.version", + "filament/support": "self.version", + "php": "^8.2" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Filament\\Infolists\\InfolistsServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Filament\\Infolists\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Easily add beautiful read-only infolists to any Livewire component.", + "homepage": "https://github.com/filamentphp/filament", + "support": { + "issues": "https://github.com/filamentphp/filament/issues", + "source": "https://github.com/filamentphp/filament" + }, + "time": "2025-09-04T14:12:51+00:00" + }, + { + "name": "filament/notifications", + "version": "v4.0.7", + "source": { + "type": "git", + "url": "https://github.com/filamentphp/notifications.git", + "reference": "378b819305ca262eb8f0677774105dfccce49ac1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filamentphp/notifications/zipball/378b819305ca262eb8f0677774105dfccce49ac1", + "reference": "378b819305ca262eb8f0677774105dfccce49ac1", + "shasum": "" + }, + "require": { + "filament/actions": "self.version", + "filament/support": "self.version", + "php": "^8.2" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Filament\\Notifications\\NotificationsServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "src/Testing/helpers.php" + ], + "psr-4": { + "Filament\\Notifications\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Easily add beautiful notifications to any Livewire app.", + "homepage": "https://github.com/filamentphp/filament", + "support": { + "issues": "https://github.com/filamentphp/filament/issues", + "source": "https://github.com/filamentphp/filament" + }, + "time": "2025-09-04T14:12:43+00:00" + }, + { + "name": "filament/schemas", + "version": "v4.0.7", + "source": { + "type": "git", + "url": "https://github.com/filamentphp/schemas.git", + "reference": "328a2b34e812a56b33cf6e4184e1f177094b4a47" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filamentphp/schemas/zipball/328a2b34e812a56b33cf6e4184e1f177094b4a47", + "reference": "328a2b34e812a56b33cf6e4184e1f177094b4a47", + "shasum": "" + }, + "require": { + "danharrin/date-format-converter": "^0.3", + "filament/actions": "self.version", + "filament/support": "self.version", + "php": "^8.2" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Filament\\Schemas\\SchemasServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Filament\\Schemas\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Easily add beautiful UI to any Livewire component.", + "homepage": "https://github.com/filamentphp/filament", + "support": { + "issues": "https://github.com/filamentphp/filament/issues", + "source": "https://github.com/filamentphp/filament" + }, + "time": "2025-09-04T14:12:50+00:00" + }, + { + "name": "filament/support", + "version": "v4.0.7", + "source": { + "type": "git", + "url": "https://github.com/filamentphp/support.git", + "reference": "48684756dd3609abebb5c659cf90113a26e9e219" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filamentphp/support/zipball/48684756dd3609abebb5c659cf90113a26e9e219", + "reference": "48684756dd3609abebb5c659cf90113a26e9e219", + "shasum": "" + }, + "require": { + "blade-ui-kit/blade-heroicons": "^2.5", + "danharrin/livewire-rate-limiting": "^2.0", + "ext-intl": "*", + "illuminate/contracts": "^11.28|^12.0", + "kirschbaum-development/eloquent-power-joins": "^4.0", + "league/uri-components": "^7.0", + "livewire/livewire": "^3.5", + "nette/php-generator": "^4.0", + "php": "^8.2", + "ryangjchandler/blade-capture-directive": "^1.0", + "spatie/invade": "^2.0", + "spatie/laravel-package-tools": "^1.9", + "symfony/console": "^7.0", + "symfony/html-sanitizer": "^7.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Filament\\Support\\SupportServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Filament\\Support\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Core helper methods and foundation code for all Filament packages.", + "homepage": "https://github.com/filamentphp/filament", + "support": { + "issues": "https://github.com/filamentphp/filament/issues", + "source": "https://github.com/filamentphp/filament" + }, + "time": "2025-09-04T14:12:45+00:00" + }, + { + "name": "filament/tables", + "version": "v4.0.7", + "source": { + "type": "git", + "url": "https://github.com/filamentphp/tables.git", + "reference": "0c8e7f4f2bacfe1bea6dcfeb5c3d6cc0d173844f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filamentphp/tables/zipball/0c8e7f4f2bacfe1bea6dcfeb5c3d6cc0d173844f", + "reference": "0c8e7f4f2bacfe1bea6dcfeb5c3d6cc0d173844f", + "shasum": "" + }, + "require": { + "filament/actions": "self.version", + "filament/forms": "self.version", + "filament/support": "self.version", + "php": "^8.2" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Filament\\Tables\\TablesServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Filament\\Tables\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Easily add beautiful tables to any Livewire component.", + "homepage": "https://github.com/filamentphp/filament", + "support": { + "issues": "https://github.com/filamentphp/filament/issues", + "source": "https://github.com/filamentphp/filament" + }, + "time": "2025-09-04T14:12:44+00:00" + }, + { + "name": "filament/widgets", + "version": "v4.0.7", + "source": { + "type": "git", + "url": "https://github.com/filamentphp/widgets.git", + "reference": "f761a52df367f8bde47d9d2518c3c0b646155345" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filamentphp/widgets/zipball/f761a52df367f8bde47d9d2518c3c0b646155345", + "reference": "f761a52df367f8bde47d9d2518c3c0b646155345", + "shasum": "" + }, + "require": { + "filament/schemas": "self.version", + "filament/support": "self.version", + "php": "^8.2" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Filament\\Widgets\\WidgetsServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Filament\\Widgets\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Easily add beautiful dashboard widgets to any Livewire component.", + "homepage": "https://github.com/filamentphp/filament", + "support": { + "issues": "https://github.com/filamentphp/filament/issues", + "source": "https://github.com/filamentphp/filament" + }, + "time": "2025-09-04T14:12:52+00:00" + }, + { + "name": "fruitcake/php-cors", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/fruitcake/php-cors.git", + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b", + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0", + "symfony/http-foundation": "^4.4|^5.4|^6|^7" + }, + "require-dev": { + "phpstan/phpstan": "^1.4", + "phpunit/phpunit": "^9", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "Fruitcake\\Cors\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fruitcake", + "homepage": "https://fruitcake.nl" + }, + { + "name": "Barryvdh", + "email": "barryvdh@gmail.com" + } + ], + "description": "Cross-origin resource sharing library for the Symfony HttpFoundation", + "homepage": "https://github.com/fruitcake/php-cors", + "keywords": [ + "cors", + "laravel", + "symfony" + ], + "support": { + "issues": "https://github.com/fruitcake/php-cors/issues", + "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2023-10-12T05:21:21+00:00" + }, + { + "name": "graham-campbell/result-type", + "version": "v1.1.3", + "source": { + "type": "git", + "url": "https://github.com/GrahamCampbell/Result-Type.git", + "reference": "3ba905c11371512af9d9bdd27d99b782216b6945" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945", + "reference": "3ba905c11371512af9d9bdd27d99b782216b6945", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.3" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" + }, + "type": "library", + "autoload": { + "psr-4": { + "GrahamCampbell\\ResultType\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "An Implementation Of The Result Type", + "keywords": [ + "Graham Campbell", + "GrahamCampbell", + "Result Type", + "Result-Type", + "result" + ], + "support": { + "issues": "https://github.com/GrahamCampbell/Result-Type/issues", + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", + "type": "tidelift" + } + ], + "time": "2024-07-20T21:45:45+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "7.10.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", + "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/promises": "^2.3", + "guzzlehttp/psr7": "^2.8", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "provide": { + "psr/http-client-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "ext-curl": "*", + "guzzle/client-integration-tests": "3.0.2", + "php-http/message-factory": "^1.1", + "phpunit/phpunit": "^8.5.39 || ^9.6.20", + "psr/log": "^1.1 || ^2.0 || ^3.0" + }, + "suggest": { + "ext-curl": "Required for CURL handler support", + "ext-intl": "Required for Internationalized Domain Name (IDN) support", + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "psr-18", + "psr-7", + "rest", + "web service" + ], + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/7.10.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" + } + ], + "time": "2025-08-23T22:36:01+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "2.3.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "481557b130ef3790cf82b713667b43030dc9c957" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957", + "reference": "481557b130ef3790cf82b713667b43030dc9c957", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.44 || ^9.6.25" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/2.3.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", + "type": "tidelift" + } + ], + "time": "2025-08-22T14:34:08+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "2.8.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "21dc724a0583619cd1652f673303492272778051" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051", + "reference": "21dc724a0583619cd1652f673303492272778051", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.0", + "ralouphie/getallheaders": "^3.0" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "http-interop/http-factory-tests": "0.9.0", + "phpunit/phpunit": "^8.5.44 || ^9.6.25" + }, + "suggest": { + "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/2.8.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], + "time": "2025-08-23T21:21:41+00:00" + }, + { + "name": "guzzlehttp/uri-template", + "version": "v1.0.5", + "source": { + "type": "git", + "url": "https://github.com/guzzle/uri-template.git", + "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/4f4bbd4e7172148801e76e3decc1e559bdee34e1", + "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "symfony/polyfill-php80": "^1.24" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.44 || ^9.6.25", + "uri-template/tests": "1.0.0" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\UriTemplate\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + } + ], + "description": "A polyfill class for uri_template of PHP", + "keywords": [ + "guzzlehttp", + "uri-template" + ], + "support": { + "issues": "https://github.com/guzzle/uri-template/issues", + "source": "https://github.com/guzzle/uri-template/tree/v1.0.5" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/uri-template", + "type": "tidelift" + } + ], + "time": "2025-08-22T14:27:06+00:00" + }, + { + "name": "inertiajs/inertia-laravel", + "version": "v2.0.6", + "source": { + "type": "git", + "url": "https://github.com/inertiajs/inertia-laravel.git", + "reference": "6d0afc3237c370036de4a703927b17a4e7b83298" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/inertiajs/inertia-laravel/zipball/6d0afc3237c370036de4a703927b17a4e7b83298", + "reference": "6d0afc3237c370036de4a703927b17a4e7b83298", + "shasum": "" + }, + "require": { + "ext-json": "*", + "laravel/framework": "^10.0|^11.0|^12.0", + "php": "^8.1.0", + "symfony/console": "^6.2|^7.0" + }, + "require-dev": { + "guzzlehttp/guzzle": "^7.2", + "larastan/larastan": "^3.0", + "laravel/pint": "^1.16", + "mockery/mockery": "^1.3.3", + "orchestra/testbench": "^8.0|^9.2|^10.0", + "phpunit/phpunit": "^10.4|^11.5", + "roave/security-advisories": "dev-master" + }, + "suggest": { + "ext-pcntl": "Recommended when running the Inertia SSR server via the `inertia:start-ssr` artisan command." + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Inertia\\ServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "./helpers.php" + ], + "psr-4": { + "Inertia\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Reinink", + "email": "jonathan@reinink.ca", + "homepage": "https://reinink.ca" + } + ], + "description": "The Laravel adapter for Inertia.js.", + "keywords": [ + "inertia", + "laravel" + ], + "support": { + "issues": "https://github.com/inertiajs/inertia-laravel/issues", + "source": "https://github.com/inertiajs/inertia-laravel/tree/v2.0.6" + }, + "time": "2025-08-26T06:17:48+00:00" + }, + { + "name": "kirschbaum-development/eloquent-power-joins", + "version": "4.2.8", + "source": { + "type": "git", + "url": "https://github.com/kirschbaum-development/eloquent-power-joins.git", + "reference": "d67c7e2efa886d2ef8bb29e86c3ddb9438ac6390" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/kirschbaum-development/eloquent-power-joins/zipball/d67c7e2efa886d2ef8bb29e86c3ddb9438ac6390", + "reference": "d67c7e2efa886d2ef8bb29e86c3ddb9438ac6390", + "shasum": "" + }, + "require": { + "illuminate/database": "^11.42|^12.0", + "illuminate/support": "^11.42|^12.0", + "php": "^8.2" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "dev-master", + "laravel/legacy-factories": "^1.0@dev", + "orchestra/testbench": "^9.0|^10.0", + "phpunit/phpunit": "^10.0|^11.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Kirschbaum\\PowerJoins\\PowerJoinsServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Kirschbaum\\PowerJoins\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Luis Dalmolin", + "email": "luis.nh@gmail.com", + "role": "Developer" + } + ], + "description": "The Laravel magic applied to joins.", + "homepage": "https://github.com/kirschbaum-development/eloquent-power-joins", + "keywords": [ + "eloquent", + "join", + "laravel", + "mysql" + ], + "support": { + "issues": "https://github.com/kirschbaum-development/eloquent-power-joins/issues", + "source": "https://github.com/kirschbaum-development/eloquent-power-joins/tree/4.2.8" + }, + "time": "2025-08-14T18:43:05+00:00" + }, + { + "name": "laravel/framework", + "version": "v12.28.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/framework.git", + "reference": "868c1f2d3dba4df6d21e3a8d818479f094cfd942" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/framework/zipball/868c1f2d3dba4df6d21e3a8d818479f094cfd942", + "reference": "868c1f2d3dba4df6d21e3a8d818479f094cfd942", + "shasum": "" + }, + "require": { + "brick/math": "^0.11|^0.12|^0.13|^0.14", + "composer-runtime-api": "^2.2", + "doctrine/inflector": "^2.0.5", + "dragonmantank/cron-expression": "^3.4", + "egulias/email-validator": "^3.2.1|^4.0", + "ext-ctype": "*", + "ext-filter": "*", + "ext-hash": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-session": "*", + "ext-tokenizer": "*", + "fruitcake/php-cors": "^1.3", + "guzzlehttp/guzzle": "^7.8.2", + "guzzlehttp/uri-template": "^1.0", + "laravel/prompts": "^0.3.0", + "laravel/serializable-closure": "^1.3|^2.0", + "league/commonmark": "^2.7", + "league/flysystem": "^3.25.1", + "league/flysystem-local": "^3.25.1", + "league/uri": "^7.5.1", + "monolog/monolog": "^3.0", + "nesbot/carbon": "^3.8.4", + "nunomaduro/termwind": "^2.0", + "php": "^8.2", + "psr/container": "^1.1.1|^2.0.1", + "psr/log": "^1.0|^2.0|^3.0", + "psr/simple-cache": "^1.0|^2.0|^3.0", + "ramsey/uuid": "^4.7", + "symfony/console": "^7.2.0", + "symfony/error-handler": "^7.2.0", + "symfony/finder": "^7.2.0", + "symfony/http-foundation": "^7.2.0", + "symfony/http-kernel": "^7.2.0", + "symfony/mailer": "^7.2.0", + "symfony/mime": "^7.2.0", + "symfony/polyfill-php83": "^1.33", + "symfony/polyfill-php84": "^1.33", + "symfony/polyfill-php85": "^1.33", + "symfony/process": "^7.2.0", + "symfony/routing": "^7.2.0", + "symfony/uid": "^7.2.0", + "symfony/var-dumper": "^7.2.0", + "tijsverkoyen/css-to-inline-styles": "^2.2.5", + "vlucas/phpdotenv": "^5.6.1", + "voku/portable-ascii": "^2.0.2" + }, + "conflict": { + "tightenco/collect": "<5.5.33" + }, + "provide": { + "psr/container-implementation": "1.1|2.0", + "psr/log-implementation": "1.0|2.0|3.0", + "psr/simple-cache-implementation": "1.0|2.0|3.0" + }, + "replace": { + "illuminate/auth": "self.version", + "illuminate/broadcasting": "self.version", + "illuminate/bus": "self.version", + "illuminate/cache": "self.version", + "illuminate/collections": "self.version", + "illuminate/concurrency": "self.version", + "illuminate/conditionable": "self.version", + "illuminate/config": "self.version", + "illuminate/console": "self.version", + "illuminate/container": "self.version", + "illuminate/contracts": "self.version", + "illuminate/cookie": "self.version", + "illuminate/database": "self.version", + "illuminate/encryption": "self.version", + "illuminate/events": "self.version", + "illuminate/filesystem": "self.version", + "illuminate/hashing": "self.version", + "illuminate/http": "self.version", + "illuminate/json-schema": "self.version", + "illuminate/log": "self.version", + "illuminate/macroable": "self.version", + "illuminate/mail": "self.version", + "illuminate/notifications": "self.version", + "illuminate/pagination": "self.version", + "illuminate/pipeline": "self.version", + "illuminate/process": "self.version", + "illuminate/queue": "self.version", + "illuminate/redis": "self.version", + "illuminate/routing": "self.version", + "illuminate/session": "self.version", + "illuminate/support": "self.version", + "illuminate/testing": "self.version", + "illuminate/translation": "self.version", + "illuminate/validation": "self.version", + "illuminate/view": "self.version", + "spatie/once": "*" + }, + "require-dev": { + "ably/ably-php": "^1.0", + "aws/aws-sdk-php": "^3.322.9", + "ext-gmp": "*", + "fakerphp/faker": "^1.24", + "guzzlehttp/promises": "^2.0.3", + "guzzlehttp/psr7": "^2.4", + "laravel/pint": "^1.18", + "league/flysystem-aws-s3-v3": "^3.25.1", + "league/flysystem-ftp": "^3.25.1", + "league/flysystem-path-prefixing": "^3.25.1", + "league/flysystem-read-only": "^3.25.1", + "league/flysystem-sftp-v3": "^3.25.1", + "mockery/mockery": "^1.6.10", + "opis/json-schema": "^2.4.1", + "orchestra/testbench-core": "^10.6.5", + "pda/pheanstalk": "^5.0.6|^7.0.0", + "php-http/discovery": "^1.15", + "phpstan/phpstan": "^2.0", + "phpunit/phpunit": "^10.5.35|^11.5.3|^12.0.1", + "predis/predis": "^2.3|^3.0", + "resend/resend-php": "^0.10.0", + "symfony/cache": "^7.2.0", + "symfony/http-client": "^7.2.0", + "symfony/psr-http-message-bridge": "^7.2.0", + "symfony/translation": "^7.2.0" + }, + "suggest": { + "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.322.9).", + "brianium/paratest": "Required to run tests in parallel (^7.0|^8.0).", + "ext-apcu": "Required to use the APC cache driver.", + "ext-fileinfo": "Required to use the Filesystem class.", + "ext-ftp": "Required to use the Flysystem FTP driver.", + "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", + "ext-memcached": "Required to use the memcache cache driver.", + "ext-pcntl": "Required to use all features of the queue worker and console signal trapping.", + "ext-pdo": "Required to use all database features.", + "ext-posix": "Required to use all features of the queue worker.", + "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0|^6.0).", + "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", + "filp/whoops": "Required for friendly error pages in development (^2.14.3).", + "laravel/tinker": "Required to use the tinker console command (^2.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).", + "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.25.1).", + "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.25.1).", + "league/flysystem-read-only": "Required to use read-only disks (^3.25.1)", + "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.25.1).", + "mockery/mockery": "Required to use mocking (^1.6).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).", + "php-http/discovery": "Required to use PSR-7 bridging features (^1.15).", + "phpunit/phpunit": "Required to use assertions and run tests (^10.5.35|^11.5.3|^12.0.1).", + "predis/predis": "Required to use the predis connector (^2.3|^3.0).", + "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", + "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^7.2).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^7.2).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.2).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.2).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.2).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.2)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "12.x-dev" + } + }, + "autoload": { + "files": [ + "src/Illuminate/Collections/functions.php", + "src/Illuminate/Collections/helpers.php", + "src/Illuminate/Events/functions.php", + "src/Illuminate/Filesystem/functions.php", + "src/Illuminate/Foundation/helpers.php", + "src/Illuminate/Log/functions.php", + "src/Illuminate/Support/functions.php", + "src/Illuminate/Support/helpers.php" + ], + "psr-4": { + "Illuminate\\": "src/Illuminate/", + "Illuminate\\Support\\": [ + "src/Illuminate/Macroable/", + "src/Illuminate/Collections/", + "src/Illuminate/Conditionable/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Laravel Framework.", + "homepage": "https://laravel.com", + "keywords": [ + "framework", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2025-09-04T14:58:12+00:00" + }, + { + "name": "laravel/prompts", + "version": "v0.3.6", + "source": { + "type": "git", + "url": "https://github.com/laravel/prompts.git", + "reference": "86a8b692e8661d0fb308cec64f3d176821323077" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/prompts/zipball/86a8b692e8661d0fb308cec64f3d176821323077", + "reference": "86a8b692e8661d0fb308cec64f3d176821323077", + "shasum": "" + }, + "require": { + "composer-runtime-api": "^2.2", + "ext-mbstring": "*", + "php": "^8.1", + "symfony/console": "^6.2|^7.0" + }, + "conflict": { + "illuminate/console": ">=10.17.0 <10.25.0", + "laravel/framework": ">=10.17.0 <10.25.0" + }, + "require-dev": { + "illuminate/collections": "^10.0|^11.0|^12.0", + "mockery/mockery": "^1.5", + "pestphp/pest": "^2.3|^3.4", + "phpstan/phpstan": "^1.11", + "phpstan/phpstan-mockery": "^1.1" + }, + "suggest": { + "ext-pcntl": "Required for the spinner to be animated." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "0.3.x-dev" + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Laravel\\Prompts\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Add beautiful and user-friendly forms to your command-line applications.", + "support": { + "issues": "https://github.com/laravel/prompts/issues", + "source": "https://github.com/laravel/prompts/tree/v0.3.6" + }, + "time": "2025-07-07T14:17:42+00:00" + }, + { + "name": "laravel/serializable-closure", + "version": "v2.0.4", + "source": { + "type": "git", + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "b352cf0534aa1ae6b4d825d1e762e35d43f8a841" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/b352cf0534aa1ae6b4d825d1e762e35d43f8a841", + "reference": "b352cf0534aa1ae6b4d825d1e762e35d43f8a841", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "illuminate/support": "^10.0|^11.0|^12.0", + "nesbot/carbon": "^2.67|^3.0", + "pestphp/pest": "^2.36|^3.0", + "phpstan/phpstan": "^2.0", + "symfony/var-dumper": "^6.2.0|^7.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\SerializableClosure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "nuno@laravel.com" + } + ], + "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", + "keywords": [ + "closure", + "laravel", + "serializable" + ], + "support": { + "issues": "https://github.com/laravel/serializable-closure/issues", + "source": "https://github.com/laravel/serializable-closure" + }, + "time": "2025-03-19T13:51:03+00:00" + }, + { + "name": "laravel/tinker", + "version": "v2.10.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/tinker.git", + "reference": "22177cc71807d38f2810c6204d8f7183d88a57d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/tinker/zipball/22177cc71807d38f2810c6204d8f7183d88a57d3", + "reference": "22177cc71807d38f2810c6204d8f7183d88a57d3", + "shasum": "" + }, + "require": { + "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "php": "^7.2.5|^8.0", + "psy/psysh": "^0.11.1|^0.12.0", + "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0" + }, + "require-dev": { + "mockery/mockery": "~1.3.3|^1.4.2", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8.5.8|^9.3.3|^10.0" + }, + "suggest": { + "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0)." + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Tinker\\TinkerServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Tinker\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Powerful REPL for the Laravel framework.", + "keywords": [ + "REPL", + "Tinker", + "laravel", + "psysh" + ], + "support": { + "issues": "https://github.com/laravel/tinker/issues", + "source": "https://github.com/laravel/tinker/tree/v2.10.1" + }, + "time": "2025-01-27T14:24:01+00:00" + }, + { + "name": "laravel/wayfinder", + "version": "v0.1.11", + "source": { + "type": "git", + "url": "https://github.com/laravel/wayfinder.git", + "reference": "240f984fd8f48144e51dbe9efd2ec29d0b2aa075" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/wayfinder/zipball/240f984fd8f48144e51dbe9efd2ec29d0b2aa075", + "reference": "240f984fd8f48144e51dbe9efd2ec29d0b2aa075", + "shasum": "" + }, + "require": { + "illuminate/console": "^11.0|^12.0", + "illuminate/filesystem": "^11.0|^12.0", + "illuminate/routing": "^11.0|^12.0", + "illuminate/support": "^11.0|^12.0", + "php": "^8.2" + }, + "require-dev": { + "laravel/pint": "^1.21", + "orchestra/testbench": "^10.1 | ^9.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Wayfinder\\WayfinderServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Wayfinder\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Generate TypeScript representations of your Laravel actions and routes.", + "homepage": "https://github.com/laravel/wayfinder", + "keywords": [ + "laravel", + "php", + "routes", + "typescript" + ], + "support": { + "issues": "https://github.com/laravel/wayfinder/issues", + "source": "https://github.com/laravel/wayfinder" + }, + "time": "2025-09-02T16:25:15+00:00" + }, + { + "name": "league/commonmark", + "version": "2.7.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "10732241927d3971d28e7ea7b5712721fa2296ca" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/10732241927d3971d28e7ea7b5712721fa2296ca", + "reference": "10732241927d3971d28e7ea7b5712721fa2296ca", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "league/config": "^1.1.1", + "php": "^7.4 || ^8.0", + "psr/event-dispatcher": "^1.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "cebe/markdown": "^1.0", + "commonmark/cmark": "0.31.1", + "commonmark/commonmark.js": "0.31.1", + "composer/package-versions-deprecated": "^1.8", + "embed/embed": "^4.4", + "erusev/parsedown": "^1.0", + "ext-json": "*", + "github/gfm": "0.29.0", + "michelf/php-markdown": "^1.4 || ^2.0", + "nyholm/psr7": "^1.5", + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", + "scrutinizer/ocular": "^1.8.1", + "symfony/finder": "^5.3 | ^6.0 | ^7.0", + "symfony/process": "^5.4 | ^6.0 | ^7.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0", + "unleashedtech/php-coding-standard": "^3.1.1", + "vimeo/psalm": "^4.24.0 || ^5.0.0 || ^6.0.0" + }, + "suggest": { + "symfony/yaml": "v2.3+ required if using the Front Matter extension" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "League\\CommonMark\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", + "homepage": "https://commonmark.thephpleague.com", + "keywords": [ + "commonmark", + "flavored", + "gfm", + "github", + "github-flavored", + "markdown", + "md", + "parser" + ], + "support": { + "docs": "https://commonmark.thephpleague.com/", + "forum": "https://github.com/thephpleague/commonmark/discussions", + "issues": "https://github.com/thephpleague/commonmark/issues", + "rss": "https://github.com/thephpleague/commonmark/releases.atom", + "source": "https://github.com/thephpleague/commonmark" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/commonmark", + "type": "tidelift" + } + ], + "time": "2025-07-20T12:47:49+00:00" + }, + { + "name": "league/config", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/config.git", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^3.0.1", + "nette/schema": "^1.2", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Config\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Define configuration arrays with strict schemas and access values with dot notation", + "homepage": "https://config.thephpleague.com", + "keywords": [ + "array", + "config", + "configuration", + "dot", + "dot-access", + "nested", + "schema" + ], + "support": { + "docs": "https://config.thephpleague.com/", + "issues": "https://github.com/thephpleague/config/issues", + "rss": "https://github.com/thephpleague/config/releases.atom", + "source": "https://github.com/thephpleague/config" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + } + ], + "time": "2022-12-11T20:36:23+00:00" + }, + { + "name": "league/csv", + "version": "9.24.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/csv.git", + "reference": "e0221a3f16aa2a823047d59fab5809d552e29bc8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/csv/zipball/e0221a3f16aa2a823047d59fab5809d552e29bc8", + "reference": "e0221a3f16aa2a823047d59fab5809d552e29bc8", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^8.1.2" + }, + "require-dev": { + "ext-dom": "*", + "ext-xdebug": "*", + "friendsofphp/php-cs-fixer": "^3.75.0", + "phpbench/phpbench": "^1.4.1", + "phpstan/phpstan": "^1.12.27", + "phpstan/phpstan-deprecation-rules": "^1.2.1", + "phpstan/phpstan-phpunit": "^1.4.2", + "phpstan/phpstan-strict-rules": "^1.6.2", + "phpunit/phpunit": "^10.5.16 || ^11.5.22", + "symfony/var-dumper": "^6.4.8 || ^7.3.0" + }, + "suggest": { + "ext-dom": "Required to use the XMLConverter and the HTMLConverter classes", + "ext-iconv": "Needed to ease transcoding CSV using iconv stream filters", + "ext-mbstring": "Needed to ease transcoding CSV using mb stream filters", + "ext-mysqli": "Requiered to use the package with the MySQLi extension", + "ext-pdo": "Required to use the package with the PDO extension", + "ext-pgsql": "Requiered to use the package with the PgSQL extension", + "ext-sqlite3": "Required to use the package with the SQLite3 extension" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "League\\Csv\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://github.com/nyamsprod/", + "role": "Developer" + } + ], + "description": "CSV data manipulation made easy in PHP", + "homepage": "https://csv.thephpleague.com", + "keywords": [ + "convert", + "csv", + "export", + "filter", + "import", + "read", + "transform", + "write" + ], + "support": { + "docs": "https://csv.thephpleague.com", + "issues": "https://github.com/thephpleague/csv/issues", + "rss": "https://github.com/thephpleague/csv/releases.atom", + "source": "https://github.com/thephpleague/csv" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2025-06-25T14:53:51+00:00" + }, + { + "name": "league/flysystem", + "version": "3.30.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "2203e3151755d874bb2943649dae1eb8533ac93e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/2203e3151755d874bb2943649dae1eb8533ac93e", + "reference": "2203e3151755d874bb2943649dae1eb8533ac93e", + "shasum": "" + }, + "require": { + "league/flysystem-local": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "conflict": { + "async-aws/core": "<1.19.0", + "async-aws/s3": "<1.14.0", + "aws/aws-sdk-php": "3.209.31 || 3.210.0", + "guzzlehttp/guzzle": "<7.0", + "guzzlehttp/ringphp": "<1.1.1", + "phpseclib/phpseclib": "3.0.15", + "symfony/http-client": "<5.2" + }, + "require-dev": { + "async-aws/s3": "^1.5 || ^2.0", + "async-aws/simple-s3": "^1.1 || ^2.0", + "aws/aws-sdk-php": "^3.295.10", + "composer/semver": "^3.0", + "ext-fileinfo": "*", + "ext-ftp": "*", + "ext-mongodb": "^1.3|^2", + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.5", + "google/cloud-storage": "^1.23", + "guzzlehttp/psr7": "^2.6", + "microsoft/azure-storage-blob": "^1.1", + "mongodb/mongodb": "^1.2|^2", + "phpseclib/phpseclib": "^3.0.36", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.5.11|^10.0", + "sabre/dav": "^4.6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "File storage abstraction for PHP", + "keywords": [ + "WebDAV", + "aws", + "cloud", + "file", + "files", + "filesystem", + "filesystems", + "ftp", + "s3", + "sftp", + "storage" + ], + "support": { + "issues": "https://github.com/thephpleague/flysystem/issues", + "source": "https://github.com/thephpleague/flysystem/tree/3.30.0" + }, + "time": "2025-06-25T13:29:59+00:00" + }, + { + "name": "league/flysystem-local", + "version": "3.30.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem-local.git", + "reference": "6691915f77c7fb69adfb87dcd550052dc184ee10" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/6691915f77c7fb69adfb87dcd550052dc184ee10", + "reference": "6691915f77c7fb69adfb87dcd550052dc184ee10", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "league/flysystem": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\Local\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Local filesystem adapter for Flysystem.", + "keywords": [ + "Flysystem", + "file", + "files", + "filesystem", + "local" + ], + "support": { + "source": "https://github.com/thephpleague/flysystem-local/tree/3.30.0" + }, + "time": "2025-05-21T10:34:19+00:00" + }, + { + "name": "league/mime-type-detection", + "version": "1.16.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/mime-type-detection.git", + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9", + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.2", + "phpstan/phpstan": "^0.12.68", + "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\MimeTypeDetection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Mime-type detection for Flysystem", + "support": { + "issues": "https://github.com/thephpleague/mime-type-detection/issues", + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.16.0" + }, + "funding": [ + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "time": "2024-09-21T08:32:55+00:00" + }, + { + "name": "league/uri", + "version": "7.5.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri.git", + "reference": "81fb5145d2644324614cc532b28efd0215bda430" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/81fb5145d2644324614cc532b28efd0215bda430", + "reference": "81fb5145d2644324614cc532b28efd0215bda430", + "shasum": "" + }, + "require": { + "league/uri-interfaces": "^7.5", + "php": "^8.1" + }, + "conflict": { + "league/uri-schemes": "^1.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-fileinfo": "to create Data URI from file contennts", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain", + "league/uri-components": "Needed to easily manipulate URI objects components", + "php-64bit": "to improve IPV4 host parsing", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "URI manipulation library", + "homepage": "https://uri.thephpleague.com", + "keywords": [ + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "middleware", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc3986", + "rfc3987", + "rfc6570", + "uri", + "uri-template", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri/tree/7.5.1" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2024-12-08T08:40:02+00:00" + }, + { + "name": "league/uri-components", + "version": "7.5.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri-components.git", + "reference": "4aabf0e2f2f9421ffcacab35be33e4fb5e63c44f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri-components/zipball/4aabf0e2f2f9421ffcacab35be33e4fb5e63c44f", + "reference": "4aabf0e2f2f9421ffcacab35be33e4fb5e63c44f", + "shasum": "" + }, + "require": { + "league/uri": "^7.5", + "php": "^8.1" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-fileinfo": "to create Data URI from file contennts", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "ext-mbstring": "to use the sorting algorithm of URLSearchParams", + "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain", + "php-64bit": "to improve IPV4 host parsing", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "URI components manipulation library", + "homepage": "http://uri.thephpleague.com", + "keywords": [ + "authority", + "components", + "fragment", + "host", + "middleware", + "modifier", + "path", + "port", + "query", + "rfc3986", + "scheme", + "uri", + "url", + "userinfo" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri-components/tree/7.5.1" + }, + "funding": [ + { + "url": "https://github.com/nyamsprod", + "type": "github" + } + ], + "time": "2024-12-08T08:40:02+00:00" + }, + { + "name": "league/uri-interfaces", + "version": "7.5.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri-interfaces.git", + "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/08cfc6c4f3d811584fb09c37e2849e6a7f9b0742", + "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^8.1", + "psr/http-factory": "^1", + "psr/http-message": "^1.1 || ^2.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "php-64bit": "to improve IPV4 host parsing", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "Common interfaces and classes for URI representation and interaction", + "homepage": "https://uri.thephpleague.com", + "keywords": [ + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc3986", + "rfc3987", + "rfc6570", + "uri", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.5.0" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2024-12-08T08:18:47+00:00" + }, + { + "name": "livewire/livewire", + "version": "v3.6.4", + "source": { + "type": "git", + "url": "https://github.com/livewire/livewire.git", + "reference": "ef04be759da41b14d2d129e670533180a44987dc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/livewire/livewire/zipball/ef04be759da41b14d2d129e670533180a44987dc", + "reference": "ef04be759da41b14d2d129e670533180a44987dc", + "shasum": "" + }, + "require": { + "illuminate/database": "^10.0|^11.0|^12.0", + "illuminate/routing": "^10.0|^11.0|^12.0", + "illuminate/support": "^10.0|^11.0|^12.0", + "illuminate/validation": "^10.0|^11.0|^12.0", + "laravel/prompts": "^0.1.24|^0.2|^0.3", + "league/mime-type-detection": "^1.9", + "php": "^8.1", + "symfony/console": "^6.0|^7.0", + "symfony/http-kernel": "^6.2|^7.0" + }, + "require-dev": { + "calebporzio/sushi": "^2.1", + "laravel/framework": "^10.15.0|^11.0|^12.0", + "mockery/mockery": "^1.3.1", + "orchestra/testbench": "^8.21.0|^9.0|^10.0", + "orchestra/testbench-dusk": "^8.24|^9.1|^10.0", + "phpunit/phpunit": "^10.4|^11.5", + "psy/psysh": "^0.11.22|^0.12" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "Livewire": "Livewire\\Livewire" + }, + "providers": [ + "Livewire\\LivewireServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Livewire\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Caleb Porzio", + "email": "calebporzio@gmail.com" + } + ], + "description": "A front-end framework for Laravel.", + "support": { + "issues": "https://github.com/livewire/livewire/issues", + "source": "https://github.com/livewire/livewire/tree/v3.6.4" + }, + "funding": [ + { + "url": "https://github.com/livewire", + "type": "github" + } + ], + "time": "2025-07-17T05:12:15+00:00" + }, + { + "name": "masterminds/html5", + "version": "2.10.0", + "source": { + "type": "git", + "url": "https://github.com/Masterminds/html5-php.git", + "reference": "fcf91eb64359852f00d921887b219479b4f21251" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/fcf91eb64359852f00d921887b219479b4f21251", + "reference": "fcf91eb64359852f00d921887b219479b4f21251", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Masterminds\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matt Butcher", + "email": "technosophos@gmail.com" + }, + { + "name": "Matt Farina", + "email": "matt@mattfarina.com" + }, + { + "name": "Asmir Mustafic", + "email": "goetas@gmail.com" + } + ], + "description": "An HTML5 parser and serializer.", + "homepage": "http://masterminds.github.io/html5-php", + "keywords": [ + "HTML5", + "dom", + "html", + "parser", + "querypath", + "serializer", + "xml" + ], + "support": { + "issues": "https://github.com/Masterminds/html5-php/issues", + "source": "https://github.com/Masterminds/html5-php/tree/2.10.0" + }, + "time": "2025-07-25T09:04:22+00:00" + }, + { + "name": "monolog/monolog", + "version": "3.9.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/10d85740180ecba7896c87e06a166e0c95a0e3b6", + "reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/log": "^2.0 || ^3.0" + }, + "provide": { + "psr/log-implementation": "3.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^3.0", + "doctrine/couchdb": "~1.0@dev", + "elasticsearch/elasticsearch": "^7 || ^8", + "ext-json": "*", + "graylog2/gelf-php": "^1.4.2 || ^2.0", + "guzzlehttp/guzzle": "^7.4.5", + "guzzlehttp/psr7": "^2.2", + "mongodb/mongodb": "^1.8", + "php-amqplib/php-amqplib": "~2.4 || ^3", + "php-console/php-console": "^3.1.8", + "phpstan/phpstan": "^2", + "phpstan/phpstan-deprecation-rules": "^2", + "phpstan/phpstan-strict-rules": "^2", + "phpunit/phpunit": "^10.5.17 || ^11.0.7", + "predis/predis": "^1.1 || ^2", + "rollbar/rollbar": "^4.0", + "ruflin/elastica": "^7 || ^8", + "symfony/mailer": "^5.4 || ^6", + "symfony/mime": "^5.4 || ^6" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "ext-openssl": "Required to send log messages using SSL", + "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "https://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/3.9.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2025-03-24T10:02:05+00:00" + }, + { + "name": "nesbot/carbon", + "version": "3.10.2", + "source": { + "type": "git", + "url": "https://github.com/CarbonPHP/carbon.git", + "reference": "76b5c07b8a9d2025ed1610e14cef1f3fd6ad2c24" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/76b5c07b8a9d2025ed1610e14cef1f3fd6ad2c24", + "reference": "76b5c07b8a9d2025ed1610e14cef1f3fd6ad2c24", + "shasum": "" + }, + "require": { + "carbonphp/carbon-doctrine-types": "<100.0", + "ext-json": "*", + "php": "^8.1", + "psr/clock": "^1.0", + "symfony/clock": "^6.3.12 || ^7.0", + "symfony/polyfill-mbstring": "^1.0", + "symfony/translation": "^4.4.18 || ^5.2.1 || ^6.0 || ^7.0" + }, + "provide": { + "psr/clock-implementation": "1.0" + }, + "require-dev": { + "doctrine/dbal": "^3.6.3 || ^4.0", + "doctrine/orm": "^2.15.2 || ^3.0", + "friendsofphp/php-cs-fixer": "^3.75.0", + "kylekatarnls/multi-tester": "^2.5.3", + "phpmd/phpmd": "^2.15.0", + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^2.1.17", + "phpunit/phpunit": "^10.5.46", + "squizlabs/php_codesniffer": "^3.13.0" + }, + "bin": [ + "bin/carbon" + ], + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev", + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Carbon\\": "src/Carbon/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "https://markido.com" + }, + { + "name": "kylekatarnls", + "homepage": "https://github.com/kylekatarnls" + } + ], + "description": "An API extension for DateTime that supports 281 different languages.", + "homepage": "https://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "support": { + "docs": "https://carbon.nesbot.com/docs", + "issues": "https://github.com/CarbonPHP/carbon/issues", + "source": "https://github.com/CarbonPHP/carbon" + }, + "funding": [ + { + "url": "https://github.com/sponsors/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon#sponsor", + "type": "opencollective" + }, + { + "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme", + "type": "tidelift" + } + ], + "time": "2025-08-02T09:36:06+00:00" + }, + { + "name": "nette/php-generator", + "version": "v4.2.0", + "source": { + "type": "git", + "url": "https://github.com/nette/php-generator.git", + "reference": "4707546a1f11badd72f5d82af4f8a6bc64bd56ac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/php-generator/zipball/4707546a1f11badd72f5d82af4f8a6bc64bd56ac", + "reference": "4707546a1f11badd72f5d82af4f8a6bc64bd56ac", + "shasum": "" + }, + "require": { + "nette/utils": "^4.0.6", + "php": "8.1 - 8.5" + }, + "require-dev": { + "jetbrains/phpstorm-attributes": "^1.2", + "nette/tester": "^2.4", + "nikic/php-parser": "^5.0", + "phpstan/phpstan-nette": "^2.0@stable", + "tracy/tracy": "^2.8" + }, + "suggest": { + "nikic/php-parser": "to use ClassType::from(withBodies: true) & ClassType::fromCode()" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "psr-4": { + "Nette\\": "src" + }, + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 8.5 features.", + "homepage": "https://nette.org", + "keywords": [ + "code", + "nette", + "php", + "scaffolding" + ], + "support": { + "issues": "https://github.com/nette/php-generator/issues", + "source": "https://github.com/nette/php-generator/tree/v4.2.0" + }, + "time": "2025-08-06T18:24:31+00:00" + }, + { + "name": "nette/schema", + "version": "v1.3.2", + "source": { + "type": "git", + "url": "https://github.com/nette/schema.git", + "reference": "da801d52f0354f70a638673c4a0f04e16529431d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/schema/zipball/da801d52f0354f70a638673c4a0f04e16529431d", + "reference": "da801d52f0354f70a638673c4a0f04e16529431d", + "shasum": "" + }, + "require": { + "nette/utils": "^4.0", + "php": "8.1 - 8.4" + }, + "require-dev": { + "nette/tester": "^2.5.2", + "phpstan/phpstan-nette": "^1.0", + "tracy/tracy": "^2.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "📐 Nette Schema: validating data structures against a given Schema.", + "homepage": "https://nette.org", + "keywords": [ + "config", + "nette" + ], + "support": { + "issues": "https://github.com/nette/schema/issues", + "source": "https://github.com/nette/schema/tree/v1.3.2" + }, + "time": "2024-10-06T23:10:23+00:00" + }, + { + "name": "nette/utils", + "version": "v4.0.8", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "c930ca4e3cf4f17dcfb03037703679d2396d2ede" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/c930ca4e3cf4f17dcfb03037703679d2396d2ede", + "reference": "c930ca4e3cf4f17dcfb03037703679d2396d2ede", + "shasum": "" + }, + "require": { + "php": "8.0 - 8.5" + }, + "conflict": { + "nette/finder": "<3", + "nette/schema": "<1.2.2" + }, + "require-dev": { + "jetbrains/phpstorm-attributes": "^1.2", + "nette/tester": "^2.5", + "phpstan/phpstan-nette": "^2.0@stable", + "tracy/tracy": "^2.9" + }, + "suggest": { + "ext-gd": "to use Image", + "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", + "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", + "ext-json": "to use Nette\\Utils\\Json", + "ext-mbstring": "to use Strings::lower() etc...", + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "psr-4": { + "Nette\\": "src" + }, + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "homepage": "https://nette.org", + "keywords": [ + "array", + "core", + "datetime", + "images", + "json", + "nette", + "paginator", + "password", + "slugify", + "string", + "unicode", + "utf-8", + "utility", + "validation" + ], + "support": { + "issues": "https://github.com/nette/utils/issues", + "source": "https://github.com/nette/utils/tree/v4.0.8" + }, + "time": "2025-08-06T21:43:34+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v5.6.1", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2", + "reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "php": ">=7.4" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v5.6.1" + }, + "time": "2025-08-13T20:13:15+00:00" + }, + { + "name": "nunomaduro/termwind", + "version": "v2.3.1", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/termwind.git", + "reference": "dfa08f390e509967a15c22493dc0bac5733d9123" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/dfa08f390e509967a15c22493dc0bac5733d9123", + "reference": "dfa08f390e509967a15c22493dc0bac5733d9123", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": "^8.2", + "symfony/console": "^7.2.6" + }, + "require-dev": { + "illuminate/console": "^11.44.7", + "laravel/pint": "^1.22.0", + "mockery/mockery": "^1.6.12", + "pestphp/pest": "^2.36.0 || ^3.8.2", + "phpstan/phpstan": "^1.12.25", + "phpstan/phpstan-strict-rules": "^1.6.2", + "symfony/var-dumper": "^7.2.6", + "thecodingmachine/phpstan-strict-rules": "^1.0.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Termwind\\Laravel\\TermwindServiceProvider" + ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev" + } + }, + "autoload": { + "files": [ + "src/Functions.php" + ], + "psr-4": { + "Termwind\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Its like Tailwind CSS, but for the console.", + "keywords": [ + "cli", + "console", + "css", + "package", + "php", + "style" + ], + "support": { + "issues": "https://github.com/nunomaduro/termwind/issues", + "source": "https://github.com/nunomaduro/termwind/tree/v2.3.1" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://github.com/xiCO2k", + "type": "github" + } + ], + "time": "2025-05-08T08:14:37+00:00" + }, + { + "name": "openspout/openspout", + "version": "v4.32.0", + "source": { + "type": "git", + "url": "https://github.com/openspout/openspout.git", + "reference": "41f045c1f632e1474e15d4c7bc3abcb4a153563d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/openspout/openspout/zipball/41f045c1f632e1474e15d4c7bc3abcb4a153563d", + "reference": "41f045c1f632e1474e15d4c7bc3abcb4a153563d", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-fileinfo": "*", + "ext-filter": "*", + "ext-libxml": "*", + "ext-xmlreader": "*", + "ext-zip": "*", + "php": "~8.3.0 || ~8.4.0 || ~8.5.0" + }, + "require-dev": { + "ext-zlib": "*", + "friendsofphp/php-cs-fixer": "^3.86.0", + "infection/infection": "^0.31.2", + "phpbench/phpbench": "^1.4.1", + "phpstan/phpstan": "^2.1.22", + "phpstan/phpstan-phpunit": "^2.0.7", + "phpstan/phpstan-strict-rules": "^2.0.6", + "phpunit/phpunit": "^12.3.7" + }, + "suggest": { + "ext-iconv": "To handle non UTF-8 CSV files (if \"php-mbstring\" is not already installed or is too limited)", + "ext-mbstring": "To handle non UTF-8 CSV files (if \"iconv\" is not already installed)" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3.x-dev" + } + }, + "autoload": { + "psr-4": { + "OpenSpout\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Adrien Loison", + "email": "adrien@box.com" + } + ], + "description": "PHP Library to read and write spreadsheet files (CSV, XLSX and ODS), in a fast and scalable way", + "homepage": "https://github.com/openspout/openspout", + "keywords": [ + "OOXML", + "csv", + "excel", + "memory", + "odf", + "ods", + "office", + "open", + "php", + "read", + "scale", + "spreadsheet", + "stream", + "write", + "xlsx" + ], + "support": { + "issues": "https://github.com/openspout/openspout/issues", + "source": "https://github.com/openspout/openspout/tree/v4.32.0" + }, + "funding": [ + { + "url": "https://paypal.me/filippotessarotto", + "type": "custom" + }, + { + "url": "https://github.com/Slamdunk", + "type": "github" + } + ], + "time": "2025-09-03T16:03:54+00:00" + }, + { + "name": "paragonie/constant_time_encoding", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/paragonie/constant_time_encoding.git", + "reference": "df1e7fde177501eee2037dd159cf04f5f301a512" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/df1e7fde177501eee2037dd159cf04f5f301a512", + "reference": "df1e7fde177501eee2037dd159cf04f5f301a512", + "shasum": "" + }, + "require": { + "php": "^8" + }, + "require-dev": { + "phpunit/phpunit": "^9", + "vimeo/psalm": "^4|^5" + }, + "type": "library", + "autoload": { + "psr-4": { + "ParagonIE\\ConstantTime\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com", + "role": "Maintainer" + }, + { + "name": "Steve 'Sc00bz' Thomas", + "email": "steve@tobtu.com", + "homepage": "https://www.tobtu.com", + "role": "Original Developer" + } + ], + "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)", + "keywords": [ + "base16", + "base32", + "base32_decode", + "base32_encode", + "base64", + "base64_decode", + "base64_encode", + "bin2hex", + "encoding", + "hex", + "hex2bin", + "rfc4648" + ], + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/constant_time_encoding/issues", + "source": "https://github.com/paragonie/constant_time_encoding" + }, + "time": "2024-05-08T12:36:18+00:00" + }, + { + "name": "phpoption/phpoption", + "version": "1.9.4", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d", + "reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.44 || ^9.6.25 || ^10.5.53 || ^11.5.34" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + }, + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpOption\\": "src/PhpOption/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh" + }, + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "Option Type for PHP", + "keywords": [ + "language", + "option", + "php", + "type" + ], + "support": { + "issues": "https://github.com/schmittjoh/php-option/issues", + "source": "https://github.com/schmittjoh/php-option/tree/1.9.4" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", + "type": "tidelift" + } + ], + "time": "2025-08-21T11:53:16+00:00" + }, + { + "name": "pragmarx/google2fa", + "version": "v8.0.3", + "source": { + "type": "git", + "url": "https://github.com/antonioribeiro/google2fa.git", + "reference": "6f8d87ebd5afbf7790bde1ffc7579c7c705e0fad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/antonioribeiro/google2fa/zipball/6f8d87ebd5afbf7790bde1ffc7579c7c705e0fad", + "reference": "6f8d87ebd5afbf7790bde1ffc7579c7c705e0fad", + "shasum": "" + }, + "require": { + "paragonie/constant_time_encoding": "^1.0|^2.0|^3.0", + "php": "^7.1|^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.9", + "phpunit/phpunit": "^7.5.15|^8.5|^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "PragmaRX\\Google2FA\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Antonio Carlos Ribeiro", + "email": "acr@antoniocarlosribeiro.com", + "role": "Creator & Designer" + } + ], + "description": "A One Time Password Authentication package, compatible with Google Authenticator.", + "keywords": [ + "2fa", + "Authentication", + "Two Factor Authentication", + "google2fa" + ], + "support": { + "issues": "https://github.com/antonioribeiro/google2fa/issues", + "source": "https://github.com/antonioribeiro/google2fa/tree/v8.0.3" + }, + "time": "2024-09-05T11:56:40+00:00" + }, + { + "name": "pragmarx/google2fa-qrcode", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/antonioribeiro/google2fa-qrcode.git", + "reference": "ce4d8a729b6c93741c607cfb2217acfffb5bf76b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/antonioribeiro/google2fa-qrcode/zipball/ce4d8a729b6c93741c607cfb2217acfffb5bf76b", + "reference": "ce4d8a729b6c93741c607cfb2217acfffb5bf76b", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "pragmarx/google2fa": ">=4.0" + }, + "require-dev": { + "bacon/bacon-qr-code": "^2.0", + "chillerlan/php-qrcode": "^1.0|^2.0|^3.0|^4.0", + "khanamiryan/qrcode-detector-decoder": "^1.0", + "phpunit/phpunit": "~4|~5|~6|~7|~8|~9" + }, + "suggest": { + "bacon/bacon-qr-code": "For QR Code generation, requires imagick", + "chillerlan/php-qrcode": "For QR Code generation" + }, + "type": "library", + "extra": { + "component": "package", + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "PragmaRX\\Google2FAQRCode\\": "src/", + "PragmaRX\\Google2FAQRCode\\Tests\\": "tests/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Antonio Carlos Ribeiro", + "email": "acr@antoniocarlosribeiro.com", + "role": "Creator & Designer" + } + ], + "description": "QR Code package for Google2FA", + "keywords": [ + "2fa", + "Authentication", + "Two Factor Authentication", + "google2fa", + "qr code", + "qrcode" + ], + "support": { + "issues": "https://github.com/antonioribeiro/google2fa-qrcode/issues", + "source": "https://github.com/antonioribeiro/google2fa-qrcode/tree/v3.0.0" + }, + "time": "2021-08-15T12:53:48+00:00" + }, + { + "name": "psr/clock", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/clock.git", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Clock\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for reading the clock.", + "homepage": "https://github.com/php-fig/clock", + "keywords": [ + "clock", + "now", + "psr", + "psr-20", + "time" + ], + "support": { + "issues": "https://github.com/php-fig/clock/issues", + "source": "https://github.com/php-fig/clock/tree/1.0.0" + }, + "time": "2022-11-25T14:36:26+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/http-client", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client" + }, + "time": "2023-09-23T14:17:50+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory" + }, + "time": "2024-04-15T12:06:14+00:00" + }, + { + "name": "psr/http-message", + "version": "2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/2.0" + }, + "time": "2023-04-04T09:54:51+00:00" + }, + { + "name": "psr/log", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.2" + }, + "time": "2024-09-11T13:17:53+00:00" + }, + { + "name": "psr/simple-cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" + }, + "time": "2021-10-29T13:26:27+00:00" + }, + { + "name": "psy/psysh", + "version": "v0.12.10", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/psysh.git", + "reference": "6e80abe6f2257121f1eb9a4c55bf29d921025b22" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/6e80abe6f2257121f1eb9a4c55bf29d921025b22", + "reference": "6e80abe6f2257121f1eb9a4c55bf29d921025b22", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-tokenizer": "*", + "nikic/php-parser": "^5.0 || ^4.0", + "php": "^8.0 || ^7.4", + "symfony/console": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4", + "symfony/var-dumper": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4" + }, + "conflict": { + "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.2" + }, + "suggest": { + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-pdo-sqlite": "The doc command requires SQLite to work.", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well." + }, + "bin": [ + "bin/psysh" + ], + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": false, + "forward-command": false + }, + "branch-alias": { + "dev-main": "0.12.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Psy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info" + } + ], + "description": "An interactive shell for modern PHP.", + "homepage": "https://psysh.org", + "keywords": [ + "REPL", + "console", + "interactive", + "shell" + ], + "support": { + "issues": "https://github.com/bobthecow/psysh/issues", + "source": "https://github.com/bobthecow/psysh/tree/v0.12.10" + }, + "time": "2025-08-04T12:39:37+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, + "time": "2019-03-08T08:55:37+00:00" + }, + { + "name": "ramsey/collection", + "version": "2.1.1", + "source": { + "type": "git", + "url": "https://github.com/ramsey/collection.git", + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/collection/zipball/344572933ad0181accbf4ba763e85a0306a8c5e2", + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "captainhook/plugin-composer": "^5.3", + "ergebnis/composer-normalize": "^2.45", + "fakerphp/faker": "^1.24", + "hamcrest/hamcrest-php": "^2.0", + "jangregor/phpstan-prophecy": "^2.1", + "mockery/mockery": "^1.6", + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.4", + "phpspec/prophecy-phpunit": "^2.3", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^10.5", + "ramsey/coding-standard": "^2.3", + "ramsey/conventional-commits": "^1.6", + "roave/security-advisories": "dev-latest" + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + }, + "ramsey/conventional-commits": { + "configFile": "conventional-commits.json" + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Collection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "A PHP library for representing and manipulating collections.", + "keywords": [ + "array", + "collection", + "hash", + "map", + "queue", + "set" + ], + "support": { + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/2.1.1" + }, + "time": "2025-03-22T05:38:12+00:00" + }, + { + "name": "ramsey/uuid", + "version": "4.9.1", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/81f941f6f729b1e3ceea61d9d014f8b6c6800440", + "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440", + "shasum": "" + }, + "require": { + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14", + "php": "^8.0", + "ramsey/collection": "^1.2 || ^2.0" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "captainhook/captainhook": "^5.25", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "ergebnis/composer-normalize": "^2.47", + "mockery/mockery": "^1.6", + "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.6", + "php-mock/php-mock-mockery": "^1.5", + "php-parallel-lint/php-parallel-lint": "^1.4.0", + "phpbench/phpbench": "^1.2.14", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^9.6", + "slevomat/coding-standard": "^8.18", + "squizlabs/php_codesniffer": "^3.13" + }, + "suggest": { + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "source": "https://github.com/ramsey/uuid/tree/4.9.1" + }, + "time": "2025-09-04T20:59:21+00:00" + }, + { + "name": "ryangjchandler/blade-capture-directive", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/ryangjchandler/blade-capture-directive.git", + "reference": "bbb1513dfd89eaec87a47fe0c449a7e3d4a1976d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ryangjchandler/blade-capture-directive/zipball/bbb1513dfd89eaec87a47fe0c449a7e3d4a1976d", + "reference": "bbb1513dfd89eaec87a47fe0c449a7e3d4a1976d", + "shasum": "" + }, + "require": { + "illuminate/contracts": "^10.0|^11.0|^12.0", + "php": "^8.1", + "spatie/laravel-package-tools": "^1.9.2" + }, + "require-dev": { + "nunomaduro/collision": "^7.0|^8.0", + "nunomaduro/larastan": "^2.0|^3.0", + "orchestra/testbench": "^8.0|^9.0|^10.0", + "pestphp/pest": "^2.0|^3.7", + "pestphp/pest-plugin-laravel": "^2.0|^3.1", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0|^2.0", + "phpstan/phpstan-phpunit": "^1.0|^2.0", + "phpunit/phpunit": "^10.0|^11.5.3", + "spatie/laravel-ray": "^1.26" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "BladeCaptureDirective": "RyanChandler\\BladeCaptureDirective\\Facades\\BladeCaptureDirective" + }, + "providers": [ + "RyanChandler\\BladeCaptureDirective\\BladeCaptureDirectiveServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "RyanChandler\\BladeCaptureDirective\\": "src", + "RyanChandler\\BladeCaptureDirective\\Database\\Factories\\": "database/factories" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ryan Chandler", + "email": "support@ryangjchandler.co.uk", + "role": "Developer" + } + ], + "description": "Create inline partials in your Blade templates with ease.", + "homepage": "https://github.com/ryangjchandler/blade-capture-directive", + "keywords": [ + "blade-capture-directive", + "laravel", + "ryangjchandler" + ], + "support": { + "issues": "https://github.com/ryangjchandler/blade-capture-directive/issues", + "source": "https://github.com/ryangjchandler/blade-capture-directive/tree/v1.1.0" + }, + "funding": [ + { + "url": "https://github.com/ryangjchandler", + "type": "github" + } + ], + "time": "2025-02-25T09:09:36+00:00" + }, + { + "name": "scrivo/highlight.php", + "version": "v9.18.1.10", + "source": { + "type": "git", + "url": "https://github.com/scrivo/highlight.php.git", + "reference": "850f4b44697a2552e892ffe71490ba2733c2fc6e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/scrivo/highlight.php/zipball/850f4b44697a2552e892ffe71490ba2733c2fc6e", + "reference": "850f4b44697a2552e892ffe71490ba2733c2fc6e", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=5.4" + }, + "require-dev": { + "phpunit/phpunit": "^4.8|^5.7", + "sabberworm/php-css-parser": "^8.3", + "symfony/finder": "^2.8|^3.4|^5.4", + "symfony/var-dumper": "^2.8|^3.4|^5.4" + }, + "suggest": { + "ext-mbstring": "Allows highlighting code with unicode characters and supports language with unicode keywords" + }, + "type": "library", + "autoload": { + "files": [ + "HighlightUtilities/functions.php" + ], + "psr-0": { + "Highlight\\": "", + "HighlightUtilities\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Geert Bergman", + "homepage": "http://www.scrivo.org/", + "role": "Project Author" + }, + { + "name": "Vladimir Jimenez", + "homepage": "https://allejo.io", + "role": "Maintainer" + }, + { + "name": "Martin Folkers", + "homepage": "https://twobrain.io", + "role": "Contributor" + } + ], + "description": "Server side syntax highlighter that supports 185 languages. It's a PHP port of highlight.js", + "keywords": [ + "code", + "highlight", + "highlight.js", + "highlight.php", + "syntax" + ], + "support": { + "issues": "https://github.com/scrivo/highlight.php/issues", + "source": "https://github.com/scrivo/highlight.php" + }, + "funding": [ + { + "url": "https://github.com/allejo", + "type": "github" + } + ], + "time": "2022-12-17T21:53:22+00:00" + }, + { + "name": "simplesoftwareio/simple-qrcode", + "version": "4.2.0", + "source": { + "type": "git", + "url": "https://github.com/SimpleSoftwareIO/simple-qrcode.git", + "reference": "916db7948ca6772d54bb617259c768c9cdc8d537" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/SimpleSoftwareIO/simple-qrcode/zipball/916db7948ca6772d54bb617259c768c9cdc8d537", + "reference": "916db7948ca6772d54bb617259c768c9cdc8d537", + "shasum": "" + }, + "require": { + "bacon/bacon-qr-code": "^2.0", + "ext-gd": "*", + "php": ">=7.2|^8.0" + }, + "require-dev": { + "mockery/mockery": "~1", + "phpunit/phpunit": "~9" + }, + "suggest": { + "ext-imagick": "Allows the generation of PNG QrCodes.", + "illuminate/support": "Allows for use within Laravel." + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "QrCode": "SimpleSoftwareIO\\QrCode\\Facades\\QrCode" + }, + "providers": [ + "SimpleSoftwareIO\\QrCode\\QrCodeServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "SimpleSoftwareIO\\QrCode\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Simple Software LLC", + "email": "support@simplesoftware.io" + } + ], + "description": "Simple QrCode is a QR code generator made for Laravel.", + "homepage": "https://www.simplesoftware.io/#/docs/simple-qrcode", + "keywords": [ + "Simple", + "generator", + "laravel", + "qrcode", + "wrapper" + ], + "support": { + "issues": "https://github.com/SimpleSoftwareIO/simple-qrcode/issues", + "source": "https://github.com/SimpleSoftwareIO/simple-qrcode/tree/4.2.0" + }, + "time": "2021-02-08T20:43:55+00:00" + }, + { + "name": "spatie/invade", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/invade.git", + "reference": "b920f6411d21df4e8610a138e2e87ae4957d7f63" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/invade/zipball/b920f6411d21df4e8610a138e2e87ae4957d7f63", + "reference": "b920f6411d21df4e8610a138e2e87ae4957d7f63", + "shasum": "" + }, + "require": { + "php": "^8.0" + }, + "require-dev": { + "pestphp/pest": "^1.20", + "phpstan/phpstan": "^1.4", + "spatie/ray": "^1.28" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Spatie\\Invade\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "role": "Developer" + } + ], + "description": "A PHP function to work with private properties and methods", + "homepage": "https://github.com/spatie/invade", + "keywords": [ + "invade", + "spatie" + ], + "support": { + "source": "https://github.com/spatie/invade/tree/2.1.0" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2024-05-17T09:06:10+00:00" + }, + { + "name": "spatie/laravel-package-tools", + "version": "1.92.7", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-package-tools.git", + "reference": "f09a799850b1ed765103a4f0b4355006360c49a5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/f09a799850b1ed765103a4f0b4355006360c49a5", + "reference": "f09a799850b1ed765103a4f0b4355006360c49a5", + "shasum": "" + }, + "require": { + "illuminate/contracts": "^9.28|^10.0|^11.0|^12.0", + "php": "^8.0" + }, + "require-dev": { + "mockery/mockery": "^1.5", + "orchestra/testbench": "^7.7|^8.0|^9.0|^10.0", + "pestphp/pest": "^1.23|^2.1|^3.1", + "phpunit/php-code-coverage": "^9.0|^10.0|^11.0", + "phpunit/phpunit": "^9.5.24|^10.5|^11.5", + "spatie/pest-plugin-test-time": "^1.1|^2.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\LaravelPackageTools\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "role": "Developer" + } + ], + "description": "Tools for creating Laravel packages", + "homepage": "https://github.com/spatie/laravel-package-tools", + "keywords": [ + "laravel-package-tools", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/laravel-package-tools/issues", + "source": "https://github.com/spatie/laravel-package-tools/tree/1.92.7" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2025-07-17T15:46:43+00:00" + }, + { + "name": "spatie/shiki-php", + "version": "2.3.2", + "source": { + "type": "git", + "url": "https://github.com/spatie/shiki-php.git", + "reference": "a2e78a9ff8a1290b25d550be8fbf8285c13175c5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/shiki-php/zipball/a2e78a9ff8a1290b25d550be8fbf8285c13175c5", + "reference": "a2e78a9ff8a1290b25d550be8fbf8285c13175c5", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^8.0", + "symfony/process": "^5.4|^6.4|^7.1" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^v3.0", + "pestphp/pest": "^1.8", + "phpunit/phpunit": "^9.5", + "spatie/pest-plugin-snapshots": "^1.1", + "spatie/ray": "^1.10" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\ShikiPhp\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Rias Van der Veken", + "email": "rias@spatie.be", + "role": "Developer" + }, + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "role": "Developer" + } + ], + "description": "Highlight code using Shiki in PHP", + "homepage": "https://github.com/spatie/shiki-php", + "keywords": [ + "shiki", + "spatie" + ], + "support": { + "source": "https://github.com/spatie/shiki-php/tree/2.3.2" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2025-02-21T14:16:57+00:00" + }, + { + "name": "symfony/clock", + "version": "v7.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/clock.git", + "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/clock/zipball/b81435fbd6648ea425d1ee96a2d8e68f4ceacd24", + "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "psr/clock": "^1.0", + "symfony/polyfill-php83": "^1.28" + }, + "provide": { + "psr/clock-implementation": "1.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/now.php" + ], + "psr-4": { + "Symfony\\Component\\Clock\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Decouples applications from the system clock", + "homepage": "https://symfony.com", + "keywords": [ + "clock", + "psr20", + "time" + ], + "support": { + "source": "https://github.com/symfony/clock/tree/v7.3.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:21:43+00:00" + }, + { + "name": "symfony/console", + "version": "v7.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7", + "reference": "cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^7.2" + }, + "conflict": { + "symfony/dependency-injection": "<6.4", + "symfony/dotenv": "<6.4", + "symfony/event-dispatcher": "<6.4", + "symfony/lock": "<6.4", + "symfony/process": "<6.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v7.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-08-25T06:35:40+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v7.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/601a5ce9aaad7bf10797e3663faefce9e26c24e2", + "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Converts CSS selectors to XPath expressions", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/css-selector/tree/v7.3.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:21:43+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:21:43+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v7.3.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "0b31a944fcd8759ae294da4d2808cbc53aebd0c3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/0b31a944fcd8759ae294da4d2808cbc53aebd0c3", + "reference": "0b31a944fcd8759ae294da4d2808cbc53aebd0c3", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "psr/log": "^1|^2|^3", + "symfony/var-dumper": "^6.4|^7.0" + }, + "conflict": { + "symfony/deprecation-contracts": "<2.5", + "symfony/http-kernel": "<6.4" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/serializer": "^6.4|^7.0", + "symfony/webpack-encore-bundle": "^1.0|^2.0" + }, + "bin": [ + "Resources/bin/patch-type-declarations" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ErrorHandler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to manage errors and ease debugging PHP code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/error-handler/tree/v7.3.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-07T08:17:57+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v7.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b7dc69e71de420ac04bc9ab830cf3ffebba48191", + "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/event-dispatcher-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/dependency-injection": "<6.4", + "symfony/service-contracts": "<2.5" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/error-handler": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v7.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-08-13T11:49:31+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/event-dispatcher": "^1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:21:43+00:00" + }, + { + "name": "symfony/finder", + "version": "v7.3.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "2a6614966ba1074fa93dae0bc804227422df4dfe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/2a6614966ba1074fa93dae0bc804227422df4dfe", + "reference": "2a6614966ba1074fa93dae0bc804227422df4dfe", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "symfony/filesystem": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v7.3.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-15T13:41:35+00:00" + }, + { + "name": "symfony/html-sanitizer", + "version": "v7.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/html-sanitizer.git", + "reference": "8740fc48979f649dee8b8fc51a2698e5c190bf12" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/8740fc48979f649dee8b8fc51a2698e5c190bf12", + "reference": "8740fc48979f649dee8b8fc51a2698e5c190bf12", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "league/uri": "^6.5|^7.0", + "masterminds/html5": "^2.7.2", + "php": ">=8.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HtmlSanitizer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Titouan Galopin", + "email": "galopintitouan@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to sanitize untrusted HTML input for safe insertion into a document's DOM.", + "homepage": "https://symfony.com", + "keywords": [ + "Purifier", + "html", + "sanitizer" + ], + "support": { + "source": "https://github.com/symfony/html-sanitizer/tree/v7.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-08-12T10:34:03+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v7.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "7475561ec27020196c49bb7c4f178d33d7d3dc00" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/7475561ec27020196c49bb7c4f178d33d7d3dc00", + "reference": "7475561ec27020196c49bb7c4f178d33d7d3dc00", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php83": "^1.27" + }, + "conflict": { + "doctrine/dbal": "<3.6", + "symfony/cache": "<6.4.12|>=7.0,<7.1.5" + }, + "require-dev": { + "doctrine/dbal": "^3.6|^4", + "predis/predis": "^1.1|^2.0", + "symfony/cache": "^6.4.12|^7.1.5", + "symfony/clock": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/mime": "^6.4|^7.0", + "symfony/rate-limiter": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Defines an object-oriented layer for the HTTP specification", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-foundation/tree/v7.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-08-20T08:04:18+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v7.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "72c304de37e1a1cec6d5d12b81187ebd4850a17b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/72c304de37e1a1cec6d5d12b81187ebd4850a17b", + "reference": "72c304de37e1a1cec6d5d12b81187ebd4850a17b", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/error-handler": "^6.4|^7.0", + "symfony/event-dispatcher": "^7.3", + "symfony/http-foundation": "^7.3", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/browser-kit": "<6.4", + "symfony/cache": "<6.4", + "symfony/config": "<6.4", + "symfony/console": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/doctrine-bridge": "<6.4", + "symfony/form": "<6.4", + "symfony/http-client": "<6.4", + "symfony/http-client-contracts": "<2.5", + "symfony/mailer": "<6.4", + "symfony/messenger": "<6.4", + "symfony/translation": "<6.4", + "symfony/translation-contracts": "<2.5", + "symfony/twig-bridge": "<6.4", + "symfony/validator": "<6.4", + "symfony/var-dumper": "<6.4", + "twig/twig": "<3.12" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^6.4|^7.0", + "symfony/clock": "^6.4|^7.0", + "symfony/config": "^6.4|^7.0", + "symfony/console": "^6.4|^7.0", + "symfony/css-selector": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/dom-crawler": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/finder": "^6.4|^7.0", + "symfony/http-client-contracts": "^2.5|^3", + "symfony/process": "^6.4|^7.0", + "symfony/property-access": "^7.1", + "symfony/routing": "^6.4|^7.0", + "symfony/serializer": "^7.1", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/translation": "^6.4|^7.0", + "symfony/translation-contracts": "^2.5|^3", + "symfony/uid": "^6.4|^7.0", + "symfony/validator": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0", + "symfony/var-exporter": "^6.4|^7.0", + "twig/twig": "^3.12" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a structured process for converting a Request into a Response", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-kernel/tree/v7.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-08-29T08:23:45+00:00" + }, + { + "name": "symfony/mailer", + "version": "v7.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/mailer.git", + "reference": "a32f3f45f1990db8c4341d5122a7d3a381c7e575" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mailer/zipball/a32f3f45f1990db8c4341d5122a7d3a381c7e575", + "reference": "a32f3f45f1990db8c4341d5122a7d3a381c7e575", + "shasum": "" + }, + "require": { + "egulias/email-validator": "^2.1.10|^3|^4", + "php": ">=8.2", + "psr/event-dispatcher": "^1", + "psr/log": "^1|^2|^3", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/mime": "^7.2", + "symfony/service-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<6.4", + "symfony/messenger": "<6.4", + "symfony/mime": "<6.4", + "symfony/twig-bridge": "<6.4" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/twig-bridge": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mailer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Helps sending emails", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/mailer/tree/v7.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-08-13T11:49:31+00:00" + }, + { + "name": "symfony/mime", + "version": "v7.3.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "e0a0f859148daf1edf6c60b398eb40bfc96697d1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/e0a0f859148daf1edf6c60b398eb40bfc96697d1", + "reference": "e0a0f859148daf1edf6c60b398eb40bfc96697d1", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" + }, + "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<6.4", + "symfony/serializer": "<6.4.3|>7.0,<7.0.3" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1|^4", + "league/html-to-markdown": "^5.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/property-access": "^6.4|^7.0", + "symfony/property-info": "^6.4|^7.0", + "symfony/serializer": "^6.4.3|^7.0.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mime\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows manipulating MIME messages", + "homepage": "https://symfony.com", + "keywords": [ + "mime", + "mime-type" + ], + "support": { + "source": "https://github.com/symfony/mime/tree/v7.3.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-15T13:41:35+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70", + "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-27T09:58:17+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "symfony/polyfill-intl-normalizer": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-10T14:38:51+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "3833d7255cc303546435cb650316bff708a1c75c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", + "shasum": "" + }, + "require": { + "ext-iconv": "*", + "php": ">=7.2" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-12-23T08:48:59+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-01-02T08:10:11+00:00" + }, + { + "name": "symfony/polyfill-php83", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5", + "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php83\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-08T02:45:35+00:00" + }, + { + "name": "symfony/polyfill-php84", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php84.git", + "reference": "d8ced4d875142b6a7426000426b8abc631d6b191" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191", + "reference": "d8ced4d875142b6a7426000426b8abc631d6b191", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php84\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-24T13:30:11+00:00" + }, + { + "name": "symfony/polyfill-php85", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php85.git", + "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", + "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php85\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.5+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-23T16:12:55+00:00" + }, + { + "name": "symfony/polyfill-uuid", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-uuid.git", + "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/21533be36c24be3f4b1669c4725c7d1d2bab4ae2", + "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-uuid": "*" + }, + "suggest": { + "ext-uuid": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Uuid\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for uuid functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "uuid" + ], + "support": { + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/process", + "version": "v7.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "32241012d521e2e8a9d713adb0812bb773b907f1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/32241012d521e2e8a9d713adb0812bb773b907f1", + "reference": "32241012d521e2e8a9d713adb0812bb773b907f1", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v7.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-08-18T09:42:54+00:00" + }, + { + "name": "symfony/routing", + "version": "v7.3.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "7614b8ca5fa89b9cd233e21b627bfc5774f586e4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/7614b8ca5fa89b9cd233e21b627bfc5774f586e4", + "reference": "7614b8ca5fa89b9cd233e21b627bfc5774f586e4", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/config": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/yaml": "<6.4" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/yaml": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Maps an HTTP request to a set of configuration variables", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "support": { + "source": "https://github.com/symfony/routing/tree/v7.3.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-15T11:36:08+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4", + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v3.6.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-04-25T09:37:31+00:00" + }, + { + "name": "symfony/string", + "version": "v7.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "17a426cce5fd1f0901fefa9b2a490d0038fd3c9c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/17a426cce5fd1f0901fefa9b2a490d0038fd3c9c", + "reference": "17a426cce5fd1f0901fefa9b2a490d0038fd3c9c", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.5" + }, + "require-dev": { + "symfony/emoji": "^7.1", + "symfony/error-handler": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v7.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-08-25T06:35:40+00:00" + }, + { + "name": "symfony/translation", + "version": "v7.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "e0837b4cbcef63c754d89a4806575cada743a38d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/e0837b4cbcef63c754d89a4806575cada743a38d", + "reference": "e0837b4cbcef63c754d89a4806575cada743a38d", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation-contracts": "^2.5|^3.0" + }, + "conflict": { + "nikic/php-parser": "<5.0", + "symfony/config": "<6.4", + "symfony/console": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<6.4", + "symfony/service-contracts": "<2.5", + "symfony/twig-bundle": "<6.4", + "symfony/yaml": "<6.4" + }, + "provide": { + "symfony/translation-implementation": "2.3|3.0" + }, + "require-dev": { + "nikic/php-parser": "^5.0", + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0", + "symfony/console": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/finder": "^6.4|^7.0", + "symfony/http-client-contracts": "^2.5|^3.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/routing": "^6.4|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/yaml": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to internationalize your application", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/translation/tree/v7.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-08-01T21:02:37+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/df210c7a2573f1913b2d17cc95f90f53a73d8f7d", + "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v3.6.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-27T08:32:26+00:00" + }, + { + "name": "symfony/uid", + "version": "v7.3.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/uid.git", + "reference": "a69f69f3159b852651a6bf45a9fdd149520525bb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/uid/zipball/a69f69f3159b852651a6bf45a9fdd149520525bb", + "reference": "a69f69f3159b852651a6bf45a9fdd149520525bb", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-uuid": "^1.15" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Uid\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to generate and represent UIDs", + "homepage": "https://symfony.com", + "keywords": [ + "UID", + "ulid", + "uuid" + ], + "support": { + "source": "https://github.com/symfony/uid/tree/v7.3.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-27T19:55:54+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v7.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "34d8d4c4b9597347306d1ec8eb4e1319b1e6986f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/34d8d4c4b9597347306d1ec8eb4e1319b1e6986f", + "reference": "34d8d4c4b9597347306d1ec8eb4e1319b1e6986f", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/console": "<6.4" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/uid": "^6.4|^7.0", + "twig/twig": "^3.12" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v7.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-08-13T11:49:31+00:00" + }, + { + "name": "tijsverkoyen/css-to-inline-styles", + "version": "v2.3.0", + "source": { + "type": "git", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", + "reference": "0d72ac1c00084279c1816675284073c5a337c20d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0d72ac1c00084279c1816675284073c5a337c20d", + "reference": "0d72ac1c00084279c1816675284073c5a337c20d", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "php": "^7.4 || ^8.0", + "symfony/css-selector": "^5.4 || ^6.0 || ^7.0" + }, + "require-dev": { + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^8.5.21 || ^9.5.10" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "TijsVerkoyen\\CssToInlineStyles\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Tijs Verkoyen", + "email": "css_to_inline_styles@verkoyen.eu", + "role": "Developer" + } + ], + "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", + "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", + "support": { + "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.3.0" + }, + "time": "2024-12-21T16:25:41+00:00" + }, + { + "name": "ueberdosis/tiptap-php", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/ueberdosis/tiptap-php.git", + "reference": "458194ad0f8b0cf616fecdf451a84f9a6c1f3056" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ueberdosis/tiptap-php/zipball/458194ad0f8b0cf616fecdf451a84f9a6c1f3056", + "reference": "458194ad0f8b0cf616fecdf451a84f9a6c1f3056", + "shasum": "" + }, + "require": { + "php": "^8.0", + "scrivo/highlight.php": "^9.18", + "spatie/shiki-php": "^2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.5", + "pestphp/pest": "^1.21", + "phpunit/phpunit": "^9.5", + "vimeo/psalm": "^4.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Tiptap\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Hans Pagel", + "email": "humans@tiptap.dev", + "role": "Developer" + } + ], + "description": "A PHP package to work with Tiptap output", + "homepage": "https://github.com/ueberdosis/tiptap-php", + "keywords": [ + "prosemirror", + "tiptap", + "ueberdosis" + ], + "support": { + "issues": "https://github.com/ueberdosis/tiptap-php/issues", + "source": "https://github.com/ueberdosis/tiptap-php/tree/2.0.0" + }, + "funding": [ + { + "url": "https://tiptap.dev/pricing", + "type": "custom" + }, + { + "url": "https://github.com/ueberdosis", + "type": "github" + }, + { + "url": "https://opencollective.com/tiptap", + "type": "open_collective" + } + ], + "time": "2025-06-26T14:11:46+00:00" + }, + { + "name": "vlucas/phpdotenv", + "version": "v5.6.2", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af", + "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "graham-campbell/result-type": "^1.1.3", + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.3", + "symfony/polyfill-ctype": "^1.24", + "symfony/polyfill-mbstring": "^1.24", + "symfony/polyfill-php80": "^1.24" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "ext-filter": "*", + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "suggest": { + "ext-filter": "Required to use the boolean validator." + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + }, + "branch-alias": { + "dev-master": "5.6-dev" + } + }, + "autoload": { + "psr-4": { + "Dotenv\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "https://github.com/vlucas" + } + ], + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "support": { + "issues": "https://github.com/vlucas/phpdotenv/issues", + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", + "type": "tidelift" + } + ], + "time": "2025-04-30T23:37:27+00:00" + }, + { + "name": "voku/portable-ascii", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/voku/portable-ascii.git", + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" + }, + "suggest": { + "ext-intl": "Use Intl for transliterator_transliterate() support" + }, + "type": "library", + "autoload": { + "psr-4": { + "voku\\": "src/voku/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Lars Moelleken", + "homepage": "https://www.moelleken.org/" + } + ], + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", + "keywords": [ + "ascii", + "clean", + "php" + ], + "support": { + "issues": "https://github.com/voku/portable-ascii/issues", + "source": "https://github.com/voku/portable-ascii/tree/2.0.3" + }, + "funding": [ + { + "url": "https://www.paypal.me/moelleken", + "type": "custom" + }, + { + "url": "https://github.com/voku", + "type": "github" + }, + { + "url": "https://opencollective.com/portable-ascii", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/voku", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", + "type": "tidelift" + } + ], + "time": "2024-11-21T01:49:47+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.11.0", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "php": "^7.2 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.11.0" + }, + "time": "2022-06-03T18:03:27+00:00" + } + ], + "packages-dev": [ + { + "name": "fakerphp/faker", + "version": "v1.24.1", + "source": { + "type": "git", + "url": "https://github.com/FakerPHP/Faker.git", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "psr/container": "^1.0 || ^2.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "conflict": { + "fzaninotto/faker": "*" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "doctrine/persistence": "^1.3 || ^2.0", + "ext-intl": "*", + "phpunit/phpunit": "^9.5.26", + "symfony/phpunit-bridge": "^5.4.16" + }, + "suggest": { + "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", + "ext-curl": "Required by Faker\\Provider\\Image to download images.", + "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", + "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", + "ext-mbstring": "Required for multibyte Unicode string functionality." + }, + "type": "library", + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", + "keywords": [ + "data", + "faker", + "fixtures" + ], + "support": { + "issues": "https://github.com/FakerPHP/Faker/issues", + "source": "https://github.com/FakerPHP/Faker/tree/v1.24.1" + }, + "time": "2024-11-21T13:46:39+00:00" + }, + { + "name": "filp/whoops", + "version": "2.18.4", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/d2102955e48b9fd9ab24280a7ad12ed552752c4d", + "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^4.0 || ^5.0" + }, + "suggest": { + "symfony/var-dumper": "Pretty print complex values better with var-dumper available", + "whoops/soap": "Formats errors as SOAP responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Whoops\\": "src/Whoops/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" + } + ], + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", + "keywords": [ + "error", + "exception", + "handling", + "library", + "throwable", + "whoops" + ], + "support": { + "issues": "https://github.com/filp/whoops/issues", + "source": "https://github.com/filp/whoops/tree/2.18.4" + }, + "funding": [ + { + "url": "https://github.com/denis-sokolov", + "type": "github" + } + ], + "time": "2025-08-08T12:00:00+00:00" + }, + { + "name": "hamcrest/hamcrest-php", + "version": "v2.1.1", + "source": { + "type": "git", + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" + }, + "require-dev": { + "phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "classmap": [ + "hamcrest" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "This is the PHP port of Hamcrest Matchers", + "keywords": [ + "test" + ], + "support": { + "issues": "https://github.com/hamcrest/hamcrest-php/issues", + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.1.1" + }, + "time": "2025-04-30T06:54:44+00:00" + }, + { + "name": "laravel/pail", + "version": "v1.2.3", + "source": { + "type": "git", + "url": "https://github.com/laravel/pail.git", + "reference": "8cc3d575c1f0e57eeb923f366a37528c50d2385a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pail/zipball/8cc3d575c1f0e57eeb923f366a37528c50d2385a", + "reference": "8cc3d575c1f0e57eeb923f366a37528c50d2385a", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "illuminate/console": "^10.24|^11.0|^12.0", + "illuminate/contracts": "^10.24|^11.0|^12.0", + "illuminate/log": "^10.24|^11.0|^12.0", + "illuminate/process": "^10.24|^11.0|^12.0", + "illuminate/support": "^10.24|^11.0|^12.0", + "nunomaduro/termwind": "^1.15|^2.0", + "php": "^8.2", + "symfony/console": "^6.0|^7.0" + }, + "require-dev": { + "laravel/framework": "^10.24|^11.0|^12.0", + "laravel/pint": "^1.13", + "orchestra/testbench-core": "^8.13|^9.0|^10.0", + "pestphp/pest": "^2.20|^3.0", + "pestphp/pest-plugin-type-coverage": "^2.3|^3.0", + "phpstan/phpstan": "^1.12.27", + "symfony/var-dumper": "^6.3|^7.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Pail\\PailServiceProvider" + ] + }, + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\Pail\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Easily delve into your Laravel application's log files directly from the command line.", + "homepage": "https://github.com/laravel/pail", + "keywords": [ + "dev", + "laravel", + "logs", + "php", + "tail" + ], + "support": { + "issues": "https://github.com/laravel/pail/issues", + "source": "https://github.com/laravel/pail" + }, + "time": "2025-06-05T13:55:57+00:00" + }, + { + "name": "laravel/pint", + "version": "v1.24.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/pint.git", + "reference": "0345f3b05f136801af8c339f9d16ef29e6b4df8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pint/zipball/0345f3b05f136801af8c339f9d16ef29e6b4df8a", + "reference": "0345f3b05f136801af8c339f9d16ef29e6b4df8a", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "ext-tokenizer": "*", + "ext-xml": "*", + "php": "^8.2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.82.2", + "illuminate/view": "^11.45.1", + "larastan/larastan": "^3.5.0", + "laravel-zero/framework": "^11.45.0", + "mockery/mockery": "^1.6.12", + "nunomaduro/termwind": "^2.3.1", + "pestphp/pest": "^2.36.0" + }, + "bin": [ + "builds/pint" + ], + "type": "project", + "autoload": { + "files": [ + "overrides/Runner/Parallel/ProcessFactory.php" + ], + "psr-4": { + "App\\": "app/", + "Database\\Seeders\\": "database/seeders/", + "Database\\Factories\\": "database/factories/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "An opinionated code formatter for PHP.", + "homepage": "https://laravel.com", + "keywords": [ + "format", + "formatter", + "lint", + "linter", + "php" + ], + "support": { + "issues": "https://github.com/laravel/pint/issues", + "source": "https://github.com/laravel/pint" + }, + "time": "2025-07-10T18:09:32+00:00" + }, + { + "name": "laravel/sail", + "version": "v1.45.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/sail.git", + "reference": "019a2933ff4a9199f098d4259713f9bc266a874e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/sail/zipball/019a2933ff4a9199f098d4259713f9bc266a874e", + "reference": "019a2933ff4a9199f098d4259713f9bc266a874e", + "shasum": "" + }, + "require": { + "illuminate/console": "^9.52.16|^10.0|^11.0|^12.0", + "illuminate/contracts": "^9.52.16|^10.0|^11.0|^12.0", + "illuminate/support": "^9.52.16|^10.0|^11.0|^12.0", + "php": "^8.0", + "symfony/console": "^6.0|^7.0", + "symfony/yaml": "^6.0|^7.0" + }, + "require-dev": { + "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0", + "phpstan/phpstan": "^1.10" + }, + "bin": [ + "bin/sail" + ], + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Sail\\SailServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Sail\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Docker files for running a basic Laravel application.", + "keywords": [ + "docker", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/sail/issues", + "source": "https://github.com/laravel/sail" + }, + "time": "2025-08-25T19:28:31+00:00" + }, + { + "name": "mockery/mockery", + "version": "1.6.12", + "source": { + "type": "git", + "url": "https://github.com/mockery/mockery.git", + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "shasum": "" + }, + "require": { + "hamcrest/hamcrest-php": "^2.0.1", + "lib-pcre": ">=7.0", + "php": ">=7.3" + }, + "conflict": { + "phpunit/phpunit": "<8.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.5 || ^9.6.17", + "symplify/easy-coding-standard": "^12.1.14" + }, + "type": "library", + "autoload": { + "files": [ + "library/helpers.php", + "library/Mockery.php" + ], + "psr-4": { + "Mockery\\": "library/Mockery" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Pádraic Brady", + "email": "padraic.brady@gmail.com", + "homepage": "https://github.com/padraic", + "role": "Author" + }, + { + "name": "Dave Marshall", + "email": "dave.marshall@atstsolutions.co.uk", + "homepage": "https://davedevelopment.co.uk", + "role": "Developer" + }, + { + "name": "Nathanael Esayeas", + "email": "nathanael.esayeas@protonmail.com", + "homepage": "https://github.com/ghostwriter", + "role": "Lead Developer" + } + ], + "description": "Mockery is a simple yet flexible PHP mock object framework", + "homepage": "https://github.com/mockery/mockery", + "keywords": [ + "BDD", + "TDD", + "library", + "mock", + "mock objects", + "mockery", + "stub", + "test", + "test double", + "testing" + ], + "support": { + "docs": "https://docs.mockery.io/", + "issues": "https://github.com/mockery/mockery/issues", + "rss": "https://github.com/mockery/mockery/releases.atom", + "security": "https://github.com/mockery/mockery/security/advisories", + "source": "https://github.com/mockery/mockery" + }, + "time": "2024-05-16T03:13:13+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.13.4", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3 <3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2025-08-01T08:46:24+00:00" + }, + { + "name": "nunomaduro/collision", + "version": "v8.8.2", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/collision.git", + "reference": "60207965f9b7b7a4ce15a0f75d57f9dadb105bdb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/60207965f9b7b7a4ce15a0f75d57f9dadb105bdb", + "reference": "60207965f9b7b7a4ce15a0f75d57f9dadb105bdb", + "shasum": "" + }, + "require": { + "filp/whoops": "^2.18.1", + "nunomaduro/termwind": "^2.3.1", + "php": "^8.2.0", + "symfony/console": "^7.3.0" + }, + "conflict": { + "laravel/framework": "<11.44.2 || >=13.0.0", + "phpunit/phpunit": "<11.5.15 || >=13.0.0" + }, + "require-dev": { + "brianium/paratest": "^7.8.3", + "larastan/larastan": "^3.4.2", + "laravel/framework": "^11.44.2 || ^12.18", + "laravel/pint": "^1.22.1", + "laravel/sail": "^1.43.1", + "laravel/sanctum": "^4.1.1", + "laravel/tinker": "^2.10.1", + "orchestra/testbench-core": "^9.12.0 || ^10.4", + "pestphp/pest": "^3.8.2", + "sebastian/environment": "^7.2.1 || ^8.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" + ] + }, + "branch-alias": { + "dev-8.x": "8.x-dev" + } + }, + "autoload": { + "files": [ + "./src/Adapters/Phpunit/Autoload.php" + ], + "psr-4": { + "NunoMaduro\\Collision\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Cli error handling for console/command-line PHP applications.", + "keywords": [ + "artisan", + "cli", + "command-line", + "console", + "dev", + "error", + "handling", + "laravel", + "laravel-zero", + "php", + "symfony" + ], + "support": { + "issues": "https://github.com/nunomaduro/collision/issues", + "source": "https://github.com/nunomaduro/collision" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2025-06-25T02:12:12+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "54750ef60c58e43759730615a392c31c80e23176" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "11.0.11", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "4f7722aa9a7b76aa775e2d9d4e95d1ea16eeeef4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/4f7722aa9a7b76aa775e2d9d4e95d1ea16eeeef4", + "reference": "4f7722aa9a7b76aa775e2d9d4e95d1ea16eeeef4", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^5.4.0", + "php": ">=8.2", + "phpunit/php-file-iterator": "^5.1.0", + "phpunit/php-text-template": "^4.0.1", + "sebastian/code-unit-reverse-lookup": "^4.0.1", + "sebastian/complexity": "^4.0.1", + "sebastian/environment": "^7.2.0", + "sebastian/lines-of-code": "^3.0.1", + "sebastian/version": "^5.0.2", + "theseer/tokenizer": "^1.2.3" + }, + "require-dev": { + "phpunit/phpunit": "^11.5.2" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "11.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.11" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/php-code-coverage", + "type": "tidelift" + } + ], + "time": "2025-08-27T14:37:49+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "5.1.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/118cfaaa8bc5aef3287bf315b6060b1174754af6", + "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-08-27T05:02:59+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "5.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2", + "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^11.0" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T05:07:44+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964", + "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T05:08:43+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "7.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", + "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "7.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "security": "https://github.com/sebastianbergmann/php-timer/security/policy", + "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T05:09:35+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "11.5.36", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "264a87c7ef68b1ab9af7172357740dc266df5957" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/264a87c7ef68b1ab9af7172357740dc266df5957", + "reference": "264a87c7ef68b1ab9af7172357740dc266df5957", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.13.4", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", + "php": ">=8.2", + "phpunit/php-code-coverage": "^11.0.11", + "phpunit/php-file-iterator": "^5.1.0", + "phpunit/php-invoker": "^5.0.1", + "phpunit/php-text-template": "^4.0.1", + "phpunit/php-timer": "^7.0.1", + "sebastian/cli-parser": "^3.0.2", + "sebastian/code-unit": "^3.0.3", + "sebastian/comparator": "^6.3.2", + "sebastian/diff": "^6.0.2", + "sebastian/environment": "^7.2.1", + "sebastian/exporter": "^6.3.0", + "sebastian/global-state": "^7.0.2", + "sebastian/object-enumerator": "^6.0.1", + "sebastian/type": "^5.1.3", + "sebastian/version": "^5.0.2", + "staabm/side-effects-detector": "^1.0.5" + }, + "suggest": { + "ext-soap": "To be able to generate mocks based on WSDL files" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "11.5-dev" + } + }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.36" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" + } + ], + "time": "2025-09-03T06:24:17+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180", + "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:41:36+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/54391c61e4af8078e5b276ab082b6d3c54c9ad64", + "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "security": "https://github.com/sebastianbergmann/code-unit/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2025-03-19T07:56:08+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "183a9b2632194febd219bb9246eee421dad8d45e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e", + "reference": "183a9b2632194febd219bb9246eee421dad8d45e", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:45:54+00:00" + }, + { + "name": "sebastian/comparator", + "version": "6.3.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "85c77556683e6eee4323e4c5468641ca0237e2e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/85c77556683e6eee4323e4c5468641ca0237e2e8", + "reference": "85c77556683e6eee4323e4c5468641ca0237e2e8", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-mbstring": "*", + "php": ">=8.2", + "sebastian/diff": "^6.0", + "sebastian/exporter": "^6.0" + }, + "require-dev": { + "phpunit/phpunit": "^11.4" + }, + "suggest": { + "ext-bcmath": "For comparing BcMath\\Number objects" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.3-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "security": "https://github.com/sebastianbergmann/comparator/security/policy", + "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", + "type": "tidelift" + } + ], + "time": "2025-08-10T08:07:46+00:00" + }, + { + "name": "sebastian/complexity", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "ee41d384ab1906c68852636b6de493846e13e5a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0", + "reference": "ee41d384ab1906c68852636b6de493846e13e5a0", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^5.0", + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "security": "https://github.com/sebastianbergmann/complexity/security/policy", + "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:49:50+00:00" + }, + { + "name": "sebastian/diff", + "version": "6.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544", + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:53:05+00:00" + }, + { + "name": "sebastian/environment", + "version": "7.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/a5c75038693ad2e8d4b6c15ba2403532647830c4", + "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.3" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "7.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "https://github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "security": "https://github.com/sebastianbergmann/environment/security/policy", + "source": "https://github.com/sebastianbergmann/environment/tree/7.2.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/environment", + "type": "tidelift" + } + ], + "time": "2025-05-21T11:55:47+00:00" + }, + { + "name": "sebastian/exporter", + "version": "6.3.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/3473f61172093b2da7de1fb5782e1f24cc036dc3", + "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=8.2", + "sebastian/recursion-context": "^6.0" + }, + "require-dev": { + "phpunit/phpunit": "^11.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "security": "https://github.com/sebastianbergmann/exporter/security/policy", + "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-12-05T09:17:50+00:00" + }, + { + "name": "sebastian/global-state", + "version": "7.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "3be331570a721f9a4b5917f4209773de17f747d7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7", + "reference": "3be331570a721f9a4b5917f4209773de17f747d7", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "7.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "https://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "security": "https://github.com/sebastianbergmann/global-state/security/policy", + "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:57:36+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a", + "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^5.0", + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:58:38+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "6.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "f5b498e631a74204185071eb41f33f38d64608aa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa", + "reference": "f5b498e631a74204185071eb41f33f38d64608aa", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T05:00:13+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9", + "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T05:01:32+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "6.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/f6458abbf32a6c8174f8f26261475dc133b3d9dc", + "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", + "type": "tidelift" + } + ], + "time": "2025-08-13T04:42:22+00:00" + }, + { + "name": "sebastian/type", + "version": "5.1.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/f77d2d4e78738c98d9a68d2596fe5e8fa380f449", + "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "security": "https://github.com/sebastianbergmann/type/security/policy", + "source": "https://github.com/sebastianbergmann/type/tree/5.1.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/type", + "type": "tidelift" + } + ], + "time": "2025-08-09T06:55:48+00:00" + }, + { + "name": "sebastian/version", + "version": "5.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874", + "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "security": "https://github.com/sebastianbergmann/version/security/policy", + "source": "https://github.com/sebastianbergmann/version/tree/5.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-10-09T05:16:32+00:00" + }, + { + "name": "staabm/side-effects-detector", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/staabm/side-effects-detector.git", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^1.12.6", + "phpunit/phpunit": "^9.6.21", + "symfony/var-dumper": "^5.4.43", + "tomasvotruba/type-coverage": "1.0.0", + "tomasvotruba/unused-public": "1.0.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "lib/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A static analysis tool to detect side effects in PHP code", + "keywords": [ + "static analysis" + ], + "support": { + "issues": "https://github.com/staabm/side-effects-detector/issues", + "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5" + }, + "funding": [ + { + "url": "https://github.com/staabm", + "type": "github" + } + ], + "time": "2024-10-20T05:08:20+00:00" + }, + { + "name": "symfony/yaml", + "version": "v7.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "d4f4a66866fe2451f61296924767280ab5732d9d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/d4f4a66866fe2451f61296924767280ab5732d9d", + "reference": "d4f4a66866fe2451f61296924767280ab5732d9d", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/console": "<6.4" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0" + }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Loads and dumps YAML files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v7.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-08-27T11:34:33+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.3", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.2.3" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:36:25+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": {}, + "prefer-stable": true, + "prefer-lowest": false, + "platform": { + "php": "^8.2" + }, + "platform-dev": {}, + "plugin-api-version": "2.6.0" +} diff --git a/composer.phar b/composer.phar new file mode 100644 index 0000000000000000000000000000000000000000..ee830d113df2a40cd7fcbd49966711d4aa4276bb GIT binary patch literal 3124368 zcmdqK34EMY)jwYL5;j3LUj(NiFiA-=EiDM?Mw+BF&^94S0clH^B$H(5WG2kgHb8Mh zK?Ql?1(ih>5pY*rQ301%kXL-&*iqa?+!sUv7yjSxz31F#ok`mA^Y{P!`o3~9Gtd3r zbI(2Z+;h)8_dZ9?NmWY4)KE5`%H%gCCdVi17BAy}Q*-MQa}xvO*-~OOo696XC)34p zqA;51C`?QiN||CSp5Q}`!%c}b*<2~nK9VU;r1Sa2;(Xfvd6NFoI+9t+XZi1xLUAOU zSY8+#%ck>%#Nu;Xhve^*N}1e9>yUYrPp>Ex6Xo$tVziRWC58)=Q^oAqcsY^Ik0f&0 z;Y_{+zVf35R9em!^393KTqce0Hf1xLS)4`nx$=0r%tqu2!|8HnB!N%-d8kk>7be)M zvNn~?O4Ze+Qi=9Wh3rV8y|*JVoUW9z`LRS1Rpar|bUB?%WQxT?5n{;{6XWIbWT`Ec z8q1c)D?_crg^3jYXQbr)ku8-fnNsT5;}_OtM-z>iEoHO-d=KUd5Z6d!GCet*Y)Tw` zG$mfn6bCn@i;dZQc5p0HHb1sz^68;mW^g!{O*SD`C4ikzCL^ zuXX;hN&K~RNwP^x8w50>q>YHM(43gpw8+%7HId1o|7^7^IJ&u*EoU102Rgg@`T%@J zx|l~lw3$v>yd+_(OiZMwOcy~@{5`XIJd;lpD|r@y`q=*9A5hYfQfsoccV+KjSI;V` zJ+8vFlOs?UR@a<>GNKU)^pdY5_$|K)w<=LCB<4Xo6H|psk>jcrJsGKTYu(m5qYQI~ zbLmoPFta6FDwi6Qz2oVkC&J9|cp;Glv+I*kH~f@vxqi4skG<*bD_ORLY5#mXU0U%GP4)!%)d5%EhTfdMusI zwqZ6ZC%KN^!N_f`TW@rW>&Nb(DenZN_a66rU|MRj$9 zgDcxt4GebltnTez)z#P7v?#G`={|M8ePGtCn|7WxYyVlZX6-aA`woQnTq?9N5LXTQJgN-udjC6>M%*&f-x1 zv8zQP{mgOYd5UsO1f^0g&<;U3_K%Y@`Ajh_Vw!q~g&}?8(Qo^}^e`RN=hf-S0L)d= zCekZDaACi~931ARgJy~%-Ex?%nDjeuIO=>Yaa5#)9o4D!A*e69oI{)dXGour{AuW)B_G&1=yo=X^ffOmc4IH1;SLPbd(o(d z59Pu=Eeh#APp`UJS!%2%9F&EhK!;(Vn9i1|B&Q1}qz4SY_Bq8kx;jRFG&|C0pz zvfX;P<%G0*k7piJkg5vSmzh9Yd)=9DS91|8Oxo>9;%w9AH66Uo-lpT@?hAPW()15!!Rvv|p-!-owI>mVQ3BMPaH6 zq#s6oc-+^T*NLi;KKt8i{-Fp}=Y{@EZqz#JK9r$VmJiZh=Un?nMX5S&`^O8LedV9H z+m0Fj0*T+RtJRs7`e)aJGC>O7aQ4Jd!z@&PkC<5uC z3vW1B3mpJB8?mQq;=D+R5vC2dyZ(OC%?rK{_`l0>qK2>q5w#tXoGs&ir zn=xq>>7}ntE>x6AM|)muUk1&?B#`RN3}+dOC=uva`&)KM7d4!;mjcZXizgPygg|-= z=(Q<=eG;lkts#A8^(luaSZW4fW}TBA?yKaC0v<17BE9XCxeFEQgc(4sLWnBYmzgYJ zy33c+Mjy!DJy@HPJ<=atxAHp0Tre}tjUl*pxI}~_9li6I^Azs58NjVZ=qSqp1JRYW z%@0bal79NcecbfEbOwMuh@zR11C2B8i~E8te@TWj>5>=kxIEcE+TS*m} zkw7H}?_%XaI&1!#Q?wE|;=%bZMwJ{;%2l!!Q76-qP&KcXYDmkQ_t{6QIcb}!aTNy4 z-t)jrKle1uK#h6>wuHC3D}7wfc;D9T+$1_()Y^k zW7^Jp0pOd&GL~%%Y^|Vb4rYU^cD&^%JF9Lu}HV9 zn6ph5h8W8$*&HJ4gnIB4+t;L5o%DRSwr(btk5Dwm6WQ}E*mLj{sW_ykzV4dc6)fWW z#kH+iK%8)bJbh+^g(2PRCtr7KrJ2CctA+DJnD@NG!jLxHdg#^4%}gY%#^^KigcZ8^7r^>6rd{{$WqBg~{1FuwMO!$7 zQAC~q69}huh+9UQ+Hls5%GOL2T=2TtND1;iC#@vCVect75RaW9duOD}@Z-lBAVw!% zAj5_9P2cxb^kR6m}+VO~_~PYux8|*-)oYQNOLQId8VLiW*Subl*^Tf7ss& zk967B{70Ut3{2b(CtQY7<|NE=U6)ZYDJuqcwbvlm-gR!U| zdX0r4{p1bH#uO$hrzlLO7~tq3ndC`_Ce}TmP|=a;gW5D)Qm#U9FG>SRf4u)uNrj6l ztOvIOTRI*bWj+o&LotyyoPEG26s1=Ch*Fv=l`|6ol}d@GlFoU@FOF8I$g0HSAhn`^ zZK|C21zGA9i%5F$AKQMcIGBb)W5{b5mPtX7t2%7ENMHE<{jXAxTGBcB{On{9=`9p;Kc-@eID?(wfT%B%z9)V1 z3x_|feAQ}QZ@N4lmMUtt>s{o$|LE>ZEGSfis(A1-yIC%IeeH7#I{{wX>{ zdic+ecb;%9K>^f5<5+D!TvQ13{sm`$S~;sVK+Zfrh;ga-`lMaSJHDbAwHP@oJW^jm z@QZegbp5YC>w-J@7}VviO$b^bcsxnR1d#*tnN4|I*dTq&-){M%vH@Rl1_&M^vEJTo zxgl+vKj1cOA{`dXO@C#mgh1?2$l!lfI*fGdl3&eM2B!tJFyU6qaL|y#K70}l!1eA2%4;Q-SY@|nBsnnW6e<|laQig975Yorj-u^x1 z3_~*5A1e?I!45vlJk@9APWs{dUjH*KGY~0bl4(-DO-M%18P9^MD_m1Ric@~9W}O4lNYbzW z_=)|rPRKaa5z`5^YBjzt+$>%a>30Wq`I6SQ?Oj;4wtyLY9<89^Abs0szULe~1bBn3 z>+VT$3%KdQXOwQvoR>MW-{;`)#dUHXAi^->bi zGVb!j81iJ3^qVbb{ZLCq903it6;sQz`E+s0eWrAG#p6UF{lr^e=NyyBGSQV1lwRaF zA-f?M_kS89A{yz(7QFj1(}?>w^ZkM7lUe|~0=0d&` zDXvveFOuOzdiyUwvQkka(vm(-ne7nyK(_8W)Uri7`>Eyg72vfIw(MZm;EqOl=q8$w zfpx72*)P5}Y4X_PMt1-b>1<}^c|??gbivQp9HEdA_uVzq=JY9-8K0fMNIHV_vq$%Q zQL!SCnrc|Vz)!zu3F%9}UH1E#!_nb@!sRL>l%VX|zCvsp>6ZJCcX6cY`vbf8W+y%Z zxlA}DU3SGeXDf$MJq~v<0xuD?265p?%U7J>;&_n>HzGb}2TQJ{>C|6~$s+y8?t5IN zd_@Lo1PKd7KhOapGt$e>+i70~YN)2el)QjaVVe%HV}SI1&!u+O@{vhf8KJ0=6JIo$ z#{7dQ-;?H${{6{MT&gHln?n?&C1%1y^1M3B4(W@DBVDjMGB^3zA&{?0y9oyATW>z) zPGx3(HIXPYf)VgB-@BV-i1ck&UhVdLZnwSNWQ;)~kf60&{edhh|Tc{`z_sR*zw$CC2y2`(0 zdB}?8F78vc--V&RLZK|^9$(*-nVj^(!#?E(Xe3`C#Fx&e`7xsb9^h;HY!8r*Uv=Ea zwV{!9jt4lr(T=XlLR*ydi5o6+LC8ckNecu!{vgbT?0C{|4gK|BT5Z!bWdoAkWp4{Y zddsW2oMfwlP^96Z{mZ>92x)uUyE>JVs+P*vFKo#NWh9awe%PKa3$m(>@s$s>W{Cii ze)fqCUsFb^PN=8b<3K4mIz!nUjzM@+)`2nzNDqH%{9MJVIwL5S(B;Njuz7omj7dMW z{`1ExQq_SFLOL1y$vmdU!4BhK20Q5YK6OG`p=Qby&S?nJ!(x3%AOG=HPb<>2q7vqi ztB8be>zn4WEGJi_7q40CR;w{uY>tWOoX!?qEj|$GN9KRxe&yrnh!#uoeQM?Srio6> z3tIdB(&?m^-}&q_iZG`t0Rgod#6@!ae&O!^z-d9ArQ05WR zkNoMP1uC(KmGFweQsfJHB=hFPaVTN8&Yl(enrH**VYgrK8%3+dml|%b0`iskob5@{ z7ia(Z?TQqc-@IaGiNRhlX%MzI2=x|eBI(~h{2$JuMlweNP)vQUn5`Y}>p)lDf-a-3 zkq&3(9;+PAtI?Glh&E%u10{=(VbBqa^baHV{avw|Yh%H#1aZb*VR1;0`S^-^6(^$q zUNILA9WfrL_XGJlQ`D98?&fu`SG>qpn^(-ktJc_41e7$nvBS-+wYpXVcq3j#=pCvSgPSAKX;yG`62zt_&I$l>009P zKz+M!XB=XINT1n%|3(F>)ny(~K%Z_C_l0zR{U2s2)XaGD&HV4fN{EU{x<~WYixlX! zP=$c^;W3i({?r4|0nNNr)QR-G8y+hwWMrl0;RGN}=H{#;EnlSn_2%<`p&+&9G!JiW z8MkAw@2(Y%ByC!E`BMrLS&w^VQ@%Bu_btKJi%OB+d(MgOm{cu;ilh$B!z$vCvsoMM ze4uR`Y4htITB}UenjVRRaNzQ6d8h&xwA|^?9>oHLJxKbSsX1=vp_aG>%>(HY)g*m! zpUMNu(sWG&ODiiw9?pMb{v$J_KWP1!+t{1|&Z@Kz=Q_xOIHZeS`n`)4MPhJX52e^B zeUnK|1x!-`p-IuSGV$$|V+Ht|S%4%$$C ze>2o1u;hX4Bb<*#;ADJRpZjspo;kvqkTkPf{4Vs}z)ns#{%a#U=F-^#8ceamIH zE>)Il4KZ1onv>-Ljy^B8gY-?~voBGw$mW2@L+T9N3c+oVn3?SfaUDr>M}PWAg{x)V z6wa$5z~N?rBz@$fyXPrnB#LSigS-@|Ux+Cpef!-vJC$xgQv;S(3QA%TGpdX!>z2+U zegCbUE=rk*ly`?SQ>SL8OxY*Ia*_Ve-d?^zv~I7g^pPpQVNct~qZcvg~B6?d{fpLI2K(aD-zOk_d53=tv158DXKpI>Z~5+ zdo@BeR87*|Ze94GmOm;iGAU2@T!N=IUQ`lSko1w2w>XPm9}8fP5UxawBWGLw29X-+ z`E>_=K&y|Jn&;WF=|5?=tdsuv_j5k0Ws#v0)E2`!%rFbB>#&7Lnnh{FYwZP|}}0_37Vg#mV@J6$B?5Cz1DK;%V2&kRZKk(FZ@T5b?TY_`u?O z%M{LUn3FeMvn>mxQ#U>3R?9V5Fy(!|*B3+-q<3_8r<8>n5OQY6Ah8GDDqN7hu5;Pp z3W2c}*8>!UUkE>xPz31@-m;gwr=YqJG{#~z{0~i52&B&@H~v+tk00B(XTdWI?-V;q zdhNu=mTOTA^%%}qAqR!+{pTLGLeiW5zOQ2#zE4akCc)rfb$T^!f*Q?QmOG^1Nk?zNln6FUK6sFoIBDY9 zAG`4yZ$lxiVeA3ebXaRcFO@I^>29-^xm2I{F5_hlWt-7p4ndHGAGKQ+NPqdKAGv^8 zJoEhshagMM%sqb+d6S;}-fwrQz#>aYBQS*RGU*9~?aH{X%eQWOkC;c&3qCgBVm6d!*$Yoq~HBoi(8aLR8OzLNtrvay#3A>msu7`k3H$t6|Jp4+y^dv z<9B+VmD!YZzs32@TAH37QX$=hAd7xm? z1$h0%pHJB0q>ugPt~Y7DoK*wGeN~?I6I+J#%~yQOWjA5zGYcN%NTHZY%Qa(^Y)&Lg zI?}kz8A0lbJU%SxEMb|Z;1tlOB7M&zKfOx1W2c0R#)|cq;!}~{-1V(fY5^$ExPTFt zo8g8#GXL{kEC;0ZO*m!KK7Y?-!Y@YuuEpl-7n0Op7C(T?RrtOsxpr= z@#X9=>wcGro^bm9OJ|3mLc5igj+UNb$4{F>F+v1>LxvT&plkgu`#A@udq>A z2(AbRH8at3{w_vxq({7Tl(VF?$6@|G46`~)FE`w<8B1khPkPnQ7rRB`F>xqVoEB(K z%a~rT7uTRAFWmc__Qb*&!Wg#X(mk@ZPn}f@(z;ik_+N^*WIONzr;f)Cv%sW3Z>amS z0&feWTwU-01Q~7E$>NcY|E2#t#cSIJMtjF63E6=Q;&5vrQ4f}F0@6(v^}Eo|iQA6q zZT_DvlMLzN8*gzlA*cSZ!esUK2V;a^ICdwaYNXfhcFUKvk+j~`OQIb&Vl>dek^Z{v z@f)-tT-->(32`u6Cd9*x)2(}M{f&z~#fdlyLd}ZvUB4qkko2qbj&_Q`by~Phlf%W> zq3h=+Zorswh5?@8!Wo^uObK_7u!j#9y&>Im{fRHBWEf3}t=SyHQw2yD@BVWq z=ePkE#E5U@-vy8KjtA$RrmbXDt9C16oA?ibBfVg5b3x%2*MifuX1A*}mf0f98fH4P ze}5`&An89I|NUc%Ta!)2#p#f-)l``kx%8NsCMRXBM*6yM9J*TJPM!&y4i2^elP?xP zxMC@i)IDFSApPprZ+=g!=-Q?#2-`o2OO8gTa9k^pHU5N%gtX&;FSv2MYNiz+ikQRn z*Ma*1hmhXekt>uc#Z06jmr6rOAK&$P7YcymT3tg_^lNcv(P+l6daO=+b)!s6q=zl& zx<_R+wlI~AO%&(^6>A<`GmaY$L7XUUj`b= z(z}W~O?vAKzj4!j%?60vy)k{T*agz$oe%s`d5D{y91m;rnJrKZT&l>kTSmPDQaM0C zNpJrBm;bDwann;NGlBh|xC!Fx{e2T!GH#ZUlE&XKna_IE;uSI^&@@Qqqgxu;1;<&$LjObdji$FQ=9l;GnU;Ht%M8oAiu@8_rOuIO`eU z%0cmPo<$|z^O&-!J)~E?<5H)z3)E+QXiN8^EwMqrK%GW_wK zEyJXr>^kH{6~N3HHn?jFd0YwTm&E@FFzKTofBa(#9H+xo7?x|qeByn(c+;f+`^aG~ z6*XB~iHszXpuiq_T8snfl642V!%A^;u8%K;Ftf$`kFi1{J!$?IKCEqvTUYup`pu{! z6EBDclm6tDEslxi+U<}Pzvps3)?yhUJ#_B%lQkKc9NE%>8`=0`gwk|FJI<#m1ptZw zG2dkL98}5pvNs)USt8xz+pApSK zH)eD1hTObObdhxI;VU*N7I%HaZ3}T@uxtR6NPiYPMml=qS*?l$y_g9SGPQ9#DS^I+ ziHqVUy>qAkEh|u5_rhKy@9fN}65sH2j^WwQXu_x{l&GW^mkiPNwue?Ix*X$5{$s7{* zs-tkG#Hyf6|%;cCe<7LXLUkNaqaJ_eOE2NPltZ%HL^yJv&?WeXRgVd*5^2QQDyXm#vn-q`RNYVWb~D{ZCGLcT_XF@)d^e zeG{AiN~p>6#$2TB1ncr|ZhrgfuEj4`T|Gng@_m0dyq5eJ9&ab`x9do;u%!R^?Qw21{>&ZJ4Xz!{OCD0#6fK#hr1{9P ze1+6W`kixU9j*QLx|glaev{hncwnV>%7`Z2^Tg}MwbJ!3TcxhLfF-$A+;`Hu+V^qC zB6rl1nA!qe`BCw3NDuhtf%|C-chp3##rf*dY@S#4`!#1(gVj>f-46Mn^JG_Shd{e< zfT%oWX6xQUmN#~@%bFzIK>D%&n!S@Y=!EU6p<)su#!!}C3F$qlZ|tF%+cUP@B0J^& z3UvLj)J1y6==H?$>P^nL^C-(iW``c`K~vS|*kK*d)`LrFIe476!O z&v;oXHW$^eEoK8%UMW?QKKI~WF6ViBhO+}ULku^i7e-7B(Raz{3t}Hh|8&{{H<|8O z3lZ5ejl(5VD;Rlkj8J>tCM_iWeCiZsW7@X^)>@8!oPoogu>|+ui}PsnTW(hH?O78AzytHkd~q#E z_x?;>zt+;V9ZeX(i9)LMI_HO%2%w9du{Y?NPl+DWzLA7yd6yo)yMQ! zR&kf;1nH*x$KI{d+a7}!s)AefCug{z#EnRjPA<`{ZqP?gO}gde%TOEk?!>P(Dfw*M z3egPGD~gXFqix%s#Zahi_~?2nFo++JE+ai|*EhJm<&N#_GE~{Dki9twZ<^RN{9LzIV$( z_1gDKwxg1O4Y)^CnDpa+d*C+;e3S<~fj3(`FQ~#z2e;+ z-&KI4YXUI($!HUmpdMMk6d>u>y7qMYwoNlaz}q?r(t*eaK}avS=vCiPHeNd;kp4^& zFEq`bPhV+3&rH8wT1NV*MbF%%kTc^;-kxwfb}Yyj>8>~2KByqAwfQRJhTRn71o<)Y z#1;;r1d&Mp`@7dW>-lOA3HfozsLYoUvi3FxE)bJQ`p84GGRlE(of<61zM+*fD9(Wk zs3Uz~@+n=_xcxIQW|!C z)b%4|t}v#Gyi8<7dhrW;&Q>OTU9Ba0QF0YZ>I{d!eDrOE^i>oQ1dXv+X@wMgL_v56`E#o;_D(jfhh zgTA$!wxfo&7!b>b6N$nlB#KUYctgr%@zfBmf#ZL?mMxxbb&m93jlbwtrhGOAX|%)T z)MT-M7kInmxU7hj^c4%Xx^04^ysizFqdn-P{|h&V((vE6c+X!Sa|dvJyYf*0XPdkW zCfrv9y-Zdhq;oF&_D{7nFvY63wLn*8@?+)k03ui99FwHGE<0~mMf4e~D5B}Bd^*SL zIfgSiI{$?{E;FeZvtHcALXy65%ix^~S(8ZzxuTLoR(1~epV|&#v$x2+McP){a-Sj| zSF70$u`k2zg#h4ldsr4pZ@T1_E*GPr7NC!z|9qt_PkP%y@9I#7T4qq*DLPx0m9bBH z^x+%aV%sP*pOTWKqtHLgvIg4%!f&ID^<=AA>m(IJ%d3{HO@FsB+XiJ56 zB*gXXbYC&@|9jl6}iAwGzt8I3vCJu*-j_0KR!84qyPco8f%I#H7*ivt=S6 zeeW;+yHi2xL;RPrW3Wl#EE2zV`r8oh@K9-^qXy8IV)2Q?tt3g`IP2g#<-|8yOH&i0 zh5QtqR^B8Zei`ZR@Zi`Nr2m|lbFm`$Mr#D245xXhQU;d)jkFJomXO}F;0OOwq+@+j z3Gvd=&C4RjD?{zZeDEl{o+0$VbL`&l*N-V$q6S(aXOHrY?`zvcdh*aOU4+6nQHR@v zpcij_<19x?Ej=Y^QAlU)_2g#dpjLZ46mw;(5A7ZBj45Z*d-vOVn4}_XF#mHui%ELo^}C;_m^J!NN~d_J&WCi+o)(F8_SSdbwhc(D(&tb4kggY=NcXsL z;uqV3gmWK0r1`=VX+!51FH|J|I0@^M$e$Mo1=gAS$&5gH-f?5+D%O%(+GI7N-;6n; z32%Yv@*x1QTS>pT{G59gc-geTa-*t%+D`%K(_}o6UjK?4S8fNiEHDFgP_@^JLqvMm zgM;gY@BJ^X|w(?V+LUd$J(63j~Ywn{Q3H#a?4AZp~C;ZXPt^d_-DI`o^)% z8??o9YG71~C2Os(ka13W|A+5zi8YvH4w&K?41VsR@_b0Koid#Z@ z=dTwyEZ^EJJUe&*KCFP2{0$AHZ6f{5FHUktjQnm}Xzchv>7{xf$>eWdVev@kAN9-? z+Ta>fm{RWe66m#^V4Ezz6YuS#NnHec-NdKBzn{m{Dh+ zIgty(&3=uABdv6wbe+Q0V9$&S2KVS~i7J}!*xdh-!AAOtM}M-f;??je0(d5I)uH`U ztQhH`zdFhtkM=G4!deqVLyXG=O755OOL|}7`%fraHKY~*vU8;4>tul=edpf~+e_hm z>+PC+4P=TqsF*Hi9O6ZSNIG7;=h2xW@+c|K)258z^b>m`DPb7WKfdplw<%(cDbTG0 z)k}0;7Tx88V&0{h|@k;ZEpeU&t#DH+J5Pn@{UrOVBT*IMz<+Xa~P(Qn>! zmhxI-cJ+iHz)djshUezWr`G5}`&bothd`6Q>Dl}TmEjs*kOv)?z49&r zBz@v{&BrTX4a;j&bFu18F|cZ#6ZajZdbtcK(m6-(Q&G$sO6AJOVfL4&>?X?I0!;di zd6zt{z%^{92OPub>kqOvnDhrv-*$lF&4|$uUSNLoCuY7bamSAoxW=Sgl~LFF^JOL{ zed*lvM-_BAx=ywf!pd43G{EvrVq8d{f5X?@nv{{0?Lx=tk74ujjJHTclXTS+KY6?I zUBhYh_&x(Sp_tc<))M!lqQs=PoVC;Ew1(rW^KP$xfq#R;IIcGDKA5}2hLgVkkH@_nwJ$Y()WM%4X(4N zXUJ>R<+A%v`jxBayCX}}Gh{IW+V?bCL5Gs`oW8HF*B;F5899mJOpuyCZ8JeYBttu#mr|+2WlD2EOCxX>)*9uX{SII(%^vCZVc}ZKFoL1=vbmRTg$crOar2UV5#aYei zHOoMBV9SSdTDydKNS}G==GQAH(+kSMI79w>(NfayUjF$(#hM{YeTB_t_36Jk;*7U1 za1oIivechJE}rVaeKP(??|$w<7q)4hnV?AuHGmM;}G622&7N`py0Om zYJ@?32$~qcCLOZ7<%RTHH-Gs><)wz};zx??>c2-ijP#@X^?X9{YIMF251Y5Ru7%z; zc{}nyEN`THUN*;N62in(oBDlN0XzN=SvQiN{Mo;JK-sFHM?NU)@ROy(CC*OT{h=FO zR#6QH%HkmF1~=Go@SD#8=DsB|BYpId<=4-cIh)F30Lk1k=}Xc(uR7300{ojyq3DO) zAk`{Xg!FG;*xAJ#Ye?E|@9V1H+w9+UFWYIPU*CJ*)3h-)6u`PrspaN{!I=^Jkqyep zL`OQ+c9%P=T7xaYl3;`fb){Hr()CaMVMy7kv7U&73iO-*j)}MZ`fs0B%o^@p5EGZQ zQ`bE%uNE#zzdTkrNfB$PsUUhw9tv)`^e5?2NA}&XI5qqz!SQ%`KzJd&>A@4WC`JuG zDu59X)$e5dk^b?W_wJ@(t<{IJfZ2iLvGqPta?<8|>)nh{W2Grb1I6sbL}tXQnFsiN zVU0Am@y!=0Yc+f`bqG=&;{_bI*N>F^Q*~DTN%tK7`R$5UL(jB0$I@sv=Cw3C3x}k? zpSsVv={2;%Vd@{`tzKpg(r^6m^WRtAYS?<_rdEo$T`x6+cSen8M@BOFY<{v*Zp8-t ztOnaw(rYfi%|$Y640R80*li=U4q;c}+afp8>kmy9mA4vlvmrQKMuUhKUc?jp$o9^W zQ9yc8Yum>avxZOFkHCqGVYW}&j0l;IUMp~<|2zNQ*Cnc&_wpNT+gt`-`^i$m&26vNT@k zgcyC&OK$6RnovX1Oc6t<#wTO@4Lj~Kku>QMuj&4~a#LfL6*!4LgUHs82l}LpBGPYM zzsPweHN+kS^`M>*DALZ^pLGW+PpTy?(_GF=IKq%czKyWjUFxq4^Jd=BiV@|b5=$aI z;{G?kN!wndONC8KTtebUWVDkWn_Trt1&UGEk<4TWiU!5%;V z%cY7FGY`b$XsQ%@c8SdBq&I%$)B7k`OkfikX!7zTFGlSB6&MB=LhjUF(#v=Im0MoN z#LHq)c?csmtodDGmvrdqt!{>o(d$^??j9HAWb3aNIMM}!|NU!i{o<(JOa~We|LxL# z(sQ5K>^4VFnklY*pOLN$0z7|Eut_hUv+viH=NQ8r%X3_C_gcXueQNDm7cGx*Pkfjw zoI+5R4G1r?&q=TP^5#X#*BoGm;(|VmY5d*#nuYm7Bvw5n#*%dRAKm&Ytvbe%U^&D0 z?b06EMXm2oLM`0Gwt}?&w|76HP_YUYhQiy=x!vYlF7GCWiS*k?z3BE0Vw|HWXL{X) z9}u^}8Yz<=bN8%q2op2aJ?`6DLx}Wr(drLPcXiP{q0@|5{rQ(bC zV#n*-1erA5^wMF9oWSRZQW$ZrFdf9McvO0o^qspca}lf~tCmF~7cylEMU!#+Dd|bl zSC{r&s8z=-zNAqn=L+Us4PO_Jmb7!|l22*LnD~^G)T5$!|3ax;n83imRH|RHEyI{R zI5iw zpTyenpm+(&DHhw%QQR{Gm-MUm9pE;lXUHt?!j6JoEt3xEl52n9T)XPl%1MBUZu)@= z;Lp#>Z}`&PssOR`Y_Q#{dA%KcvR+(Y8RhYEi9C|N?+uT+9pvhEOW87Ssfz;sSsG0` zc3`~=WzK-pzRWNZb#Ri_X_eMR5uCcG9a*Hmdh3eX4opx4{n_)YjjRi$<4Jd4@Wf3j z*y_`O@|5B`C`?!hCP1U6jk1^`edwnj+fU(UFi`P2s%~S`MxsL9EU={aedcf%k2}2T zK%Hi~J*sNK{>dEbN36`go#P&vhDi6A+RfQ@nCh@ypDg62MsawdWw?y7o9f_y*>RT$ z^Q0GjcH}OVNemAmh?qv)e%A-jRDffq8@$W-?IG7XWu|eYk zM0)C%rd)$!;ua1F>yBK@7`86)Mubf2Wch<=2Oehin)Fj&|4hqF*b1V>i0Q#szs7|U zV^p~cTdtktt7Eq1i*(cA^?NH{F_vLEI4icrq6egFUUT{q1&lF=K|oCO6FkiccW#=d z#>D@sLalMAZ0%nUwyh=ob@nOezpbdDW2P5;%y}V}k~!}gtf5s5Bk5_ShIec8`?jlw zNhSX>9{9Pi?%^B~V}bQd=MCFZ=Fs$2L~& zSbc>FM86OjGA}V1cugcL={MTU%b_=nq&OVs_N?i?cn;AK$0%`MbWL78*9jAf|oi#xYLcQS_aZ# ztQIhK(sO59fsr;m^-HF%BIu$|mj zCh6PQ&DHLTqA-SleJ-=GCmmbx5Mbf83*z+BKmXVAK`cNoVc4F$3=h(d(rr2AAtnLOwZ}quoobCbQrQa7>1m{N!n`;s`J;u?NC^PFCRP_bPG1EonO8wHp2i0}N<8Imr14#h*J z!CjlTH$#uutM>Iho*SeB(l3nt_rcrGIPMRrWZW&qbP#9(Nw0i#vvX6XQD=xbpw2JK zMgr+$zyHO~%HDM9JU>pI7Y%>VoxYq-o#z{Mo==TgBpO3{@CzRvQ65f0(`xm>{D{VM ztnFK6`L+_MUGq)bITj2zpNmXQbzye(30E^B*9c^- z6!8xTFzI)`e2j}7#I0Z=z|maps|AiU@u{EvN%@R3L=iYi*jtfChX*eb+#+31`hjnr zKc%oUYQDhQEz=P2{t}BIecfXpboU!<3os84Gmj%MMa`GNNcyJaSqCY{aSm)m5OLcG z?-9w8zVEQd+Y~TPHyt3NJ0@P@1%9802S-~&y3?1|eMn)B25fkM3XDm)!B9j>4~OAA zX&LEd7cad;5n^J$lY$Vlg!Cug#Q926vUhyazQmJ8-fM;b&6L0X*nO8N4{@f>LlQ+` zBc7K=kWPN>Ot-61ipC0lu=Lm(0*q+gCAo@OPS&(B&YZ`be$uE zndQ6+Hd4%??+?f*BHeQCZ!T7@PKvgv7Gyu}mcj|bq09)by<)}GggWUy()ryV8&K@V znPA5Z5x?IZV~(Tz!RgAB0~+O@Ha_vWbAO>M#q4KB;iPFeY|T)s+iL%rc&w!LR~+{% z#f&kTRWYF_o3hv|3^4mc$cd(j^u@ksHY#w;f}tv~>zE+)rv#ex-G3c%BP(WFngO&E z#W@mQBYj}O?22+665}P>BI{kdRTE!!sn2Yo-wX2SZ|nZ zrA&I?b(h_v*l}8FLltWBtT#sf<}S1tq@OrtAGa=uv3aE+1}qh>CN?h#vyp|n5Q}4{ zlkR-v=UjG4LrhaG)bgpaul!4x|5%>%)DJ)8PS!S6E#HCq%|*Umd!Ca30qOFuUa^bH zBqp{g?QwH`6@RUS>d6-Ac`Hx9QW4`c!#2x9tmUq~PjE?Jv)gU%2m?AIq8VY_IIrR= z!6U6)dBB+RSsf3%6nr5GjyQKAdn{WTcVAF5PC@oE+f6$AQ;)k{lLb}zbH!6Dc#~@o z?ot_Gq@R2H0WNomMS&8*WPQFPMVzWlCJm9Oo^MabX0 zBmUu6S$;{sx68j86gS3=kTK!$t4UC17T+DNHC2Li_{k5|D^QH9B|!bT3NHl2^)tiS ztbCwy{dPZ#M7s6peZQed$5!n-MG_j&ggs=sCcR?gpFW^yF%F9G6)|4FgTKk9k^b{5 z?>SB((8aTuLTUr{nd0r@Ns+#%{D9jTfDb+^M!gb`%yuSd@iH_#F_OWXr;C|JGBR8q zZ>4zPFkEQSCJ}@}YzI;_zVo4%t25S-pTn0vXj_|~*XH1NhO^Lj6|D0yeY?qQ9|THI^Z5 ziTAy&KKeZ?vn>o((?8HYu(p4&=TvYqFVrac?ew*))^zoWF3gXA#xVexW37his1`Y? zIZdRgbB(_7nP|usniGMMk!YasFhrUY=^_qdB^oB}$SgG{tQ|`d2g72*|xn>L+d1>Vq0m~%ZX^x%J zOvwN>wI#CoGR95=-ViHR%KoO@w=5mYluh^*tl{WL1*NCFCmVgOlIA3qEKy!Wu|+$L znaqwR8i(;VtOCs9vx?8s~~GF1grXrng}P$C0KReM5O zjFcE82(^bHJf)c#J5=N#GvW4yYcM^ymD1u!U7jsZq)QvUo)}K&hAX(dG$X$>&Pyyt z|HcWi8CuETv<6c%JAz^im~T5hKx1Vb7>+qtP+~Qd2`1ZgNknxLR{b5$I#s$BPZN_y zzamAczzwV$6)WfFQDce*5rnA>XM9?qolC=lWPss>Gj)w(yoN!invLs%tHUB*g|lw3 zD7FN~qbajaErhWoco#sqJjH808k-F3Vie7fu%CQ6_5^$YVW^RkMiJ~1BrF_S)(o4# z?_qOWmTrbU$~3Ak)YgWj3)Yp5rtwYw(tb^#c|a-rCCbEdQ|DC(&Cf>tl!X#3O&tXO@0x0 zHSR!70YKIW<%Z?PJthe-TZQ=*ONPOZ(xWMgR(o2%u~MwL#iIPm49 za>Tzq(fN7hFCIG_9%85ql`@Xk`DI9dCPt9>(zXC)w{jF2vHBVnFo`92x*iPg;7;-NWL{`D|ItZ7}AcMHHB%$3LTtL=+H>33=NBG znj+)Z8BH~eo_iu~rERX-Ry*H|P}Tk_RHN|~y%|Nn4~o`Vy@=hSQwo*Xgz3vO)755L zvEE`1N@|_q@rhM64-DGk-n<+$4+xuX9ch#dc*b{iaMV1wl$b?uKR9}?+A7reba=L9 zX}0A216up7rjNz(jx;msLP-My?rV(O9Qw-dRLO(|k@%)z>uP)Mr&wXX`)q!s5fMqo z%<+Dox~k8(ZUc;@jHLCVf3`X@;S_JqdfQdm(jbQhw8;6%O~#Z7i`^r1?d`K0GgGC& zgQ&mI?-@}$#j%8AT8Fyr~V zX1aFy1mh;H0QQE&vSkU|dNqeyv40?hmQJQE)VDasOLmb4cT3s!^lsa@ukW^RV8%6eUJOriRNU?cSBFvgmQ=_xe2uwWA8{U9*E!+WZ z-l965&&lSg&`=|pSM}HF6v@H(AzPM~3)21V5`R=%V71#?S`|-q&P=1K8#(7}Rkd(h zg|%~RUBs}5eKio(g=XKbY9_||lUEqTlm_0wfu^gU(7uZB6-y z9MNxfXd79pht23MThv}|S!zc>V`uw7*I@fV&uTo0CK`9qD}YJNEEnku7-J(cHikag zE>cKzcXEvf=>#VLzq`T_6#(}SXff$={zOBdM*Cm_QJIi+f+wap}ewC%$|=KE1hf9Z>&Z&Dii!VJu-s(*&121Jk?Ri zRVMOhaR0P%eski4d4ca&r?-TD!d5i&)GQ3ZikTUwA7|D`OmB9*k!Ir-)K{u5?!zhR zVpv1*+d9>3%V=a@&k5FQ6v%{~topRbKiebT5A`y3+Yc;^G<^FjvKwX`9FFgZi4f0q?#|=J8t>+PJWQ+zDJ6Q*&5i#>uwi*6& ziJ2dGf>S`aJ5`o-NkpBqU|RdFHE|SzbpH8RIOL3f2HZ!yA8I3lOlTk;@>N-9y-10q zaPa@%bY|h2&~K&CW2Ziu=+-4&;3^^Qgu*1{tsiiOd_9%i5SZselN{z#J1>Ujzd$@i z70#}1c0flEZLX;tRO39{0QS5Qgqz3LiJK2CtlqI^-&-}5`!wiG#qrPP(P_L2tW@O> zJX${zqup+#bN^bzv$mK+zqul#g|;@po}SHY?l<9sp5n^F1nznr%iu{D?*x|`#q$F( z#>-K~`26DWVrFy+mp@gfAdiJ6JeFL_hZWA}ZQ9K*KCw83XWFViV`LXuDx*C*i#LY7 zK)1}A@(U;6OL~!>fVV13-lTCboG`puwIngAsyxvn*e-U$ezS72rY8Z+06)?T`f~^FXJCeU<|!>unf8;@)i4{YTM{7Y**Xx zwnS_@iyG0YYvbaYm7IxpL&PT2f~tDxHC7&WZHrr^M)tyOGRkOb;{Ftux#E6w zwoiY9!bvL0klSvz8ze42M`E=NvDjwL)1nvZ=1L@g$Mlg=XrM%yfQTEafw=qzgCRYk zPxHI2b^k}Q{Q5H!SSp*WHe7NCA^HAvR?X(Z@g5`|W9pumum^@9GMnaRJvQuH1Tt`@ z5_mHYmPn;U_y^cT{*%lliNM)~9x%OM+(!T4ph=u7R))(ay%GD!YP@K%ybzVD7sKj| zW!N^khQI_#fIwH;UQxSV*N}$|slthiwA$uQ+0}P*Vwt8(8B1X-vhPbf#KPYOd{}G6 zePz^`VX82zbqEXhnIY|KYZ!-4-XBy0#;E`&<8IsA%Xs|Xk^n|P_?2<6Z3e4A< zwW~}9P9+atrO`lXHj33LI5>e(#mdYV|A)pDZ**FZWRkH^0&1(9wmq4>9-&om4H?cDT4xA_J|L8%txXmgjmZld&tA85$>Osw z+Aw$B`jOTR$27Ih-AaGGVLtv_ix1N5G#8k0+wkkfgs_`jB{ zy*9H2QwpQ6k`rMUOn3*AH$06wG8#OsX?PQ<=lcg8Os*a1z-rr71oMgvH`$AI-_qR1e68l! z`zc_)$QgBd8yjsg!pXw^8AWF@St{({#A?jCwb-7G;F$A1Ez;S=SEC)3=9B;#aF2xa zmzx8Tx!l-vcn>ebL}W7yn{0M0n5bqB$VRo_e9NkS3F5=lscXklWcdHk98_zr2~8jo zEeDs@uM3Ye=g?J|H$roR8D2r_PDdm34M#!fD{pv(eh@Pe{?;x3{@?c<)i^-$UM}y@ z=jNFnqfSfLiT5XB=MSz2>>Fm~%jNK!>eXG_u;4^$*~@MFDrLOw zJ&g^S;PJGM9MYIqrzcP5TR(X$eZ77Y@|gAO=!5Q?a0$MUBJ9_9A*fUC%$9If-S9XT z)1l8H2po&U=FocV1C|+umx~AJY|AfJ9ouucs*h|dVpSk{h4;&b7n)hz8N+TSUFLFV zw)|yMj#sDih;G7 zk5*ad^}%(O^N8B;5%0TdXweyaIrD%+tuTiep(yeqfVf|^w?n`6o3~l7x5TJuDfEQ@ zfFv)`jdTsyg3}%C#4QCIwcvK2o)rJ1T?V)tjn=`?sB;76egD9-Zh`wXixZy4A&`9J zhLOys)i{44Q)lQ$Wr*!vIiva<~GNYCmChH=5lN!XGJ4F{?bj zRI!q`{X)Ms4tBDdwLmT5+0pOQhfEO`ra_S*?&KS6+*1X)Df#dzN%t>r!ZrGsL4h<^iOJ~D*A$l{AkrL+K-~O z4WzEe0tL)Zs=YR-7b^xRvZ$+Y5zya|hy%Yhc%QU|VfAI_nX#gMrvt~}y5vLACpWAb z>|cs%Mt&9DuoG;Iwz+(C-)|*$A(n5vY+%rAy*DN!cB!omTvvzXMzp>O279k~7xl1r z&^~c&>#@xyqY)Usig_K8=N0IlIJU48U4v`;yZQz@yL$V&I*|6&>GR-gVKi1ncLQv+ zSeRIj1HU~*=Jz9)(fH54awXXfhiGFu&i7!D{pwY_=@8MlYDUgCimE=tkyQ0ZPbdIyN+_4&vB?a#!0{`$otk|`5hjZSzCesOW#IB zx`=I5+_kS~uaQNR?=2O@GjUUdZ`hacqQLAH8S?nvPQr#&OvdheYYZ9Z87{Zu2IsL# zq2k~uWV3f=gEp~N$wW09qWsvy4zw6V;KI~wEb17ww%8W7=$_rx*-mAW8KIX!mN9?u zPdYn|(lsWe(wM{?Hc}|IjAV;RY&W_aG;o$s`mL3V7e*gVgWT7IYgwAv0@W@x${`Ca zBDDtDXjzKr^9Uyz0!aij0JkoQrbvV`*jy@P+@sV*{-0mio>eqLVr6rrwm}T_)4TfC zB|Can_x9LvfBN9+p3W|*RmWUg8&1h}w{;HG$c5Iv+oNLYo0 zArUtfI)_j6pd-AZYh0Jal_v~5!N)TnN> zRO9*8e8BfRlqO%Q6ulQV99F!_8`_^)gU9Kp0D3Y=eqOe4KiAXwTUwD@DO7B=JysdOyy~qL_`1s zQYS@YZ-TYS6D?`+=Q9|$#z2_C&kPpxhfzqH5+ooXD@Uv#Mdvje!yWk%?#G$+l6#!J z;sfI?U*VqNdwTk@0w^QHj56ReUI%$KGq~@uB`1vnJv2}l&^FAtq5z~*i$JZ$4Prae zlatG#UYIDh58f%K$9x15a|I6MV_wCH{N&(ZXLsM=AcvdqiMsJA#EB7d9>IGAMDQ9v z4k`$F@#4i@Ju7SyLtR}eg;TXQdNb%f%KMuVCym*#4IHJRDRV}%fQ`Jmy7gY2L6u)j}zzHQdSt>4^mOVc7Z)Obp4Vg_c-E$Yj>~=V}!;Hnw z-~+~9LEOAu35!_Dz#9CaN;aoAZ{P=bbaAdn&}H#F98(p}+!SylUpl7_2#ir+M_wj# zJHNxqA#jix@fdU-25h_@@HECX=DA42m$k`BN@VV;#u#zf=9!IKwLEa&JrO`H1AZ9I zZ@5BgsxQ;k;bU?s6%~Ialk8Pm3z_N6v;vE3$M($U z?6P_h0ej%w0Qa-&R+(z+IId;A8*Z_hy2ka^V{S4JUts>rV(S~QxS}q|q#9)%DZ(lE zX?&Rf*8AmdHP(Ft5!ikqa(R$ay!;_547-yO;8+BlaP{$(huzLeG_<*62iidsyR07FVwz&;3Xx~^Kr zEc%>E_zQTrW(tKeni*7s5^jBngmDH(&}8OpF=XQRdvINDuEInl^O_%hKzWo%ma%A| z6{)Gro3{oETs4YVe3O3LI&U7e$MaD+n{8Lr z=1;J}OF!issf02{=WZdJ|@Gz#`r&D#X@D$I6z+8?04p2^JlQ-<}2ma zHd^~rj7$x)@BfLnv0(I6c*7S)4g0%^2S$j3lM3o9*(D->6dlH`B=}^XCu^R0fMAT8 z+bIYqM&TVd2G(E%C!n3SjOsXrqJ8vv*|FLtlTHSUSsXQ!0fvx>uM)x|#SI;$-m!gf zo9c1c#KBme$w&#d217@B$|w;pr*P_EKqYMDpxOMGY8bGPaE)^qAYXsT(G0J&1|ZGT zc8#NO*6j#A&}fWcKu+6^VOrv8ZUlf1yWwID)?M~yMPxDe#Ch@(>SXZ zp>uw9$;EPU+fv@^hAphNgcpW2wc@Os(Qw!-+<}HjhvNkY`jf47$pjC;nG2$Dj;<;j z@Pu&8C%J{k9y}PV|LlT}-D8K4gU1wBpTKpUeA=4|>&XNZ!HG#^fQR7*jpL3do<_#) z3kdiQWw?pKd#kjONt2i2l=|Nx6Et@SyMzC?+l(PdCD9v`ocKB@d0zLSSG>i_Bx&yo z8{o-D<1HjC0B?dr15KY{yqJqHcmh2!h2vw!=_%r>R(wEWZ(i=^V=qlGkTMCAi4Niw zd~#f@>WQADo?*gJ)=SXLDW;LaaBAMdmJ+gDCep1FBS(rsYcW}HgH!PpBO6rB#P|6#-Mh>defr40ua2!vR>|xbd zA=kUH$mcwzt+$*x%VrK3ntnrI-Mm}V%VI&^x4UM-9}VRBId4~@TeleWVdE>J8ebh| za>iHk9XzTP(}m4U^YP%nH#Sv8{OAS|x?#&1Pimbpi2OsBJhnf!Gw9J;ZvzWfcq%BY zr;~JSldb**o8v{+Y&cqsyK-Swl^f2L5g=%QjZSa~Cs71vOd9MCn`ug5vyBLR&fD{f zdomafS7$m?Y_Sh>G=#U#q!uivsR^YioOhl;0z|0~8&dY>8gE#@gHTMXTZT`%ImnN} zG%cqmnqaPTnL!Ai$Eo;Rz}bnQSof*doK?sop$^$?IIEz8pxp)YyYskkdfnM=>q|Jf z(ALJ23v4hez+bqYXL#JYPfl|7%XRay%5Ym@(?}5EPi|$pW3Rl8*?z}s`pkwWc1h?C z>bGbozeaj46gfxc!V-Y#O5P{xQ23j&b8eRj(a})s z2tHODCVow1{=EYH?I@<-_L$!0ye4Cj*s{8%`DS&b###2Y-@gDhuYkbn*+@K8R^{k9 z+vwMBZ;#5zC=~eh#DzBNvH*X2BPQ^Hb_rhuHw~=DdPp@pHpDaA3&7B~+7bxJdircG zD?qr`>_~?T5XP`k$ukR>v3s{Qr(z|TlQ+LK@`w|-S_s~!Y2Qi~lDI3ajK+!FJ%md+ z!~h^BU?9!m9rKqN2@t@)QS^?lpzPh(+NNoR?@CmYe((V!{!vPFJBPoG%o(!{iMgq< z-&}Rgx*BEf;jcP=@OMC$RnW9u4e-u}H|hp5`*7H#wHVjGk#CVOdB-j0F+@#iQSCk~ zL$_-2^sz`To=HTK3sh~!Q>{#8@}p24q+hm@!?^c5H`cXzharO%+4G^$VoBE;~iRM585rcmbm_ z-Lu=G;hs|ZW;ktv({1$}taf{4LL27jDeitgx?)*T~q(#x)gx#3f?jYivFQvn=pkP~RY>pqNVO(M(5S za;i}_?$IY5oTx3|P9SPjVtx(_J_fP1HD&)_-cdw%z^_vJHMui`#Hv9s<4MN#HfA67 z^bfqO=|{1?9USxMZ7^n6y(<`9W{ivX5+GpcE>4u??+7-QU%m%L?~^=UQ63 z$jGD>7!}`n2#jjd6d^+(TQnXyEGblDZ1B7aE|sODUoQI6Rrox@!e-yXL@|wyaN~{X zbw*Royk+tS(nFOyP11*^*1#0HS%lR?5H-kgF~ATJBpwI4ky1zB*ve1>vA;xUp9M}G(j~+k;N3)6nDd0vQ12iIQ$%c z`pvp^{vB%!!6a`|_i3Y+HQFd2C^%yy<+I<{@}F$tb8vFpmCRy3H(`L`SaGJ;GUB`< zT5&-{oW>-ctaIPsFkwtekZ~48T)iCT3Se&+g>_P6=>gMGF#m87e%aiL;JpGM%$l(1 zPyV({n^bR|xG@a1Ub`b8D-PXP&_n}$Uiahhjt=O*2`JFJ4PXrDbcZY^h|w&z!}TzH zWh|mJ&Q$IzxX5=mFHW?X#wEkAS{AxIH%<;X2LQhUQAB7PZ*eo% z7Bh}+XG~@^!#EZuGsQA4Sm#CIID-`W9T8w*3u$-^6(n12%#xZ@T_S9(XA2_|GivAp z55_Qp8MDu4G}8Nt5=B%D0_L=0H|I?fhi`MSIngrTh}XNrxQ3h%m4KXF4W-0H1)B;; zDYf!Rdq3gg17v*hNGC>=7bi(3MhZ3{ZVyuUegcak9@)OKD(e0lJ`WH|C^Or4PJu9b zrZo+5d1lZryLW}z-)|Oxho2`ZwlK zx$Ov-7==;76`tu(*eLh?%W-ffR@9y#OlQM+pm_DxE$Wq@jUCS0a(7qt;eBhkl+d|d zSS6T#wFW>|bN1paK?Q>W!s z_mwPsYeG^4ypb0_-9-?iMJU`##O?c(5|G0u(gH1Et3@}%&kjoV|GYn8~_&~m$#4{4b3i-gr zOAHU>DkF%JPT(CtS=_>z;OxdXnc+3fi3z-_dpM090z?u@6&ArFxins=KJ zcu9cE!9zRTfDAO#en4u%=pZKN!mzX(w%XrVYp+K1^sMboObFAoH_^g0n?SL+`BkEX z{t7W9Y&ZEViq``Bld&a~VfP3kE=;b#Sp|f013k{*j*+w47n>ji`{GX#3ZlqrmHAr) zG?%3NLGgoUTc{p=zUZ!iAeVt+hdgN7&G?l|MSf=%3EZ^Ia8 z+5Ql*$(DI|r@=gF=0*O6;pq%MJ0>Mp*YlJE7W?{$X`29sb`lI8^@?thUH)*MV*g=o z=dlul!l@D3?|Dl6!Z-hERW6%KJqF?%ugbU`UU{<{@2gXw$pP8{?px8YU-*o2 zqZ1JLx7?WHL1M#ZDs4Zj`nO?JTON|VxD9rv#7huckDbMIv2h*uLsAgsMhxpS)T$ax+H8a2b#-7!|j*5Es7V5y=!lfag43j55;2o6(uz zuiiBFHsqV$VqsGjYYzRzXZ$>ttruy+ci>6B=SY#bT*T;4*b@kTzqHSu>xNHiy2qRy zHqNqeV6MoZKhNDZ4o41{aA%(lzFQhwk7;Vyn(bsi^I@OMZNPmgfYD~IbIE}6+DV6i z{d0^@oXIFttP;Or3H`?q$H!)Aav2Bp}J6DQ3sLWQW?6uZ4_1Z|n)0>*l+I5n(0V6uf>S_FDrCmrP&}I`jkb2u9Ga!h!Z>ml{L7lh#R#afABamA!-g z?Y-S*-w9FHtO0e;44M!N#*zD`iIuKzn1I6!*V_kd!VvB;oAT|=$kTJ;itcEgYS}h2 z7|uO_@Du^#2Upg-R&JmGHJ6#Eo2e9$O&v2l;W6>MkK zt5ye#DaVI;d4(meK#%wvWX-(4XsmH#T`Sb7(r@!?}Xt?>(_tmk? zH1~^fWo06bW1%*eep)&H|6GLe;#$O1(14Kbd1m?61h*FWWa@G)jL>aS&bt(wDkZcJ z!lL)=|H`~cPrj$6nG=~1f@;^m9d7R8qD<_g-CPBipnWEzKe-g|w!(|Q_!1<4wXBi$ z0M}#nclWFr?C#{EQ?YT_1E1oCO?19OGyTA>Jv@OIj~CFN7(gD^^G20VeBn6@jllAd z&FEO!)p4qgh$0QwUxa0Nx@A4mdARI1p}*wocy%d84##0^tBjWsX&Qoh(Y6t&d(FULfA?8k z#)_Y?1I;^rVGA8>ljxHujIz10{JN%l695G7G@f=!h2uQ|t)Mm|*};UIV;(@i#FVpL z+I8lD?b3eUT@;yr@Q{hX1Xc`Q-KOT4V%se%W|4RiD9FiP=5N;^3Fb|5B5tp>PCw>2(a>tZ-SWQh+R64*kDB0hlmmP-rHl>p1}t-VlseO1 zQge*}ip0u%0>8k|+E(wA$Cn)7lmVwwH^xm~WIR|x?8(lG9Gm=Se`!pv92n?L&2OEb zI1clY$#Kf3a|yhG2Qyj1j66p3S;AhzU|=!J@@Q6Las*fI<QfQa-YJRl#T9sj&10I;Gnc)QlxF*AYgcL!69S5su~w*m-sUS zd@gYB#jhgy_z)x~2~Ep4;gEEx+<_nt%$YB87Am<81w*m1&=XAv81pnB^}8M?(amlk zc3CYpJa|l}!7n)~s@Dj1G&)zKJ>1=!kBwh7(AuE2Lxe6)R~0K^_OBS7bfH~l zNShq{deaGBC|GaIjJXSs&sQ~MI`)0;&SF@Y9V3h$;lCYC1=UTJo z8tUg!36DMNFjvYI8?9Xr3ezW$l(TAtv74sQiUojIJ zllugd2I&O10&Jhgx4&KcH!)OzqvXOyzV+@mVD5m1wsC!RHip$*K1P=`cLYX-WXX-4 z!-K}VVYjhN4Fr<|N|Bm=ZP=Hx-ns$COm*wE!rHem%G`sjn=w=sJG6z1S;m>*f&KYtT{BZ7DBmYbA2mbY0hl#E^nZRovA`q<3+2$HGOeKsnd{QWFt3H+_{(*#bI39DrEt&SMsz19d7Kb z9~>}uGm^<~Ki@tKLqPsKNzSn|L?^?USg$K#-F?+FzCh`zKtxSwq^WSFk)gO-5_XuQ z4I9PLj9=-=2IBHnj?0`9T?m)3~sidkAJ-wMj~TD_CcrV)nhL2td|(qPY|y#dksC1yD#jzPG-= zez=QELe{P5;FePOmE)&m#j?oT8#zT)%_UHnav_nG;%ty__WT5R9G}nt--@g6bQhi+ zh+lj0aN^%uVRnrCdZbBI1C>Qf;PdrTZw6tmFehPzSOTWBc(Uft*7tDaJ>A{k=44R` zJg$Nc#Y*PEBQWc*C59M`T-lMJQ@De|#QGcpLRP3FQNMe@cJiLu3gKDs1dF}E*ufeB zb$KryBEfjj;HS&EzPIrr%+4_>(_0V4M&J}2ekYFkO`Hi@wM;&9r7lYC@RA}$qCC@R`-wa{@Z?2y<*`f* zRi~U|9lIKaAV_!TBc|E!bdZ~+j~i(rU`0EKPCwK)5Fi5Yeex&wk0!1>Uio2X_xtso zgCk@w@7Vzo&o-G&^VLzYV|6J{yX5b8?F=*H;sf)=9-S@f_z^K|7xQ}}(JZ&K{x@Oa z!J??2`?A1fUz`t}neawG7LDCNg% ze|$zy6<$mhmhIyyS1a9z5V#=W2T=!@$z}i2sRy|~%9n;^P+o`vP%O%A4K`Ssah&=h zrbQ5U)>X_*l=zfL2XqaI5L+m99@8Q5BB2c>Kw?ZOW-%BLK%&`;?l$_2kPe}e;L5)M zIt2fK+5{C9;VlwC*ry*>-M(I;AWFno0h_gO9QCEswIMC4bDb_tq&0VdjGl<0DU%W1 zy-bB2^H^;9Ts0p+LFEboX!1zZ>CngSq=jHlw8sC-{)_o;J}n@5@Bx-3@x;92{C%tX zJw#68Z1!=`Jz(H7&3-NzsBmEUZC}EaH!7_Jac^49L;ys>2ZjqM-9RgX8yNiVp!(<1 z;yxy`)kub~L4?IIDpq{fI8F>g2e%$`y;!m&EN<<*%p-8oS;Y~GE4lEj78{Yl7~zIN zGQ~}d5}4NET0VYQAsUfcC>uV0$W5oscLwG?Au4ixhJ_-3A-4#*Kf=KzD;v19a1`N5 z>Tm@PC9Z=>q~Sb9AG@HNM9_A7Pkfl9E>J}PQsgMVbB86IC~(1s{{{*yLLMXdsA1*7 z%l4eUIOaTWPb9pAJ~|Z{FrZ&ntpSjlc{ULsokSg74fXo2{}(5{M7jJ!39-1l+{)qu1FlRt{Vt6ifR)m8!xA) zEvY1utJqe)ATfS1fqxZ}YRYQLLTN8%U>Eu`D?1lbPSbRIiFJiQ*uQxD!5$h>mhs(I z5{o*W;}vOS9$qBnvK&eE*Y^4jToP1b%_rd@01YTqQoTZ=WrTRG+o7mHbh&pUyV`^v z;oyRs7*YlM=h!+aX9@CixCA7Fb~+-HU@eFjiQ`HpB6MFT3s*#+i+(T9br57?M5ixM z?J!H;vAF;8k-PGWvI%lBN?&6;$qv4KoM6aH2&(Xo#m&^OsFbrrcvIa7+QR8< z*%?s@g&IaxA6a8eSdZkP-viX0H8!pe0)%T#28htg{07{`c!IhkxDlo{00x%~8==Hy13u;i*^WL+#tgnB zRw;CFA*`%SLgFgCCJ)GjL=4-r=$)8hE=94hQ|J*TQ9hEs2-VT|g2QFe+0(7{w8TBMJ5|~yEu>9sew@N*_b?|$0?}Ie@L&~4NtrnP2r*9_BQ}K!3?aF- zBaV|}vTOJ&F~D2@tcvvJ8!SbE_?52-+jrg!PkTKNA>)uEMI~T}q?av^apho6!Of>q z7%Q;L!f&uz8Q+Y#M3tXlnQAs0 ziJ8P(&5QnTv1zdc@xXsB36Z$e;y0(u40W%d- z0GtEj;+LE6u$`EY1Y`zdac|K7{>Gl%F}_UJ1YP)ea1SH~Wn zMkv4(SyC9sY>+83EbObBbukvqPCVkQ6v?Dq5#D@EuoFkZo)i&I?GZ@_6-_vKZaps? zZKmQv7saQ5Mr{-P)W$cgkRzm{137^eB<~dIKs=URnxq67PXQH~mCRd#NnN|2@a#gzfz69m~gECv&u_`RPUo@O!g|va-eo4=QA=F<$5oJe&Oy_Xnx?o@T?3;&IarI3 zbL#jBP_hGmo8K>G4YzlXw|4_KP6ic`p`5#lN3Z;=(a!X*FRohHB4gG^k+ivB;SkTn zXE|RM)dK3?OGuG7BiU&9MTqZ0m8r>npJh$2q+gyc(7-^}oDMKut1lHyVU`3?f9TZPYPDbFX@;If%v`;gagE#3cz6dWZK zA4eD{?4q&G7Icub<$AfSLe8`~g|cb}2zBjb65$XQAj%paGYQB6#Qa=ZM6UqIoy+IV zES+a#-mYTa>}q+|<(-P;eZDy_TpI6_PY&!049w5lj1I{+g}?o(?$8UJNMZkkGY7;! z^JK|h?txDpQ@2w%j$TZM=WL7KANHO%x zT7CAz4?Eot8;rr{=~i&sUXkGZ4dji|blS>^@vXPRZcqQB zxg5!{Gjckgdwh!Xt-pJDeuK~TpPfEIK%!$66G~k7rme!U5|3Y*$tJDS;S_NY!1$Wo z_Fo>hf46pmWAL#Y9i?5eR3a!Y1+I_#*1yy-;jLANlS{`eXsSEZdUIU<7JKkLoOk5%NsU+%=H@F; z{+RT3PxY)Zfl%wG52lq~g^U3FE+B8Wu*}aY1h=k2Kua_dUCh{GZxyoQqOCV+B=>ZHJPr7N`Jw(=M{rOF`RaabJFt<#Bo};{8YL z%~^OKULv4gHpm>juONe$RC;}GN{%wRu{|pbRsI%)ft|ZHy|{uYLGvu9%b4Fj({Vt4 z0rzrOP!kA{IL4+z_)G>>#;P!)lkTsWAPRfJb3p>yx4i6yLrN^3 zTR+MENfCeCI>z;v$7iE;1OW&2QJJM8{4O;|1u|>}Nt0JdN{#tm2nRqx9V(6Uwc*xX zfnH|PJtG@(lKzB@wr2060~$rp)F~A@y*IL!TRDi_?dx(bAhmb@!#;Z zzCg3nF?hb}g1Ya}4^OEi;V3M98MOgI*aPwO;^-Uv@H5$29@8DXJz<|G(kBG6$Bq9e zJZ#}?Dw8GW+E#|xbJvZmp8Ir6JqF9v}+pxl>a9 zIN4cn*KR4-LRuQ_>2}+hj1i1rikLn5?V|h30cu~~fsm2f4<|R~A?6a)vL74@JH=gD zUm+tX>&xG?aIwTSaC(kYcQSy0-$&{w%7=^;Vt#bzqF6LlMKXsgGp4j4LP7N@;;@Vc zi-IJZY&HMbzG(LwPdmd7^H8O(8`dlB2E?!|ZkgtM6R?Te9iaLVLC&mNE7K9&eTkb0 zU`n(TyeW_>w`TGg+}j5VBt`V{&2Rthzs!sQ>mBA?b{b4rTU5?3uqTAcdZD<3f)b6}*cCV-WNPi?>QLt8X8Zv*0fJ(?T%VmGk_#W}v1}$(^ z;kJb%6AEiwm0Qt!M_9>{B)g!7uGQ?a>*lIH+8j)JP9mcCexrb{#tP?kRND&U! z?OpOz)z9T~@sA-uZF*+fo5r*5B~(>o$rQ)baP63zwlKa=`dd6_S=~pWLzoY`G2878 zYT{_0s1(q9ORenr2&R_Ug86WvwbFE!jPv2^ad(W@YfH3ZyqQj~Ca6V$ zP35qxjmBpW1lWs_)aD6`3cG~^rt1<#Xi291apvs0ZS|xp7Mz0hx#&h!*oma-!WWLq z!eevlJLXog-)ma11Kj?+RUo&T=0-fn_H(a`_!F~}J1ECKc%kjVfVS^ZsdbGFe}904 zfJ2(OEHw#aq4=x-UVL#Jf33!Ge4jKu7!*C)4ul^Z>yIsjfliU_BwLTY^Xs$Wr7y5F zscxYSEBjc$QDJ8^LaEwpWckYV0G01(m?KR`z(P_@s_fDw^&J zW1ZKx^0n&IAe;x|-Wvo~fYfH32#zaNY8;~MNa{*~!vX$fOhvqo-Rz5dHL{Pi!xt0tUG?|#ZCz>56yTT7$FseLBlRP2#*pz ziympu2@1T)_1PJU=d8Qc!1g@uPxq_fdZ(oYX2P`|P7qllsTM;3c|VoP>1Ci1mK8@+ zDr+^BvvcuIeLQ{D>AYOud9ih}zx6*~Z0~PvqQw)r9s8US_`_0dICu;x9aeLP+EXY) ze}XP(VFz6_TK&Ok7a#EbYCw?Q0gS$?;KMa0G?rDWg^pTqEgJ8O1at^}_*Lkp8UwhW z+o)?NXF3Qnh`pxdeU0bA-D9gf1p6S;)tT6N4kc`8l(WBbc3u>-%e!Pz}#e z%xlnw#0v3{WucXzDp2rz_xTnUM=R+N0)EhV{|4Ypy6?C?PUpbyD-+=|DU39(l9*x6 zgb;2l;T-BvQQmtrhYfnHL)WLYfZ0iG7b+KVSeY}Bt5SzAf{7)3>1UvC8#U?Vu)A+7xJqJt1m+sc<#Qon& zcyO(Tyvqof1-1>FF>)Ph&+;BOH6>@GWvW6~K*!a+;04XjbzR77-g{KrZ|Q;T7G&cf zq$#@iz^;T4=vxp zV0t~il-W_q>CJ4Vl=Q1&^RH6nqokXMtlTcaH;aE=Gmp~4q``A&kQ61T_ z*uC*3(sL3BVQ7t(dc$q-O6@~FN!pXqX&35ts_1;8hYQ+m7)wadBi1!slq>AsJvXO8{VPX@??8aX9atU5GKl$z^{39$`&v%W&UVECo zXZ(O{e%YhkGxli$w7~+^wuqwMxx=0IfUffK@xValhAbnb(02hPVU>$uK`a1w<)x=p zKVW1+9!tiR74r5&EU4ijkKx+6r!l>Tl#HT~<45XV`5wCGeX>6z?XShq7uK*eh=pZ2 z4FwZ{#J3|Q5P)vv;qvQ+w2dM5$JA|04l-svH%>O1KVP1jWp`o z%iJlamJ*M0R}UMtnk8`y)32GjxG)QGt!p(^C_Na+B0-|W$`k}V>pER=^;>lg!-G!` zs7%xm>KBC>H5_c@9|%i|Y7gJtQ1?MWwnG(Ld?}1(tR0w`BWjpL^`i0YCt8N|2+5AD z1LPE0Y{)R07;;MRq!dR@?oFK>iK0Er@DG(<5UVuYzsOu zPbD~BdVX$@JN~B;iEjrt2tP}K)8s32)*}C+jL9Z^G~v_-zf#Cwa*i3d3!!B+gJ$lJ z2MDw5O@A1VuCFHWfc_8cKX&n9f8)dJ!L<7U`8eKmKfrsRg<>h%hLafPTZppaa8z8; zm&#*RU)bq{vd(cC^<&L9;$30|%@VX4(inx&Sn|cWfDDWhf^Lf@)}YhF_ax#-1$YL3 zf`r((*47xDv)_+RC3s(GK@x0H-eh0dL}a%>I0P8DA#%6?xkv7iCus-mNAeS5jy1=6 z+hpkdsP3}PF(te)07hnOyI?|uOh>H6Iu0yePCwax-Z$ADmpg>xSsZtW$g`1MDVxvE zpDGT3G@{AqIGLn3)6?L4oCFA0=nuscVFr|81&b>o^cjYMueino(HS5-g=h1Gi)arf zfQ&bb;(k>=`$RVB1(iBba>KsBn-(K}MJB)%A1ADJB+L-|U^=}ykT~NOg6C2uTpD7X zYKcop^aAC?09J+OTGh@*05G>uAxF;@>@~m<5B?x!tXx$%lRh{U=$w^@*oM5^4sdZ2EMuFw18qbe%IuFp@0BIe`ra|g+KN9R=+7oxu( z=`%=&;Qd%tgb6}tyHR6A;hCJ&4%-=>4ST`8zSZ3N1-d3AOu!=4^$d~b1!ejYO#(Z;e-1tUo0;xlbLmCa~eF;mZ7 z>>%~u)Y&)OT)}w++u5GVJatBv1oCZ?A;LQ}b1gk#uF#*E-GWkW&7)YY{_B9|sETt`@~_xQbefsoE?N$~q-c=m=*u#+Hipa%CVEb=@f2?@GnBKi0Y z2ph$=_-i0~M1w`T5HlcpSh^;-cD&2oJM2Q$B|voakT8?c1uY?O1{V^tin4&ZWl<32 z4rU4V{C77>l=MSUo)$?zD4dP&<7&{eqYc8JXq{^%dP%!2xBt*f;>=@u2i#wsE5cQ0 z@^*N2MFu8#7J1UoY*mgR>j}_=ZKanU+ZI7NP2%^qemfA{q_YeF ziftr8+Yub$oaMga%W|(LPu910h&N?>2g-?f>{g<$$Q;ES!^~(-Vz_^|zWMEMLD&Mv zXp9x+;#3%3j09lnaO%acfy@QeC+gs?>&U}Z{-zB@1b4KT&XpRDnhIT0rV0+45CeWM zPH>50HSd?AEF8XryGFyK9+^Qr>{gdUqXx`8FoFQ*yEvv$63Qx5pB=xVMNxS^+ekY+ zoyVl=Aqo)iq*kBx{o6aoeq@p zP$=wcg14yd0WK04RY9Pa19-t>582ce5vJju`OV+`Hl|yz=GK9l2k zJFlGI(r+-?<;rxxg|F2FcYQ9MA^olmGi2fgK& z2kNp0LYsTNr!NsMraBL>!@(HG za~Fvl>>mQ?=#GsnF-+pupiaoT44MG@8|JR$m<&u*d&<*Xv7MGJPEXT>70_`%`IDA3 zIF~u20P_Z(LCWIKp0p#M*E2J1Eeuo@bxGTTG*&9O9jfECo zj*SvJis0n4yVcw~qHv|g4Wvbi;q_mAXB2F#d2|p<)@v^5WpwH^0O38M5xLyt!=T&r zLpkLG+I6KDKpqGW+5(T7^C<*M1QgyUSITXsiR4(?1WVWju0&TK5z|$RveJ7CBixrO zyIfm_mkiIq=2&X-`T`tt#=e&t_?3C7a6H4?5mwl|TUAIVC<`MUx0e_78JJX%)OWJsGL3>twpX4-sVKm@?W9|E*=nhM0O+OW%VNB{-YDfTX z1mLIXrvAjNLvtf0tVx&#AxiePp+~a8a9O!Tvp=&=vgsdr+1RQD5 zS{X@53}H{(f~2yxtAX!o*hGx>{zDWC=;1!fZCP34VWr-N$$sOQKMkzGoyMC1#BA_Cp$0YKDwB^C4A@ zOE!`2DEP0OzPO^h3N{9Lzp(5YxXTL?Iu9or*I0Q`Dr)$bGmc)kFvM@|V8O*HmrO~^ zl)D5<{{x=|*EW^VemEb!?w-38Xq`n_dj=F*btKG2#X(R zUa=F8bSolZ{1B!yq5HUPeYZlN2j|f<2pP<#!h_!0;H0c-6P#ZG$jadIowngs>t?!&{JY9eO!`6X)042ikqI=%%z3E;e zP%!`G$L+(XC!1S)ThBMQo^Nc2k9ZM)AzgyVE_*OARD8C+vs3#i+#pJy!|o7GQVHgn z?goF7Y$S>ONDgHFDa8xpH^~bzPsP8v?%bhORHX~-=RCU&3VjhOGb&7u{j_&T5_0Wd zZMbeS(s#? zX@2{M=euAOdpqlgbX8z*=0WY2svIcHu)+)QeRs^jy+>h-RSn0>DE94ItIW1h-cUY&T-zUILF-)qX<$WdIC11lvsm*sU+%LCK60dYoiNsDRAQ1 zAN(2V;=pqJL7=9YtKmja4J|SkK;w3^;ovf2lE{Fqj*bYvr~pXXG_7QCb%RRwT0skN zd%)72qmXi|c^`jNkB8&nj+A1AA`T4dtpNwZDv;qxcxPgAQ7sWZ!@+6NrC-zJnpKWr zP%!`^jYtdI=B8LD!WM3Iz*^7k>AYeiGV1Os#!Sst5Q9L7r6-minzZhuUU5P%A}gB^ z7bL;k^!)$i=pyzk{Ui<#(-;&)&Mejp6lCAe6g5e_mA5W1708y5PR4`25byc99!(S6 zU-J;bZC=BZ+n2DV`&wOYjBn-t)$V^T(ixN_ZSA!>%(if%e+O^O=%0f zO=C+NyP_Ry5}_Sb2fS}}mX@p+JKd{J6@?K2;21&6QYSmikA7=pAj=_Q3ywl;3I0^f z2096%)?kxMogE9wVP-uByc7?Fphqcy5Iztf($14JrvltWnLW$DCi_zCI@CtP!%`H| z(-8(?NVd5+6emIcI~ycLGX=!k0mSd_1Wq8#^2uC;o>1lFX5S=t7yCx05#+0kR3ll} zer-*vzc&)D+-4cA#ocG)2dYm{TkrDH#zjr8Iz~~AE;2@5A#ap9RV{OlbPH8zm&KEo zz~R{$Xo4sFd?F=9*ygKm?%OIo-pbUhq{B9?nJf&Fl@FEdH!{8UyB-8~?lfjo z*l~sQ$~9xf7@usisuivEh)K3UF}P#{w_&v4c z)YUPe*ooJg9;?tpD%Pqj_CPdFIIt1(C{mF$pd_v;xe%6_^_exsbfRt~>xCMXZoZUfKad%&d7R3t^xx2an{o%bR6*Jq{GFeae=bO;?^9p>EJFy|CQk-QbEuc zY_N95QY%$`tTj77eZBTjZ}r{)g=Q;;vx4UVg~^0cR^*?;-w1o5ZWXJMu0=S#hq#cq z9zq3-C94cZb!vsXESp)#DfK`vJpdPVQ5n`5V7Ca$I_ThLgPhai3FX8kI>Y)rl;C>k zpI-$y_46e6jlY+CoCnjJbKKae0*0dz@gKgI_xni433WC#m15Xs*Kuc5vvc=j`f=Dt zZUQw`nroBc&RejjmG^8W`@kBBWN#mvBHme1r!$=Vh=5!|rDv#o-EL!*-KQdSh=kUy z|BgsyeUR}2eKeCaz$sH7=k4n2j)jp@>Bp7EG}PHWB+T(h)B5wszb$UZ;-PX#3kvcu zxK9WqW`vlqEDz&vXu_o##m*5NU~ux_ZZpWRN%0#Ksp`oRj)@g`!V~)?Nz1feg4s{p~%un}y|l z?X=#zG&C%JC_KFYlGCppMOB{0^&<)I`$YMrGpBGxl!x1%vI?vGt8jdc>5rY!%?pMV z@uLwOEcVtn{;>YT7CH2lj)=q@@c=8d-q?M9aJav|{rr$0xX4ugz}!>zw>DnvA0SN| zTO$w2HL@DLW9ELs$_qx8{LGA&iJZxh>wpK}3cr!A*b)>$M}%P6>Lb7zGvzs4TPV z79(ZTp1jE}NN_wviY>ur6y5;7=0qX|VjabfBC8umf2OJ5EW8k~m9r?#k4cgRw0mb5 zR0gtT770@VJjGmSO)ccdAX4=^cH4agE7SUjm5!JEd@2NghR|JVkC#Urgv4Z8)WhP0jmM$V!N|DK3b7eR6 zuvVot!9fUBye$Nj@%90U7v z>d7V|t^2fDHL&8LKuVtCJc;KzXKE5LMCrQE<0&Ee&!Pyu$OlNd_NDOt5MQZ-CNtLL zK2DE6!bJm{;Jk~t^vOE15{*aiu!DG~)H!1sPM@jI8~Ep}Ws zmcN)RgVwSd0JQYl;JRd308RDdQFOB><)EXRd;x4O_X@oUTQx1TFa#rt4dE1-#M+7s zBPguWFUww9zM*7uJ81*5?0M`pupyoYavaFaIpK7iY!U0{D>KXJy%>DW!zvJeL6&bF z*?}b>Xf7_f5EHIF+m;b@-lP4gpK4(pd2-EGbpRtS0CTpP!Xxe>Dh{$u4+Ld! zKX!zyaN=y}97C|b#ip&*BdDf$#H@ksiA$75kE;b)9JxdiA&nF|Z?sHmXFhQ9$v$fD z0%uuos{jF^)3a7Ua(`AW0F^5x+}b*TOZwCdsk3+cynHI@a`T8Ut8ze8jYPMXd#>b$S?;s&^&@3ub#4>}w>(u|Ip zAk+KzJdc&x;Hc4ogo^)GWrgE&LGU3Q;gS0eb4XIc$s2H09?29J`Id5v%mJsnq^u|q ziNI^bu{TqpT;Q_VH&qD@b7CYcK_!~71YCL~dWT>_Iui{uOHoIG2lG^gze!8UofVzp z8@t}}lca;haj2$;a7#uv?1zc6bzCKB+S6z?I2F=-sse(;)jGvtWWR z{NWUYUjxJ#m(*nfl5s&jVPxw87>!0`2Fav5N_Rmzq6lPbF=>1;k-bgB#}}-t5QfDU zP5L!7SzMbh3acZJfz5i>;{&1&x$uEQctwCQi(WU#37%QTE)0YNDqc!zUrao2F_LTO z{=hFXO-Zd$jsJ&$i?@OxJ0vTda2z_wiJA%ck5_lzjkun^O_3C|W`-@FoXsr&3oIHU z*_rGw<&;5VPlpm8y=&d&KjF1R>m-$V{GR3{$mi;e7FRvvEGjXR&b^Qds+y>>~{V401|g< zy8Y*%&e+CH$U9O;hkNrqtG6(f8$xgfi@+Zgj6k#(?l9nn6#dDgO#fAAAQO_` zm8h#=sBl%Dow;Pbx)C~!ccWpS21>Cef=`Hkpg%$~0!e4YKar{o4gP#RV62EK5LggU ze~$#=0<7A-IRHtE|KKdA6pTH{!y7+Pw(7i(gUT$&Y>f?meL2K9=s89xvb~-Vuw^sR ztpRsrjn!g~vlIykuaTSrl4G$2`ct1lPcMuI4pG9*0@sq=v5)Pur%-n~n_ExTU+f&7 zAadmJ@Q)`ix1d+vea_>g&9h`yXPA{u{>7L!J?nEDRS~uNAl6>JjdsURM;Az#aW+89 zpei8WyM$(ziiREFB7vP9CTW$M-@buo*LO`M)YkQX;#Q1K2mG{)Xv_qZRWxfpVq<@p zph6itTYUQfZ7OG|Z2;XE#30JaqYO|ivYp7b>e7G4*^ziyi1xJA#1Yf_V#2CXLLnKq zN}uV$vk|Vk5b#VqgypR(dL#WTwZGe2h-QS*?4!VrM5Od(F;HB7t=zHCTXH5Ko1$ ztifdyF;h2#b4ic5)a>1K<;ex8?Q+`X%hyPag`dD?!sN5gxUr>QIWi{nQosPb^cUz& z9T==FP^dGMH4QY$!wma5Z3!Aj0?2BB zJdt?tb%HBdEj%l%8bBWQ`7xy4dHiir-bOPHY)I(TXhBy9^#TO0FC2yx<0NhRe!knN z{Iq4?wwZIfz5^IAy5h9m`syp4mkQD-jZWrboAeM;D1kF(l`w-l@x>aZ5&Gi9l)L`_ zl`Y!z46kFPHor(D>@OydC|`f^^~&Ut3D-gp*aIoI$Dhgih!D&J(K=1J=eOSDH?c=H zt>U_orqF+A1tCJ{*lLZx#(FH!S-rR!-iV zR`ni+4wdMo${PiHoO6R#jxk)F_;N~h&h{}{pwJ1GNLV@^jvqCD4>!3gsBI3aA+d>L$@3tYBcn=`JaFL-}sIB z>2$w;g*~fm4vY@{<*5{NOt?Q2R%(ziugVZ<0uPVb5z`@V4tgVG-|~!zTxl|FbaygV z{YdMGCWxfeB6Tj{03LmeZ51CIu3Ov+! zTqK#?Yg)j7i42W3FO7@2!^Zd57jX0~wnfz0F}BZH;kme1q@{#7!MnJ5B)BT&D|b^@ zVQh*`HJQz4L!sw;xfE@-IMp6L{{#8BkNF?Yxd2ai2dmBS3LK@Jj6L40lZ1qz5h;XR z=uS|3fMK9%z;f^(Y-RAIvs7(ZCcoc;3sfd;*L^6OxyIK1{_g(C4_nW-_O~~%Z=izl zjhZ&t+1>cV$?l88&Go~rO*H!^AzDrAau_P^qFAWZHwa!M=m?7RIhEO81Mrx-U8C_> z@wT~r$BRz^#1^0WZrZ%-Jy*fGL4$7~rR1Yi+QGaDe4m{6i z<%@SB3srWhYZJF5f79s{vwg=ms=$;2ysFs5IvJ0a@~SO(oC8D%z{3ZDz0|i`#VY6&_DXZpBx3(F!#uF0R~vL$L_G z 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%0DUV5auV6pL|S~ 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%0Dh;u!+9Z>;*w*nT!J-= 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 TJ#y%@d9M9)-qPpjYQoYfKO7~gfGm!Xu?lm4u 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%0DLmCVukgb|Q!xY4vKpf?N|$_|E-;Y} z)_Eje(6*O&A{Lu-_Yf|1t~p@luMLwB74ET(B9?1fO%YS`&4ikT z2|`1Vt5Kkny;2JCjnj&2M?7$w6HC?*oPSS8kJ!K=w3$Ec0Z(86t4&t8|7dtVI6NJ$ zPCuL=jZI9TP?&0l!3#Oim^*%eEuSWFB%LAu8R4WsVT{VT$P!+wQG z(&~$bm4o0}ADg5VZ>(JnQ0t&glW3(oI~yUWMuwN-hjm;c$|a8L=kI#mwU^H~U-CfW z)=Om4u&dJ$qJ9omhiLy%lOy*{GvII;F(^(;%rG)4 z;x{w&c?YEgu%i|B&1V%GXh+}r!a}>qT0(pILFgZ5qO*oQ%MKn9?W}%Y(deBQff9*f z=!#>@tRN+41}H*x>557e$OGD&L=wW}5pYvhmUoeH87aUtEIcmSwcLZ=8I9~E1-mx1 z-a!A6?Gt;qVw5u#LY~#_An6-o>6uRD7@G4D&b;C%4JS%q*dA_Pc4P7qt;sxHfXTqq zvE2vD_m}T?mpj`-9EWrLdU)x2_40V~<{qK-jRMU$dq24ux*lkSu`u`;v~re&+-5>d z9fFJ{)NCiIm3A#5D2=mS=G|gkbNCTMmCdQl(Uj~g0VNFq20ot)N!^X^lLR1NQAO5U zJDdckgDEdflTKYUk4pCfh{rF)6+q?&lr6_8NyBmWr+-$`jmO6>))?N6Qsfoxo9*D zTKpFDIPbtdMDmj8dFRDh&eur*!3Jz?Xe8OyR8OO8_D89UnHwWPu$xXILD)P2Cb=k4 znok=Y$;UT3^cO=vghiz8wW%l9f(y8}n4C4=7Kf|M6i6Fd=Y^oQ7>fVrNar4INK`a2 zVXYuIs5v^C;mB%+ftRt105VPjff}3y7A`=uv24(@hPDDbq>VU>pl&+WMloMRbk)%T zPo{T6qw#g5%efpDioNcyr+Zxlb)R!NG1fz%E77AT9N)0q=(;0^r0KNgZLaGtpLLdR zb)Ud#$&3nvqodI=tUowd_dx?}@pO_eN`n)cc?RdQXPcZ4P92NKshMBMsa7=Kn6QY+ge8##cQ?ht2u9R!T!Xjcb<<-d11&=y&LX!g*i8Jw037JX8cv7_t_t=WRoWo5iG3~K*2J1@zoYyPr3D-)2gM3PGVb8b$g;9xx|6(- z%`c|5YH121{Iu;e2oX6+;WCt--=yngj? znWC;fJNH5fesuY#$@uDG%AnN8E3bdr`>FHQPfMMz7JIv|m-eQ=`f2~}B3}Gz_jL!~ z9(V47pm+71y;?wxy`S*U(jwi4Af7jhAMi6B>0RGG5#*M2sD(xvQ7bW>gM-=dUxe2A zPPG*&lJBupO~?`mNK3m9_A?9!MJT5*w9LbOf12)OM6@V_Si7x_06^MJG{UV+xK$jz z5w~$lh%UvL1#@V!qFfPvcq)j>F_z>UnaVGbD!uHg-1Fx2aqeiYH2^m3JEjQvHy` zrh0hYOiPw1SIw|Qj3?U{$dZc|brw$f3-fMoiutqm(_?&c0)Yr}F41QZSK~O>9SG&x zcmmN1qWMy|fCPE)vBKDfQaA`3c= zGvFx(p%J2h9|aDO%!ZPsu*r&$W57ok2MUJNd=tBvK#;{h{+>sQz21HO@B3dp{&(b+ zamRM|Cy+H!VA26!WSW_UPb1TU4E0=cQ7giz;ax*YrD|-+N;VB=ZE0L+ErQEZH8W>) z3tH9;2h~@IiwvET6vLodh;@o@M3pvZDYo!uBm?4>0^8#G8xlVSn=oY@A)OiVH!F#D zY=5Fw7o|H`XasmRiZ`Bjmz?Bx*Kp z{0YR!wT=Yu1=- zJ6Dqe!#)00Z+Fl?x!?Z-IJe}!AVI_iiBL{xAkFx~SqyhQzr`IuGN)ann56abi)Ho2 z|EMo_v&H2)E5CQ)urv#myITEIg>6wbsP7+w`!hZ&$~IAW&Xwu~PHL}(m91V!{LqN4 zM9^5~NZ!6Ue!s_mo{f%%=dhAM*5gl|s#QnI?1Y;(-$clE*1lU``!iB*Jp<4Gwn#{> z?_Rz5_T{S=PY#eqd(Hp)JzmPLV$wVk5qL*ncEmJpp2pJeJX%7&uYl_R1n zeG&t(Vkz_k-r2O&39WT(bhgV^ozTJi?}0;}Ar#9sb~h&Ixu#v~_=QQevmlLwK=)_H zCe^khsAN7~dKKt=%`^aUtLg^B+t9|)Q!!#B2-C$Oew@z7PU%I2^bQ?6yF$7Z=Jgp$ z?oC$VzM#rfdq@hT3-c9Y7)04W={#J12;B&Ym7$pa$i$q0HW{9caR{7{ehX(s`?2fV z2z{P2mhP1#y;(E!sS#XR3Y4bZ)}A?2%i^v!DglC**U;8>v;4of6EmV#aWIIEA-pCpge;=agKYqEOFDy?gcSQZxhS-KL$n=>G!>W`F-KXK2eD*7FIH>#$j9m9bepyVw!0 zg(0f4MHBov&m?iGIrqh4E$FZS8j4X4c_*>w!1bSkl$WGQpa5niJaxz7zjewIF20lF zXcZbUO;@~Ws!5&%n~=I zat@3|c@VIbQDZTYVfK>-xfZz^Dqxlb84SOVYV9InN9V^woL7>pJo4D5OS)cK4K*1k z>aL^6GUVRCTR8qIKzQdx^DHYeqvt6V9qui#m66(!+g%XMG`R^4Y-Br8R^)z;l(Rsx zl#gXu+rjW-|BlOKarc&4x;SpVZvXekgAY@Skg?WGy@V{r8~~T5dmFBdEwpp=X%ZrO zjLgAaVF>Z{L3hVaYZ5gT@BVyeY)zXv?jRVEQc#$_&o_2xJn|NG7T)&X0ssD^cP4r1 z`jw%GO#}_gU)8E%Rf4g$Qdd}R-mw=oo<3l98rEDoX(u?+3?Io5R}7vFet?RPD^M6g z#1^5f&t#5L^j^<>2q|Iv1DuJ5a@^V8eDYr%>s3d5%gh=&K^S=wwlu|-R^pYc;PjrS z_~-T)uIBLtu5huJq97!`>kZ98JRP500z2$lusJzJfYq^GD!e3~?X$rL=7j3pNyhgM zCt`p)V~Xe+8cl{ zfP`_!twA9HEx1B}V2&;amC)d!sN|M~ZdYAM3@{XC$zqH_N@Yao+iqO$(aI3lP%s~r z@AA5nF`eNe%oU)=MkWijzSy;nvVfk7PKA7}Ofux`AOP!}1&vp<8{5?|I%T=@M&sR5|rHp?K zDFo0=I#^RV5ljkeZA2-+(9@Jr;n)75D~nbC6`O+N~@dBM4x$Ia>_MVxwZjN_2OD`Ckjrse9xr0z|KiN?~)fu z>-vw&V9R>j(jQ@*s_+dEuNS_a?{S9k^&*AvHM+a@9ZF>uOM9vp#JM=7lr)tyf1eCZ zDip0yDip8LJae$uDWF#RdIj_nQQ%xDBptl;)2dc<%?yRzg`{9p=bTk`PMVN7NgF>$ z`7|(2jso|nA=omKBd@ekZfefVYT2ZRx%{)zVceHN_o^VQf&IL>XplnRtvjxHRwrap zr+r$M1tTeE!<_@7PxQKm<+;>RD$$>FvEpT%JI{TJ=EYjWZ=Ll~%XXoJuk6+j8j4S$T&nzsv~s8OhORBFlbG z41IOfV14pqDbT}eI$J0)Q!>X=BC#w!w-Ryh2c~F9RnrDCj$82=jKe58Q-<`0dDK0^ zp^+n49lbhib~zhar8;*6j4|^e)(iy^X#-~uKV3l&`G77~rxuDah*l0;wCKj6EG!NN zoZOIF9XL(wNbF2cuvKp|dnU<3gW4fX1Wf%9SA07Q-j>j};2=6!z6U3T1|eBnslJ#@ zsiKXPXs*RzM}sWvc9@PMFby-uOj&NI6qg*QWpq^uCLn0IxUVhyrj7K?P!mgCb90m8 z0~@9#^20y@Uq;8?Y=9%li+qoC{3o%!}d&P1vIYt~Q zns4CCo?{%FbP&~an0vCZ0N#u|KsmUL)slb9-BTLa@*9haXpKLToMz#yon|cadC5d( z(zi&a{v(YR2DutiSU}z0G}mzq>*D1e{&Z7WIY=2zVP+#VYXYW|!&~%1UJB$g9DDRJx3~Xmp%%sblK~=waC_5t4_Q$Y5OG-R?dm_YM_mQr6Jkz{&%Wk4>B zj<5xCQMCC2ha)G`(IG^!P#^A>52%2M35K?0yeU03Pizn(G6!)z$oUC8D>y6PqDf%R zBDCSi*KzJc=}%R~2FO6#;Yd7H9G3_L$-6~E#l{jJ8qF*m^DPTJ{bVO~u?J<3wuw+7f zhg~XIt}C=H$O;(&9&ey~f5>Jb2E)1~VzI?Cfy60OLFC}TsM7(XWe9g1r?X+!{ zRVo{i7~Pc}bxjTu?Lw~zXF+m}wFXu9N`-1$DX8fyws0L3#;U0wHBY`*ce&T%lWlns z*i0W~a#{v^nC!Sr8xeRgsXBO-o>95M|7t^La{;~=WL+N|qwj6PClql>fnA@Ruj*b* zCw&I0%9pSCMWU;5B@MqbJ)cQD>4y^839p=Zu|=6#+|=qhL3~*g$rfi- zSXx<%QjXZQDB*OPNpI@|h??_^ku}jW3f=_g5OIkfA^E8ipM?8b*e#f7<*jy3IxQOj zNK@_k@ksBX5}_7fQ8Vt!veDhck#_#H?8I@47)m46@Pq3Jvn-fZ$rIoRjlwV6q`;`) zOF(#q1s|F>bsI!51Ya~3#!zAzXajNO(nQQug>ph!V>q4Q)xt?|p0h0$awOc6;CKy7 zjb+ebav&Eq3CMuC1Mv^X2>gJz949liYt(5R2_qDw6?4oiS@3oz0g0fItBW@iWa(u5 zh>keS67{+3V8Jz^Z=_1JVuUMQF|#bs3*BJT$HL<&f5fnR($@Eh*Qzy9KcdBEF=@f z&2|!Nedg|OtES^;lnzFT*`?>`i;nhZc13ZzX-~q?-e7QQb)c{pYI;KDw89)@2*tr} zO=5`i@ceSF;SG?`yPr#$hQ$nLtouA&8ds$@21wDkVgF_7Gn@{)aAeZ84auE8vTO5% z{v0jh=zfTWx*>D_j4mrT&e2)r`Ooa8w32sFR70#t#iEhKW@q=tLYXW|nhptL-}#i; zi~G1NN{ss`s!C@~)LBqGMAxC*{T^<>APIb{G?1-YK4>#5TG2!b8gu7NlCV{uWla zwzu_rDq0QMAwS!gsazXNv^g3FdYS73>s@ zG2`1t{oWDRuCz+9e7cyx1C`)n9SQfx$4N(f2(s~5ru)f7#4gf&@LwWg}hjwCXuL{U~foxNx-wxhUM&Uy6V?;KvF6?t;b}$l7 zMuHFC>KX26^=6^v&JI>ztHmSUZW8B9u`odN$^Fl6AAz9(fffBFY#`ClfdZiKgGaM9 zv!J1*PKGEW)74RxXjDo$)NC8z8zdl zVIkwQL8ni}5_ZQEuBi0C!L2g`RmLprb2BKjPlN$`w4ef}PSb#QoSo^pE!@gIl%SRl zB3CDLBu?VRDm=*4U2gCNr+tR&f_XCC>S}7)lrBIe- zXEJ&R*ICRe=h~y5n)aoFC&h-7OGL2v6Wne#eDA9V9KXo@fGa$b1>|r%KEPg!W+c5ZuI=SW?)Y{%ZL2kB5(A#P=-UmQ3LQT^bBxtgGO}Fi#W@hKA zdDN1UaZW}`3d>#BNgVst!>VnZrw$?U1&J7pd|qb~CyeylH|-aRQT;P|auc3Vo6j%H z5;fybG8l<iPoLDCCh zqa!Dq5sbkU3Ru74cSbe^-dZL~;FsZ+kX8yY)S6${C3!R^Hd!WI{vt9OVwbytIfYBP zVkldN@qwt16DiRt;_O9e>6F@|3c?l>Ux1e%(UpaOP)!5`w}!o-n+={D+a=>V5H1{T zKCC!~H02?NCmT#R$JI>v3U+Rm4d-{g>qd;+04G972ZY_Yc1evU{YEeIWvkxL=GrP? z+E>!q4BOU6F?G9E#gV^u?R$j`CQX*5&XTa!FRIPh;-8!kZj)MxKy0HqjKWP)x4?_U zr;%>Xb5e1t%&T@Zg+|g<;R1_?ftMReYkiB#Gs;lqx^h+-&Z?D8qDbmgOV-qKY4c5^ zSRN1H6!F=qI+~sIkbPfQTcx)Tt9bV2?U+GQGc?g+yBR=1E?Hlam~_K2%BBM8FLMPT z7A$Us*6d~jxhJ*lveXSmvYws}Cwuly?yY_9x5{O3+OkSUOOOK@CVAgs+f9*43O^ek z{UFjjK5H-BG&{AIO)hk41zo?8FGF=x!`p# zxE>7bqkoz}lcO}8@Y=zUck&dEp323$@fo++V5FRV;%k^6-vV#|L3IV1$#=zLHOQs~ zkA?W@6D%*hhcA6Zgn0CCZ2<9M>P7ng-Dq-oH8>^Cf5FLewCwU6rR=XX-KLix78emN zb$I71p)n_>(qakW%nb_Q*23n)xN)ZCk9S@X(wY(kNlYGZ=646m9+f?|j%9f>wQ;-& zhy>qlrD>L{JPuVjN+`pRUia*n#yMEfn@B?N#|^fRBP!|<9T>f>HymCb!I%X>ha8m| z`z~`#r;go6A&1vObIJ{AVV#gk?oVS6l;J`pbhB)s1zqi`Mwq1WSB^gV;A70|uKhcv zf$J8!r26o?mJuL<7qV>41yNk#sL}=z9%2?jYjj|c!03+SkY0>jr7f0B2dlT*aGi#E zqslz*_20l^Y%+j>bOdv^ZOW&OTtQz(I(EX9DrqsVt_}>4ud%$srNSTLY>@ zl2we%`hbH;?bx>b{!VBxdLxm0b{@u5g9hAc(X^dv0b!yariibIJu^%bRV$sHktf{U z?-a3mOUSc}x^*UpA(p}&7j$Q;RoHPgr6xBDHuIhH5o!5;G{u$NbtP#5*1+WMMN9*> zNny=7>$Axy&9VrK)OD9B8QL*_3PZ@-1aXmnq;Nhj;|=7xg)`-j$nSCtIJf$wsEwo} zR16P-lVBP)~;MwuXP_ zf+4CVhL?p4U5nC%-Qie7!W9GL=Q3sSfq<^Sk#Q7A!(-EgSUSK?2h{AN368$GHV$xv zVkHqkW*p?(tPvFma8V;=Y=Hunu2x_mwTJvfAM;-0N~$jXdj!%s;aYz@hVLx(MwqlD zhS+mKO2HV6s3^n;U-9}FQ3ql`ald~)mZBOv#eM!U#1|~?)ZgGaVl5Zkh$zNnkbvSh z!*iY+qlc19WWWcTH?oYmR1?mN6iTOL7)jx?M7-rhg~KenN7k!-`@!5Ll*mCK7c>`H zOG?N-)#h>JEnVu}-7e*@vio$G`=X42;!(m_KrsmCRpdw=aq2BH(VT;UOcBF|H!j1V zNA*@2@MR682-W~gS>99G(u_O~g_3b-@Ue%PDGTS6z`jrLClCG_wFl`LHe55xx(UY3K6Zx!9(5l{_7H{N~X7#e% zIEIMJN4l+mj6g$OV`Q+h3rg#;T5o2~QMt?5r_Hj=j_BoI?qE`P?)Yn)Rd*PtUrZ~Q zOKn26sDqHHhBuiG%U!%mLytLt?2P@ycSToO(s@(k;GQS=ssP=K8_b`hULK*jitTDXpLDmcK4Yr z(u8fc$R!{Z`)BUkGDuG-6G~I%_vuHq&>Q;RTl3X=jzRtaD67 zHF;iKm&3^tw=_M$)~M@zX>92aD;os zKJ?`*K7_U~haga)1gz@u`bSXVv6(P~ZqnX%6o!r`*h;{KD<|1@2&`&t{n_|O9QEWF ze3{m9#9NMzX06xv&@MM#Vvjk&KJn+%-)ChXH)trxYzRbxRVX2=(HCg`|6}h>+uJ&l zG|}(+6|jmffVN02uBq-~*<{mNZ1!m36=m0Skuo2UfGCtnfDMq6Y0LfF@B7A*+sShX z*;4h)ovZ076M1rpjEpTKBO^s)iLQ>z-ZphQ?zYb-198~+8n&;u^O)D95MdWy^1mY ziphS~d*4kZC>Z*fcf{p0g5+GwsfF7GR75AyMn_uQ@#&^lby}4!aHlUINnuOKF)h zc4+QU1!nWwZ{hQ#TU2~$VXF_Hkb#CzrV)ncI10-hR|Bo(=8m0(#$ylZBY8N5xh;UR zwKE(-kLNtU;V%q5{n3Bev$G-fg_tg7KLEfc^ zi?{FGT{{{sCdX@+j6qsI8~wqyig3b1bI0-N9*Zyn)_)V5714nhdn6ZBx#7gyG^bZU zEni*DJQ{i%#UoJ>ad4`b>>+QB&&_^HEXou& zXEZV7&f)hDpYQEFdz$c)sSm_~UY^qjN&B3)lhp}B zuCu&N?qVcLRHt|e-9{lFQ+Wo}Tak;-3>C%7fY{BG#d%PVeGLKn*SX*ma^5d`n$*H5#R5sOZ*}O$>hyVwt;oIcsz7ngrBN z<2E`TG?H~mXEX4|R1CuZ%#}(pwgfc$FN*tO{ zl4M+Z62xA`gR(okfD;##zy%U$)i3HzxLS!pfz3Q$%?L-8gMMK@Ag;#cZ7~LdXS`F& zad)p}4nF!}-3cHx^@O95_Ar$*d9Nc`FeM#KFib+)3%ko)|48L z@rjxao!*ZJq>{vp;+yJBD0u{Si;KWy5G2kZ7#xJGnvyp^k@3P^&50^t|T5}R+ zs<8u^O7!6bXA9CV6k9x)FfNH{!T8@M#FOJCofY%i1WK?lB~7{FnLK^?81MNypOw`r$N|GbSe? zE|J9vjwze?4U_mQi}Ud@Ay!7wgYmUZ{x_I!0NH}*SUK3}nNOF~0z0dmlTMLn0>5;p zsX8y~L_eaLNFsx3ZF91K34_;-;0<$71=TxA0L0$xa()bdy+&>6U1o`gjsWOvgxQaO zgn9e|pv3v~wl*+f6p{WoezfRVDgscas!$4kta^?LGr8rw#$Ln`ceYwd3cU8B+u`yyK!J86*AROY7M7l*;LhVReBvVa(9VJx7jS&Y z_lfjnD}zDFiOT03ia%0sx*8UHmJ*LBSf{E;dF&xkeZ?3)1oZAHME<}otpJnn&&l-Z8E-;>D&^~7sL3W!Rx0iTaw)yKn! zF>YQ7XOO^Ch#uf*J^B9E8w;GBBGa;8Z|0aJ7bg1c$;cZwED#J?6%h$OeK-YMf(&RF zF;W^Z*k)f&O#`^6vlBwSHkB)TYirnKK}LS{DY6x&={$6*012cV1_J7y&h}o<-tJ9K zro#)oq@~VQ6HX)s#4ov>r`d_~Z;T?qvmX~=c7qd~g8lUQC6b!x$`R$eh*#!y(yTA!8wtteh{ujdb?)3@(!wYi#H9AUSfOU%GC9yC78diY^xo;N`C%2Q9 zKnG&zfzW+kfE2UBarJi`i^0f#fsA>epqs`W(osKF=TB z|Kf`;{<4bD1Q(E?~7&24RPWG-i?r#J#66vX^)@Yox6bv=P_JIjd7wF;gRH)qpL>2kJeONBLV8XlRHq}OhLSWP&{RjBU z{gPEeBOE~LqqK;m!FL96O5Mb8|6aqVsn%qKtjbf^S->$zi}Ma^g}DY=f$Af73KrFk z=~;B)TwU<5gC+ej zLDmuc^^(3gM0PD;*DqdOsoNj>NaI;)9MIe3Xmlp`;6149qfd}gXfV*2UlC?#K3Tny zUjc!t%{_#o!G(F6Ya!7`mG*IsUhw4Pa)FR~kWy{}%Xx7-G+&eEYoR&LY;gG62^0-&ED#KPyO7WM-ZX`JlQS1voPPTr z=Sd)2P=buGiafao)pn@#1@i4qc$nl$d#>lhwkv7@R(bNvEj-48U_@N_n2*H@MUL?c z>?{^v-K7|h|G0^jS99a-B2!7IR=qr9f}s1V3o?TrfU8c5yDM_L<-SqWlL>R+q|oU7 z6dPY(oEa^8Nj7CTnQ-G|b^-K(=p^qh+NUL=!XHf7ZBm?WM|De>e~;U}S~>0$){4U} zuJ%zUr*~Qcyd&)WxWCIAu(UA*3tI-@r@hz1yZ2v@amaaj*6gi1I0%!^_vE!f(XeG~ zN%K#PJI5ZB8;AUZ1o%Vph?6ftGE$erO`_RoctDqYg1w0X{7cG$Q#P*(L5P==kHwFp zSVHy;8R3}#E$wvT<9l<15)DQPrQm^-Vl7{zj7a!-kef5 zktdk)Uq)OpBqAd$#>>Ek2Hm!?k@n@;Rs8h9dI3D{h=owr{aMx@D`W*AA*&at3U!RE zc@)Vr7&&>{^P>P<9#w{*g{osD;=S+E(frkgCM=Y5rv1mky8?H#|uD}g+^BqLGAqo z+_X;2#qb~`3eYr^kj%|FdS#iY|L6cwtzmQ}5pZG7G=50OYC9YLygM50hLqs3u-~WR zI@%RSlt}|PqIyV6_QSh zPK0*u2U}GHhX%{C7(oqy5qX2Z+ZvnL3)_lsG$ zMS!PJA++ScZDI6k&Ae+xiq>$zOL+jI@J`z4*gN!2s%-;?AnMq z3cL({~S8b^87>PTxy9r|*@V3+zY^z83I(-~ugWM_#{c z`p?Z%*FOD5FSY4Eh+aL%0GvC{V^t(1-y{v}5 z&<&8&kAyk>?ITs_G#jTC>RM+lnBEoNb=XF$E4u-0@Nlo_UmXxyhv=fkDDLh7)cG_& zy9ln`;!L9fWbvI?Es8q8E(az2Ew*E=({iaWjh*~}!O{ZQ9X~yEXiTAbC;|DEoKmz+ zplC-CW*4gSy>(Hqtvf)kex?WMj&TuIV&1xe4K2gogSMQ-aq5{VjYC&nw)Mki#zIr* zRpyJ|>PJoj8s(683#Ytr7UTckzI}VJzPg1pl}DF|1iv`oHNtlTTnT0|B28ak9v!UX zIQdb)|X%1euq8qSA2fr72oan z@lu37?Rl1a-$-g@|Iato3U*&=TN4S%7~f(VF7--IJ1k zI7DhYm5P^~bbQ-dk^RCh%TSf=l~^Gw_~#x!2?D|)xCd$@{fRo_f;0J&8|}h>fC5Jj zmM{55uUW(snsT!ZW^`@MMf`*w-sB*KC$KQ*WPPoLI;&)d&gfpf048tSUd$0jGGGs| zfKQvI7etTex=T;1Tp>Z(AB z$lZ)(z-1sf(ccL%#w5l`C>gIW0SiK@m&M$-C%*|2tP6I7;o6YU??DXk*NLHL%mDD( zv(scIa<@+#bOa4B$9)}S1?lyL84huI=Jn*&1t06PlJiTXo5L}(M5s!4=rxQW^e58G zRT>9$4TeMe;*}174dPCn3T8+$UJZT)XJB3Bghz3Xi5ElWhmu);(6>06jSa-fX!d%KUf|Ko7)*>}(HGndh$!<|Qm4<3FGEZzC*b#+ncZc8O} z{DR$~3ZgglU#Ux>M>G`FU636Wcg59MuP(i}bndC9++P8BB)r}9jgDBhg?X?uLKOQ2 z_8cQKKs#VVT~tE#dT%r+agRpL&5mv;Ras5BuB)Pl8nCu$*^cV@!Ms=WwGCRGlWtzP z3rbvsui7!KU0^{gT`UEp+R~1K>nEl4DX-t7dsL4n2tJE)@i7VQJh2^@L9;e`qQ@cv zm53`HrW^#w&g&P}6DGxL@f|SI=w2ROti3d{tnyN*V%;u8H7#i1myOcnspZy?t(He` zTKm0``@P>1Sb`f>GPSm76@8Dejmz6=ejbRYDV3T@Dm*qwIW(Fq;KRInf;a5&L6c>- z3U5%)wL;|j!;cQ)tAuWO?S@>zdb`V$>zptJP*d^+D&Kc6{!+CYp6YHm)DOH=&k)+} zaMu8DxE=#2Z3@aga7}pHTGSkJVVDXstG=+%pf-!rH>H)!t|7mo6*7o_217#}?PjoC zFU(>GM8#J88TxaWOF%#{jR>zg$f)_5<A2nBRUhH-@M5+n+1ELXlmjcB zE9+OPmvsw&6uYLN=s-y002xg(wkwCgYBt(PgK&_H9!wuq+Lr1v*bK6#Ng|~HbEP>Y zHFZ;Hb{Qg7+8c=K3oUZvq-Bh#rb4?4fEA$>lr-mF+~ zE_S_>Tb0Dt8zeG^-*Ex1}{&V0*_)A}&6)(`+`o9A})EuFedtP8oG z7AkiD)0w`sz3XPPjxmDvZKNe_AE0d0(S1VUE;!mSD`-jUcXSJZ2M-6~IF)Tq)%l*H zJ8#g@GcAV6Nl>Dlz_ZX%mZEnPlntw zmlV46(79_y(Hyk-9J_tkm`(Vy{9HnlY$o@gJ$>|e=l%=8Wec0GNQ5XxlXT4>n5Z@Z zcSSVd_Ycd1?=3Rucb`A|e&@l%I`9FQ5C_r)It(%16A!2KbNk%@-9Ic3y0^$cfBq2O zsQWFT2Vg=BM;GY9wl=H}?G{u6^mJ)Mqi~YnH3Y~xG>FXRMV$ksP00zNQHNYAM7WK( z@M}h*3_1rbI#?;1b`0H6PpbgW5L8O%$XQ!j z7O`2!tjXxmD~4!_ipfdmFxEiC0;+a&o#;&KUSOiF+>FmpDKu#q4~?1JuWsT%C2Z4b zj4UjjT{DO`@g%=p-G^PT)1$@fbRsG=3L!mRL#PAO`j>k|ot`#(&tJGzJFo>evlKwH&FfSFBPHnYssX=Id4l4g41> zplv+Nq8JZzkRcmW$cJd_5EIBm@)F{_psq}aw+#chvta;rb=Q&h-PRXCUP>RRngA`D z7HI1auvvetxYVxNIsib4GB5&&e1cv*v98Lk_=&*9Uv2#Zz@-0HAg}KTfVx64C_8nK z+?{vL(*d0K*$SDB!Y)3npyu8yIb%&cBEiGbaL-f@Vx^l>H3948#N01asoE}Eyis$P zh!I+txwB1$7PNi^tQymK=auROAGFmJg74g#ceG5mo<@Z*yWPQW%+k@GFyh!8PZwEh zGN%+=-!|;Itf}wXu5TH(Jl4`TO-0L^C%|_U4(~AE|M*mEP1DUu#Fckgj9soLR;eH_ z>mt_-*Z0z(?Q0aa&Zq)TMvbkS#t~BK!06NF!G#a|fR0uP!-Untwj(w1J6gLCu%;%< zuE$!itR3sQIo^t-RvVk*^FuhZJ&O+@s3!YKa_=aR>i3ScG&x033+#>LpRE-rD|;_@ z;xF}WA0Lm;)#2!P3?<$%(#V8YP;wFt#SEKEqoLf$!fKc~5rc`Ot_1Y)F9s7yJfGe4 z$_Ln&tR$M~l~H2}3N|+OUTlB8^LXdQ&ci*VFZ3Z__P&Jj4nM{C^KLMf`F}&Et`N0n z;}2`oPrH|dgpF=OB4D%WKa@hfjwVW_S>$-K&jx0i-ud%meliC}fVTW`8 zK>#7dOpM8&1yEg8gLzPIBcI<48L^kKh`u*(DJGRU>{Q5{%wNkx=Q(dEo0QV*2sKUV z@gccEoKb*H3|E`xtwsPD&Sf+mJBUB*Vo=7!H?S+2*wcX0WH?N;Xh%75EVGVnkRLK>`6alA{aIsfx!Ux+>njot97$s zk-MJ{2pS@`8LntAk{gPM4b8Wn)=|0?REc|ofcb-`FxT`VglL3;wJx)@qhA#?F)fYu z#3xRyPsHnHOH+Rpi6YC7k+3hy@{cyKCp~K^m|{F9@dEfj$nqRTx^4kZf3zSp+wUV` z&=eQv@tCP*Ip-tJ{%B1%L}$Z)$b%x#^hoh+MiNsz5BBfkKEdbj?jUy#avZNqisSwY z(^NYVa7Etep(8V+BK`5+ba4`mN50TNfsJ{Cp>>y*t&FmX{J^10x7G^2yvfdZG5&xf| z%-|4_NCL4M%#D2|Ef0r)!f3rh?>u)4$g5Rr+gmxBuBs zFIPYJzV5Am#;))m|Kq21{J$RF->P)B`PG}PgHdxzn_me)n_t}pJoTmroc}B4je0vd z9UTwnqpbhc>=!P;+fp)emRu zQ6Qs8vUtNUtikfL5mMtJu9_0EAmJo*T8t_@j7Dlk_I2w*9!EFQAPX~NvwULLcy9y| z=X}5gH82@#C6`^ni3{hwzD;Oxc|Q}l!T?kz~wj-Af?(yzHUaQ7jNsGHO z#W<2Zhe!*ILuDE#8SuX_U}LD{I|1VT6X`z4l&>d}8F~EE`6)v81^_#Xo=n~(a>&{! zcF*zjkBbX_Kxjo5NP|#JdSXDtdDKfA!btI1XTF{|jtlv37J__*6*!9S1JC%!*k9DIB70GDCLNZy)R+UWWzU1$dSG9`c1E~J(OoKnCP}Sz}}mw z0Q_beK|uE7;|nCuogt6&_~1UQudzPWW<>>#_pZ)f&8An_`XEp96hehf`8bFF*S03y zdFbZd5cAC?D*4{sFChi@IID+3xW?F{_7qC7Pz(xFycgdlGZd8DoHSrfX~^C2*wN(3 zqJon#Z`D>an29>~ z5PFc|FsN`P@z$LA32|+Bch{foTNDvVXdd6RLA0&t0c;-S;+kIvS@ty^-E}x|^3{W# zDIQ+26H6|dVi#{6#EnJBi|O-3>fa%!t%#C2fLVMRzDe^5(2#j;l2i6OlCa-U#;(G1 zRWv{1cE*-rwz#mR2x^aw&>=I1B;6DceS7ko0ixmXPlWW*3{Rn)CeZ$OpbHWwfk0m5 zT6zIL2EI&-1=>^gDX&E0l3kz3mQ@921@?2bHRJ7lJHI`S54vmmVf>`~O zt}1oJZp!O~_U+A8A;*y_y_8kR5B4UT4WJCufEu<#wL+sqVH;wjFRvO33~FB$hzS$A z)m!_MAZ1rJ*m0wKu>O}{{^eJBhA105wA9^6_N{~mOsn0xao7I^J7@O0`nkN9w9b6F z`P^dvVKSdAzqHrQyMo&HoPVQ-3Ld=9hroyTRp7<#zy$wM6S=Z>1=1^}xN%drGICvH zrc(Y685HW-8B8fpBJPVA3v}||tGN)1Z9Z+~pqH4&F1F&ui;E#VQppp-s_w3PzUxF^ zaZ`sDsI9*?l>c2rq|Nc{bS6)mukqLL2rrzxk&kcWqJDUOOLUy;UZ;k0bGY-Dmzo9!$N&VopfcXfK`3vr}RV;xF^<@!^ z=7DVWGV>7`9p)a_q$E5i&FXUL@eI~6p)WhK347Z(Ud=>Y+nn-^wA0DYbudq zeA21`O$qYdIvLqW1$~7lG=uhb^qR#KxH3VAC+mm=m3uWyit2r~{`qZL0g?XNOr#v? zav5UW0wuvKHy@wj5sU>>;LMPuU^0CNn!Ug)d}ph-SGV@@=%3_RUzX~OBgPAT)YE59 zvB&?XTvH%S=%pcY5{j^IrP#@rjoTbJBlxryh%U8^jr&cSHJ8Uo2i&7*x%*W&x*SyRbp5**ibd5gLNq*yUhjqbO)5m{{Gk`6c9Gc}UswBJ|QB2x#W7N*Z zW`;ykl=spC)%R5%$s37=DbRYc8q!3|tY_4*`4!eK z@MsWe2B`X161_IaD1%IX9SSQ8lJ!Ak^>DMEPv9Or{E49<@K4})ltd-c+(vK`lpSId zwPM&tXTVZ+ZE&(Ig=~HPRRwYjI^9%bI+KKhAdn29QE9Yc_-nHqbR60Zg(5>2N*16T zv8${nFoB-5o8l%jJaYgd=;5ij zjpYb`B%Wm;55D)FJDLZYi%aDW+*f>tbTSKS>{y(J`hsrm3m!D9Q3+=DJ=acGQG#cM zA`g*iX@Ed|p2>qbwd}|76%?HUD7sZ?fEQqSit%ABj{Fg0+4CSRBvLiO!;1su#o!>d zKn`GUQ;}t#byA<=o5`2tA>^CCOmUR;>%qbFW@fXvp<-%)`I>l`7?gJ@AxW|IUvYq;VUt&ENo1vqwNk}4o2bNe(c2@tu8}^3?b>v}V?!M(K$2Xb3 z#2>J|*|&U>+Ao$1>N5}HptKR+4XD6}BhBL&?nK^#-~D#?aOdfZ!zbJSi&U&KzzoEE zw_HGj{&d*XJ>6@V`%RI{V9wmEm*Qxin-h zs^Mu_-PFjb?oms{qoSfVUc#)k?mmi-Y-#i9b z5idC<1;|K_jr_T{Tp+>WfQv7~pZ1GG2MtX9pAHvD5ru4Sm?sB|fs;f_#FNx}(z8Zbga5ab~fAmBY4 z(dhy(qfBm4g4<;fSbDCuig!Q9DTI+qfdn&B&n`xW1O(f$xzC_B2#TDMk_DP}(5jAU@c#L#92!259-sP|>9JJZ= z{F*$$7Y-c~dvjpDw@0;=I?ED>q1rOHOKVOxwO4Fi5 z9H5uorqT#lvau#=Rb}U&V4rl~E0P$;-3b$^t(Hp}@Rk-U-(R;sekDUv_Uel8FY&Wc z)V4bHF~|qpzNvX)A`x9jhE|wlNkxh+KO5}mubIm4-q<(rUZ7;TO?xYYC+;8y=w9y$ z3PxNTc_k;?W{77j)gEDihK#<+Pqmh#uf>}wfuG>5d;WKA?WZ%%>|CKO;i+A0GC>1% zTV86cQC;(RdW+AEpB(<@B|PVaeZ1dKt770kV4H?)#8S##mCK*b;k?pvBNnyep#Fj5 z($myACMzsAUQ#oT#X^j8gE^Kljz>-Z;YtF$Km=gKH07R_Ig|n&i?yc1i;~sb zgZ0l=SHHZ?zW%^bXsPI~#}C7kaZ>>z($AuF*~pgHiudnP+W3zzH1Z(sLKI(gAbXX2 zFBzzrAT$3cDkT+^OIjP=Js`kRwTq=#4>-8az4sgWxFz5iCptJQtAVG|$3c?=HQ6r| z(*UN73uI>!Ei#e1&L1&YHCDI=i8PK9!%S7($3afq>IH8_8A%5lnD?7asnDJLa4N}+ zRjcNDG=_np8SC}$KYOzKZ13Uo!{^VQz3|Kv+{TJ+o zm&BLm0i(K&33uo#QMRBvqf~6TlN2XkKi__O|J%du$2;45w1DiQjx9}8=(Y*RCfMO} zM+P@~B@>)8jyp~PF4UwQjQRK}Ov&RZRX}UL-n12V<#A}W-LI>J`2Y|Y(DuN59JK%_ zrNQeumAag>{;STMmiPDW}Au!1RMfeLh41z?6bRIGz!VN`r#cpa{YttfYOx z?h!tY3993|0k8qK#@}|)!`fgo%$>3n{uMtyM~uiX&?x8;byZ`!6GX0i{qWUB4{xaN z^FLIwdM|6`Zg1rt%qA7>()a$#M8rSkkiH$lZ7pb24mwx`wg6N$V_|{~g?XS|4|gn7 zwbmPkI_LqrG>j-s;_pt1bQ` zz0ap7vb+`z#8?kn=G|fV5CCItd=8N|CpyGHkGd;$z8n3PKDNo?yYrJdu4abknL_-` zh&nBr?6LgCEN;`q0EnO1M7@Tw4Ap@l)6-D@xR?MC*)To@5^L+A`(i8Tc9~W^{oHCf z*bmzm^L&F{`WD|pe*|>kC-5dO;nvUJ2uvF+FK`U?dm(wjK=>u$5I~&3N|flHRj+p4 zv0FsKlCdJ;&8pQ9k9SDsd>G^_i|WU<9eU(J!5%m@Vn4}GE(z^bUqkBwx6R6>W=$gW zKeUIJp-C*Tse;1~Lf>JMDI{Oc?WSIYD%y7LFNC6^ zumrc`UupEDw}&D&Fie`%9zSs#sEHxyKpUS;A%D2FO0EZGaN~115m7a17nE*^r#eLMf+(`C-oue_5jbtc{DjM5k!B+7LQfOEsKJH6B1#Gse1Q?#a<>azE?&>x{%ts)!jDW^5?!2I_=yB5 za22G&R8qW?> zL+gY3TDuRZe+2{OYfR$VoVvUN*-8`1RutXC8(3k&Ek9`#{-o?2;P9@wF|IYH$5NxD5@grqsOo|UB;^yH5A>d$? zuX^vroz#aCy%CN-;JGdt>J$U|lW89qS!&6*F z7+q1Dj7Oy9V4NW5rF_~OkEhv(sQn{Fs7yYut${A)POMoqM?ypnBWI$6q%j>XXi$^2!Fz&=&nfT9F(&0*df zYZ7uzuiy~Df&j7)Wh+j5NZN&DpEiMKc-Pde|+LOg& ziA6AZfB`=-nk)GZ=CLsn*$}2N+34Cz=uq80f*)MfXULtHT3FCQVM5{)E0b}U3x{u{ z%DX68HN7~T+MXatusr^O1{vcFhvbFXrOo*yBBq?tIvkVhae-fm#?L4E8(IepAkK+V zANbwC`d05|f6=q=Cc|&?M45-WlNkbipt8q$7wAU+%eQKDZ(;*M(%?pw#;q+69Kg7^ zsf&c^$e?(6woxOf0DOeOjEg7f>>rF5$McC?1{kbr^FaEJnW9(+PI!jx-oBpTY5{sy zipG)9m$x_jw-EYxIlk3cuB~2@Nn&H;>9glgwjTo#S?Tu=pMQA$B9Ixk6f%Jt^v^X*BiKJI+QnS0|zBlOdUq`qWTX;Uo4^{%qPJ)FW4J_;wDbS5M5g(yLzLFhFUwQ&#I z^as!)eLm*-^BAG4_*3?k4&km2lo*0GG~CDVazZB2Zy{L7Z&RcYDh6{~3iiso4(^ghG?W3jNz5v9A*~ z-vd6RoAhQo2%IcV7cdIWysh^QEtZ0=Z0nV{iAcW&^V@tIh%ax==BRc@vKOL?_(+Kz z1-TM^FI=L3QMuSeuH_1CQ9Cb_I6MEJRpv>s#D;nV&NGRXyU33QOi3rm+<^3AdLHM? zF0#Y(G-@?0DJVaLC-=Qu_LuaA9-J&%7t)6H;pz9+gM3g>!N_9A6-zA4eO_LUYtW1G zX*k!)d`&SmKr9YUn4HH~7Gqq-L@wgEGVR&lID26n6TY>!dJgg@t~(}%OA#I(gu_lQ z+k-8+E?sN7kKh|}it=W)hMjCMTO2A{R*-5<3FHZiqpPMwAa(SSvVA6es<;D=!l+@j z@yErLVOWK?a7b7aF}&O#$eFn`=<($9-=LsFRc-E~=?96_dZQc5I^`rBzmfBwxdYwl zDw;}km-v4Ph3!@BOFdO?Le*(?0`vP$n?P)tmw#6!?m_MGg5p3x5|llj&CZMR=fMM? zoF_aPPKPIrLk@ct94VCTFPQkVX}#{lH}GRVz;nmEsfiZFZ*q<27lY)xm<&(-WJUCB zJRvwaogEF~==7~G+qo!k!LPlA(o>mbRxx^~0=U_CF=$}DXA{b5z%G*{c3B|;ozqzY zj?#C&2#)YUZIOcRf(XhV`Y@fA=vAfV%Oj+EME=p~vD|x&j&{DBSQ`TPbf$A+6q~Zz z9l(V>jEOR*G!vlFL5Ke~z|&$vr+-y@18~|6Vbi}F&~!8hFeKOk|A(oRXXgztSV$oF z-!>4~oB;5@jp17xV(`csMl{J2$yUPHF=3SkWDSZVm{z$B(&m8Zwo%xaLu06F|CmsP zZIQGRax|y>0B2)T6*gI7T9qNV9+l$8)G7nEO|FnIgW@-ApPX46lPkV+VntDPXb^cZ z6em{{H72%9&y&SBBK+8&-89KLS!H7tDy(*FoJ*DZ77wKXdHJy7FtKY z=@qR!;bnV%O07o+%OhT{;<2wDFn{~{%^8yLG)|X6*nCl9ss(^KZH5<=SByki$TxAA%AoOcaHP!u%IoGX1b`p5pognXm7a)2t? z$mJ{2n~{tK9@a1jBd1h$UhWTi&gQ`B!V`mWg4$woJMv zjW3)Uj_My4L?RAMR2 zgbEfOnN1t8@M_vnd~Wx8V%rteX`j+$`eydyc;J3{`a#u0A5txN#DyN;rEkxB)xrAu z`bwx42CKk-pDPrAmo;d>FQox^`E^SvH1sTs(^wtB@BH#Op%D((Hj$0q?C2j*h$eh3 z4Q8B1B62B#Rs<43B>dj5xZPqgc7(4Ow1r*XeVLrr1E^t3!P?08Gkz=990Du0=gh(t zN7B_P(M6-_r;G8F385icWAwT4C%zww-);nC#d^|NS6{AvoNGd3454MfNbn>e6#w
    twg09LlS8ki&<<8++_k$7mwJ@f;w4QNZx2$%fcRmL%#=r%GN2=(~o3L*~tR}YU z$x$(ZBrn#Q$q>VX&dH|N> zZICmOv7i`*wux--C48~jp z6t|#0rEOvsw@WAjkp)IiJ`50J3)O3a;!VU)h<3X?%6O+?^d_Fhw$jHPOt)Uz_7qXTY$k6j8Y6=}C(KXL8(Fu7_Hbd63jBIB zHy{{d9mYrnw@P~M3x=GDsN_7_DJD!Uxrxst$Iuiwv(6LZQjgPgpb?fk0yZ&3v(i#Q z+7sJAbIH&`YYC^hYr*UXnp1VdS>K=4c5WS{{oiGnfp!o6X&7KrbN%}#YfLkXCh)wI zn`yWp^btP~j0}z_1qO(N4OPfjEqRaFz-MZA{hVF)O%rnuCeNWQaHc8{LrlfdWpnYz zr4ea%=Xfo!`aFbvBW?m}YhNaXnLY)t(Q~;2e8$dPkTaYe4>xi_?h=!=fw08wFC$!P zYAhNmvzYUt{TG4<_sbMr?)5JafJDNn+uF&Wfwph(&D^FhczYqdvN&S#iP=+!brIx- zrdznjOv7ij9A86`dPX6u6o$2zezKVw;`#o~7E9pgqd-7YNx|*sLF&P$2%wh{H>#`FJ9I41iK@zo+ zKHf`=RGRc-|L`zlb5&bQR;>m7*ICIX&Lr9(){>~|F{C0vj9Q&f>a1xvJ0}Cg zu_c{IR1Y}{xl_v(e6h@7c?6klBnpwbk_l7tc>w;YS zR`;hvQ_2Sn7?Z)m48>});y*>#Mno_rE2A2%;g#lAAxZW=oBg~8AN8$%Zh8AKp?^K5r#AZ+Ml}#PR2f2fuW6Gh4&ln;X;u+4XN{2|YO^H0`8~ubSJN%1_do#-O zCI4k9FL2u|>T@QjuADIGT~nVAcYEsd9)2Y z6zK=hia5G(%yKIY!b{mNHC+?2FyNd*~tIgzA9=Xi6)7vGe|v zDsZvh+n;j-87gaXJRaZ{Z@J_>>k22W-r{y!BvB*-2m>OLhODB1MerQm+Xv1aCL1Pp;S&R8XEl7}hF6=h#GnESvt z5rl;#bX-|^7L%NcQ;rv?KJyA)!bYbr5xdbzG^vfq1G^HEuFO-d0`AZV$v8ZPoae1? z+8|w)%+$Al@n`ky5c%GbCg?P^mv|D*lTI3$@h*pSurio@`7*Pp6c20yap9I z`6u}F<&VYN(2F!qagj_g;5dCR)170OI!PDJlDXMT0YGE`C&|`tXp>?YiqB0*<5L0_ zzbl$$qeNCu9?P6Rk=@s~H};NRZtq9FSK);-q=DZGvBg8Cx!_8;KVZqY({g{OKBL=gzetfYP#SZr!KkRv3`EMm z5}RqBwZ(_^gZVXTwH=Lr{VPRoX9d{^YDK8$5IQ?BTUQ^T zC(&`}4@TP*MX{J^do`5eSP;^K=>Yir5iA!9db;s`QZt;g z2{vp7XBqpo!d_;r5J%@iCo50*-{5ml)`gl=fibPpRFut@h8`C_H0`w4>g4Zz8~DD9 zX@ql!K$l1dFRy_6j1VXR21i5G@8~WSHL6&^?Qm#A*L{PU9o_##S?(j8Fp~;!HmF^r zXZX26(a<^8ho(}DbsMtN{^^a!0;@=Sn4$1<#DdvWFWeQZdERwoAH< z*lI3*7c9TIeYm+DG)(c5<*M(j0=jw7zB~Ty6>7g#w#RpD$GvF0Q@52qv(or?)9K~< z=!c<_e=#qqMedeN?Yr@arRg?4Vk-;fQ0tn+9E-ZQuXtT?wk$H{w}=uT295vlr^`l_ zkaPZ56)n%wMRshG!)XqU(#X}g;Zg>(DXd_WNeczcGo;+t3@b)R!%N&|Y4Zq=z$(0z zE=d3I0-}^?ExNZ1e#gcFnj#K>a=ejxaXJsD5_M!(4%mLoNujlrUuDU#gH#xNS}+Q# zngk|_jdpU%fWM^=tOd1~21P*JC}0&K)eAuN^ly}~hr39d99;Ah!TOicRqNsk#iaF! z$8~FZ)^GhEp!xq$r~;{2ONn4XBgi{2`dK23)sXcnp-TUR4pF2A9fM$%Dnkr{md+Tf ztEg6nd;rp1-Auw~5d{GoPoK(w1-4LxZ3KyEqkYgLnnqRzqA|Wblr42k8E&^iXhUgG z%-X7OkN`&7eMCLFP8K4JZ*-TxJ!sow9Pq{@xDl4Fr$Q0VoS-%w*5U&SwW>|Q>?J*n zYtxBRLXtlkKS%S=k~;Xjoj9)n92Q74N>deo#4Sqp$<$Ge*&3*a9umaX>guFNx@50Hepfz;N_i~dnmpQ6#)5Mus{G{ zw&F#Hmm$kQiZ;FmvS&(-{U9VJSC^OPelU!(Lsl5o_7EHj05cr4oCuAgc&N#cXmbJ} z$1e9!2_J%?*tV9lH zdqm<2e|DrZEPM$w#g~1FDn|fK>R98{ayTc9Qtv45hl9O9lH^nqDRQtS5ylWeK`1EVB7WMshYyGtm|+z{D*l2#HuDwJ0aM#F4DW?D>nXvy{Vt*z?gTQMxiDd$dtB6G z1e+fqbva&+P>uhGy}{|QH@zD7pP% zdafs?Wc-76QwI?5it{vnpik-}DT>i3Dr^)L3fYh)tS*^Vk(wY+KbQMJE|AbB#uhDr z@iiOY9KZ!)JvE-l^B$DqiCh+2Z`(}6T*#=}DQKKFFY(2;u zM>FLu@&jRkI9pLKx7t5}w?pxMs=~TPe@`26q`Afz>*q_jwPg;$$q1$?cQ9z6LE-7d z1jH7KgC3u8dv2^*ntH0A#v5P+rd<-^m(rUX)FyLkuaZX44Hh_N!^I0G_*ldNp0Xk> z6YD!QVh?C}1bM|GypTDpvJWgiY@MEu-e$;Ce5+Rf1!DSi3@q+}D^GXB{!~-k1CB=N z{-kkcI_Jr{S%`6Me0s$im5B>ZV|r&}Z8tTLVdtRkLVt*7yj&A21icfkRBwIR{do5~ zNLc_$k5Dv5%=r4e&nshuLyPE>J(WV|Nvo#7pEuuvdDYO9HJR7L_bRnL>UX0+o|`*| z-<^H9SjXIWHBkwUr31P6YI<#OR9;`54u*$2=loC8RAwF7Df*Kj-yWnUPKuO}{>MrG z?bYdb2&nKP#q1ZvTBLNF&_dMC&y3<>+9PJPv$eMWe0%rB(azele_#8SnL)Tkfws_3 zZ&0%zRrm3~E5G~g+rjkbmBHnQ-~GJu<8<=#iomw~^yf2R8utny@-zMUeDHR8<)F9n zm&tnZ~EwA)02g^^FQObXvE*(L&Fr(cs zv4jg*rhDKiUufLv0#Ma!N!z=n;M60XCH*adA;)8u2*u}m4j}s+ej3A{p#Vc@`mCc&L%4Af8D$`$z8M#(W zEr9rO=!a$H5a_f1lbBP{Q{JI zq`_sC^7Vyh0nbC=3rQ&1L*eroEt*{Rue#$jR=HRx3$n1h5e9yPdI`YBflav zP`271rJ99FM}hScJu~d5Mn{bMwSE0Wql!7}aw}Mcl^WIS#egW8 zNvN&~PdDuo91%PrTdBer>x2NO7}YLsn!AzfvDRa@G6FpoJ9Xre_ah#{>|G<{ZFS~_ znX|gOv-RrR&6h`OJDVOlLZ^3u1|4bbaxf1cD{3>)R9Fx-q3bG+XtoDDX}cEYHV0Lq z!&;nqf2*szuU_tNzS#H$uw~kM5p0cPG z)61ALV=JaCS0_T2{FIrHWz_8p_) z_?+u0GI-vc*Eha-^{vHR@SV61O}tL9q`@2x_kI?d!^74Os11NrBKTDB-A)l@xp+G| zpENML_l*fcY1d5={(VlLf8F2HsIQ@_nUbZYC?*U8cWM?Q@OnNP(C8*e_$v}DTl;6c z-@CPktNNzb%~(L!%{Zv==;q7)qrJ_)BDy9f@4xyafA`y2a}@V-{w#m@+XW}7{gJzr zEYr{|F#fyW>Wmgx*R|(IxJYpScbE?XeeS5QuHvT0^Nwc#+Cqc>k+?Q`FS|te6B~+` z)6o#~I%u!1V#mKQN&v|w9O_w!p~F2NFYIMO%m@!`?qF04DmE`XdsRGXlF!Ko6LV?s zkX~zOJib>`GkSv(2v5Ivr;y}9-ioI})YZUN9pwH=Z+wE;!;~3&!UQbCWdAm-ZWuZg zpsdQH(B^v;h+c707+h`L07m;`kUu5t=Jjzms4(k*l`Kdj_Tt|A!R2MRdeBSB)c~Fh zSsIHFK=`*HIwx3SgobT)!0$0GYQS#o#osR5tE}PvE~y2dil~5}O*FC3A>9Qts`)~m z!=pC{^&mkEL7|JkwSorYjhJ8AuP5CH%S(?27o=W}iT@ka|*bS3{ze{`copBx0;q6leRCC#gzrjr-bSu=bRJ&Ys_6E zp;R`*vqGz||A*e9j+g~V(svHbov>6+eLua~+uJITDzrSlesb{U5$w%JDVo7(f6o|g zGV$CS#k743oPe}Kq$jpIXj=>DDBXiK4n+NQMzgRpHAHLZKr9<#J(D2M(4`^VQen2W zX=f?z-MB|G1aP!ua7l||0knhdedsPS0p&~HaJcdgUC24wHaEC4h` znkQ?>lr(5&2#eVBfqWYVeJzD8NN|2(h1h`soy1KC=_c4$4p}M7EeBb!g;MI{DLw$A zaH&_;l0hx+cPVM-xTm063`v-pe~;NTU|!LJrUpKunkjB-zcL&ZSRq0d5u!g)OYH4^ z=Okj{!N#wpPpE19pu1LO4q?Pjq-}>U$sR*3<>EDr#$OYS@H%whl zMlUr+#b&VfH^+p1NMz)F@Fr3Huqcn*4Eo~z$caqJ~KcOD0Z3YWjMq%0r<&b{>sWR8LxxammjK%w{D*R2< zDSUa@)x-oaXRg*Az;p%z#gaoMxl>+RrA>VEn-ihc1_OJ(jga)S;vfj|8(IyVe8Ih8 zt7BMLZh;1L^l@!9n?67*3d0Rj??`lJ6yysTv*BB^>Zd}hmT4 zuL|YF*#J?L)Fq1Xop0AY;Efm-Z0Vc(QFFNxv-!83jc*$@gzzA?MlO(iIKbv~g$>cc ze_r-aZ-sV#2&^0bn=!Yg9g07e^qi~)Jr5h!6^dLh0<6ng%$G&@dgo>Hq)U;B=9k0U zO%dObuCgAIspw45=#~>f!QcKqkCZpb&~hs8@BwqcZ@ymsC8y(m*9tp-dCMsQRsV5$ zQ9q&0lP8BK6?Kg-K3-njd`9|RN`MITfUBol(xIVr^Q41F(R5iBF^&@!aq|SiSl1D6 z>nB}EhYJace7bmev6IP%e3Stvb0=bG^V#;x?`MrPoQfw*xlhxfD$+JQh_{I*G0Kxx z`Ju1Eow3bluUc0_0DscQq1+Qm=HnS=h#zcvdQu{m4*Sv9OxO|cs2DPfk|R32b%bt{ z8O)6Yv|hb0gYt7ghPnoH zf)E|R5g8mE00p+O0_$u0Yxq+VZbGc27>B9B#PR|LEHQI@eljL~=e@|TVW(|Nz%U1g zZ#~;u-)$if_@BsZbTV-JZw`u(ta$$HtcSh41pzbG2W%_^&vWw zhBJt={eeRwVKBfAPJN|P#Aibx{rF+)H$0vo({d?el%X>!WT;qr?;%BDd*N@WO&Fr@ zt;?Flh0KNbe|3z_<4yZ^S+HuK=pIGAK#2XP@yvt6lP+R!n!ETFtgz!V(SgfPCH1)q zRp5Dg!LU9UYsv(O&6m(u#e_O?maP1>a+%5>A;dS?+e!TOf{KdYm%@{MPkLrW|?P znuFDBT%bMzUc6XX^t+3g$DguZNE+-^3>KRnb`{m=VeFDPwdc|73F~XiV+IdaD*-Te z9b;6y98gxN#zUg*bwR5El}F^y9j%$qUA|eT1?bz$c3?=~gDyuT^lCgr0)@Zic_?n) za0rm2Ww;(mY=kHE;9RiYNU}Ldk$W=Y#!-7BS5WX%{D}YIzBQ5(^w|$%ToOP$VrsJ$ zkt_>ndzK}!wfW6|yx2Ng-`?NfNL)S)rE}0dC7i0U6#x(tLe4PK#1eP$fK_~vN)<>t4qc3-_% zyNQA5+%_7r(!te5kATivh)oW7waKMN7~3?sWV7?n+I}pjvAAL6t*Ar^A_Bt zJ~pP7pB_#=Pj>MR_Z}?&T~Zonk?!`+#!Gzc>~XZe@gMuL2bLit+vkE5H$75r(bY}g z_QDpEr8n4=o5_$(vnn>{WEtb0Tp?jEVX`mkV=MQDL_RDK(ck@CDl{#S!}n}=!&;QY?1-z0xiiYg5g=njqAzZ z&WDs5nulmg_!){?;A#gX^g18^Y@C4Pv?nbY9AS-w3A+!TF1H?C z2pdwgMHz7eDP#RM3K$<3f`)+;hfU(9u;H2S0*Wf5`4^+%=?EJpx3M4QB8xJQ{U75P z3?1l`0F+zCO)4sUd2?b5pAu8yhxL;aTX-Abf<5aP5oFEhCiL-^h?cIQutsG1*blL2V3U;d4d&r(LU zL#U;E`8OeFg%%5BlVIjmh{~?qBjQ1Pnw0j4Wl!`$v3GkHGuO_=2@tf*5oP0( z_q})Tdzk%PD&Ac``uDZx|6ce5G{xl~#m4T*zq2=!>AOz*S0`Qh|6mu{DXRj6Iw&9i-{+6zA1=Io()#kZGuu9X{9IZ~+b@1Mr>(Y@ zw*P9oABN#M>j30UMkj--3#^24W%xOFVfMDyH($M=eA!(?(WY2OX1;`p!_JW}jbqGP zFZ${>mD>+dDqzT61R8!5a7Ft?pWTX$Yeg7j7shC9nPo6f`QDs&4PaoUDz<8j4rD&v zE?Km8c3c&774bXsz=k-;O$@5UX`AkE5i}zQ}&F};uZnBB7IjTg<%$%)n75K zn`jcj{~XwhJ{iS})$J-lJXSA(^JBI|v#(vXitD!3BRwp-B=L*HoXjwaLPk9V7gwW2 z%^e=rY6w8Pm`V#clp9|{VaZqAO=>!pnKXmqb*2u<1@>S^3NFt)^Zd&nyi7m^);v z1IKKGX^R>VD$u?81jPkWz=hlO=?IEM9S89LQ?G8i7^o7HE=Kwaj&b^`cAZjYz|Mjc zdP(GtqsX{A)V{|LPokl>cxUIg=V#sERbR@bK{yet03<_5eIi&7D^liOnHfuOyJM%yTTsr9Tmqd`wk^YS|0|zvepSLVuw%qfMqf6A*BYn0jR_q z>KcU_wzRlrFH4nDm4@};04bfEt#w`+Dr_}o0HNS}Obv=~gRZ`}Q?^X<(PSUtb59U3 z#*$}VK`W)0QaYC!#>a}<&7V{-A750-z1#Zghu(OIo%tueJ}0IZ>Q?8gN8b8Y>*NUv zK7Dxlu`JGY-$<`e+wQs^X?q z%!`M;@iZLKCCao`s#yQE{J*8a!j3A`Uo#}G^}(VDU^j_^&DKA8eiF+^k)$MQWop{C z%C+WLs8WbT)DNMCVid$QjQF)0x!Gu3^l0>%$N7&CG;vU1k^q{i8L%a1LRXC7)!B&O zM5N};fF_oVcM8uCm}UWIFEqJ6vX+9t1bVvi_|?GALiP69Y<@-`6@D(#;pGZRvK$#i zmo+Wl7}lGGI_!rqto;oTQ#$n)5CZn6bbH{x;Ue=72ZJMYr`>qR9N58;G z3GFR*jB#1OL|E8cxPg*NK76E-FUB9N9BVK`DwP;BTLhB9Dlpo2OOika)Jo;mgd63# zmtc&t0+(tqYCH}2);m(;S z>9Pu>xiC@GH`~-QP+1dmf|}I;+x5rauKMF^WZz>;bLoPIaK5G?9sDGo9m69^T8u4% z8Y8Q&)#eaE3c(&qQ$PC-vDKIB+q(%~iGK(kL#BHX2F8+&FJl8i98U=0F6(w@1*@OK z?i-D-ixSB*FPwwwhgVd5QQXTl=R&(ry%jFM->U$HSHmP1;*qqpJ~^1w?#{JYbL~Qa zuVgTF{&;c4o}>|X=3ZjvLLr3Xnfyb;DKhHi98Z3s8!r_DJu6NnZJZ~- zF%P-I2Pc4$Ue41Y1o1PwOM)%JwV}A`MaqHYF9*Zp^DAij+LtD0$16!ISE!34vdyE< ztB)R;^*9~lpnC6|xJ#$cB!I(1E&$5#X9zFXel`RgOlgFD5$C#^{3~?Jje{5}-qedb zs}=I^+ncmN{;S&>7}W=VhD`zoEp zLF3xh(l9S?V8MjPoV#A69q8C;$r5GxGlLJp(!Iai&Y7iYvOayz-@yPuDd)Ec^S0zt zD?tEE?O}^-C)YaQBuuaMZ+qJ>Tcfu;0cJCH`7Nl_$)xI~lqI}|;1`o3&`-O8*$IG9*s|JDMuUavlcKJrR2;=YoYJ?chft*FX%8n9!XF0|JnV0P9FG z#~-@mGD{rCj^+yD=s_8u-xft8jtCqG_m9v5r$FryBH5#Hr~ML@%P(;fk`bTmp7RS^ zf*;NhZe-Cywosu+JaA9`qz@PE7^fXiTKFCtM+~)5gyV{e-*j1iaO3C|Z;V>s*uf=j zYd9DK-0GS-W^I@Zt-_7EL|jrSBOOP^ohsuCWJM$kFS!wBi{Lb*--c=BC!3X{?THFu zb)FUrVuS~z8=ITlkI&`10S%8@dUeB!=#O6QT`WTi_W}#?utj4j{pimqXu7T&!UlS0 zS+@09*Awt2<=|nnf-r2ExEoWqrZ5HbSssgZC0auN1l9`Gs#xX1%X)|Jc?y;fL9FVgPqGOJw5smEzelY43Coe#SLWqb?iAx@p{mnlIkTTqVAIB30=_5~7Q%prk#AhZ12d zz&C34FLC?bkhg)XO|FN>Gz=N1QI&?6MrC3d7*HqqB=DfXBAysD=o=qC31Oi#GG z!9!Eb1@vKTCHM4DXvasgL($aThhtV1uI=gj@Z*zQDAN4C4MXlHPK8+*zwbDB9Z zyPmKPMT<`ibxq%19l!6(vHwr&3h=DlZFgr^ESvR-O9!yddw0;!4J21zfD6~luX~L$Mn)hEPGB8*Nu8l+kMVl+US4%Ll9w_|g845nDIM>i$I*n2S z8!Sip@!Dxn^ZBJi)PG4~@`BqN>8p zmm0QF4^d(riN({Lhjm|ur40*H;eHFnK(EeGyN+dhG%(2X|Dnw_jmQD7?8d&?!`5hc zehu4@z5_h&q}2~_NyQ^qYlsly4$vbph;ItvF7YBpcI!T3|1$q>`#!G_XE@;q_n)!C zh$BbmI_(mU6~y9bv>6Gy z>Cs^ zwZDrNv+gxadZmxTe^>!aMU8YAnuQxVVY#Aw5bbNMUv@R2?OHs4wY9}_?lAu!Bh^W- z)H~*uf6H3DTzj#Bw_nu1)m;y~{}K@)`&aI~;OL}Hxl>{Z*16@;#?Kv!;AEx=p-POp zp#<^~NXJZ00DFXgB>+hWldu6q%E)@aBxJkCJ1TqO&XnCJsO62qcn$Mr?UnF_ahgr{ zB?f=dy9_+nJ3j7T$~x`ge+M`WCH493BPddNb}iRX$B)h#Ouyce5-))MKw>-*s&WFi z-vM)!NZ)0*#EWipjw5!Hc_u4U^C_v9*ihH+tEb4Ag9gPm&bTj2h3n=i7bjnTk@N#N zxO@|g5+iDf!v=V>y{}(!ah+#jCqG0K zm7~X~OODiPSm0@~YgvgC81o~3Q(!;D4_rJ@5o!k0K&n6zE%rchf`(?2hZi|&*dTur z8Wxyh%i>XJYM5ga|MTh7837lV4*IV|bRr#_g(K{MrzXpSmH{T>wJC~{F%2dsF-vbT z)0764+Fd3a2zh9Kz49c5L-ctjoyA^vt!_Q2Vt2oV!aLeSnCpy*MnP3k1F6Gdg2g}b0p@miP}9wHXvnW`VaqP;+i z53^O!;Z%S@Q5_(`)<#L5rJV~eCA>xIL;PDO?YlYnR_87$7W$_G5Z>f^B|I*aNO*3V zgQiu2v~-d>?PQ4*Fu1|MLnICLVO55q_pAq*n~Uz)QzAY}nFU)67q>-mP1xVdCdB9&V$VfaPNFV}D%O>kZ8pYxND!9W2u2ZXel#lWEawVbab?#9KT0 zFqmK){?IY(4~ky>F?<<>(0k`|n$PsC@bV>$vd!&cj2&~Anu8(UV(okof(H$qa36s; zv)-Vo_1@5-y$!rsG@BKtxk1yW?tSKV!t2oE0oN*V=Z+xBxohX=P*JdE7#W%W2@7hb z?bVv9vgQ<=hkqt&pn0I%*S5B{|9tf7<=V4n8$0`J-)wCh?cqP0Tbuiv8+(vd2prXa zv-jQF`u3ku2zGa4XM1mRe|uLy@JLc{JXs=KR+j=-{$;Or`|n^HA-6`}##e4tKu!Y; z$%Yn4?3fqM%htqP$^r7wOZk?NkvRv*sL^*}_$hK5M=U`X5u3vY>B@2lUu(T{d>uZO zT&t?2)_F)esllPhFqF)2pWUpzz`n%A74p+8oP@!76)2*E2*uXMngns-U9u3>7jYTt z-YJgqH+3kI7R#VBxANlJco3~Z427$!~9MFyNSi%)<|YgtPX0#R~& zBN1Awt0}3|-3{a-+fT@*yz0|zq;0h%zgk~?-D>LLV5wXnnD7A;wZI+35yd%^F;r38 zoB~7=JH%w-7xJV)Q&=ZMlGAo{^i!G_cUPSyBqEDI&|s|1*)#d0e&_iCe;SsJJ&2uY zRwORf-EZsxR3lFkjJ@gP#g+HC%sXqLA!sz{xJJ&lH4 zc<_LOFkr<9OVRDU)!2IbHR7hZ(?$fjL@7sDFo+OQBowdfsDh4^oa__s>a7OBrt93N znT72>c#ay@#ttj9DkT~8q{Y127W+%RMHtyQ!GR)8y&>IXY{}wi#^BumVzoECzQD!C zp2REQjG+fE$}gQgfbZ#cSsph{j0uUDa9up`UP4-_^G)A~#ji&WY5B@T!Y8D9{cY4Q-~bagwE84OXTvS3EJMo$}c3HDNFDYe?ZfR6B0 zt~MAS2%$#D8mHm$CLYX4bR?#xZzn9<6=!b_=Y%56pR zgzyCpstr#DyhBj9^U^lsu+yBzRl8l@MJvU5Cd+ciEUhJ>of3VxbpEpnwGuG*gX4fA zdTm-*JJLX0_}EP57=E&=L=ZyrDO_v8@2EKXhU8 z!=cwU0(pZ9Dx5o5n0C_HF(~k4XPe9|G&eD^NmE&J(Yvf5$<{=A45UB|A=T+J&#|cb zFqRnVGgCH)4y{h$`H0aulZ6PNqjO+WlyL=g4Wc&SMu0#XM0JP)N67L?jD^Y|K!hFv ziyEFlHQ@*PkB4QIP$HAqgH(N`4lg6U{t<2pn$SLWVxtQUvH_+cOs0b&k5p@gB8!9y z{%wFjg?%{&-#HH=fCLOq%kVRqf(8v;U(H61z06o_i#^MiIz zL5IAeqT+T!d;;=G6bPzDAOtzVVYv>kNT52&@d~N&9+5O`O~o##AYC}cr!r83cySy? zOU~Aw43I7=LiB=cw}PVDS$I8V0%1T*H(6i7aCjGXB?StR&gu9Gn!@S!G2~x9fQVI~ z*bx$X2>7VlwspGEcw$JM80&2W%LGUwV?>WBC`k>KiK|&vxQew}ZyFQPw_yx%k@47I zh`w`F9o4z0&q99&+pQA0C4%IShuQHMN#DImYC;-`hP=;yx`l68Q(Na`AA5yLIoRH` zSE3C2;g#)j5?;n#*sDdRO|J5dJ@M_>8=}uBHAZIwrq#Xm03II8)>d`9Dw}Kgy3UWq z%A|9U10S2>+vtpux0w8@YYo3;^n>9COrHEg>%{Dv!GGi&N>bexOJ!&^u6Lb@QDLPy zAIQe;XKvpUzG|5#+P!~`4CZu^}&FX9N=+q5&^zcSQGe=-SsU_#iNrDF$e z4c?JYVCQi9M~LKH;IAK%EYGk(`VNTmYssG5?MHxtmGq;>?nPq->36gk#P>IOLg#{v9^kU`%gvGk{-8}Sq!8F}G;yF5x3CYhHXiq|;pZp@L* z89pKUwFry}m|)f@fkl}VM`8pg8H7s^J6u4zr9GL>PP&7nyfM%&T8)^@EaCN#+=Svh zsoGrE8N#ZO{+Tq$6_!@i+?iay$jq zRes4Aw1Ld{CHrbdKzigF7PPs{ursEE<9NK>c1c7c^(V?@GG z?EQi|`Y3dTP_zgb*f$Kc$loG!D<2-{%MjvhzkVGafr@yeIUce5dn$IdfQ$5Kf*8`* z-lZa0_6E~t=}UZ}4yvQG0+-6fUno=F$e<>ZoqlY!z7iAGCosFxe<$oxaEJJt zZ4>j!q43R8fBo5D=;sPUe}GhR^icOUWqSHVwQy(&@e;79`|k}4=_-$weE8bJcwsm} zLb$LjRqZy4h$o?@CNhGAM@CpsFK`{;X1nUnsD?-WG+L<1Nu53dZ|EC*^0!LLV zbKrbH;zY@0Owa;7+4|LBa0$${RGGZ>@nx8w=YZR`Ot6Ir0@7Q!p1-hQN+R1~tzo*@ zKg(H)hGtxYkVv?e8+%y#(t12PI+iU2-fv$wUa<0+sB#IrVmMu0O+O0epBUTK2od!f zFebVj@`>toc#6Jk&D)HMxCJ9lw;XD`Gu$4cSOajDB|bi55y&D{4AE6NI2Jg^Ddm3gy3&isTSD)clXw&j`mV zJYFJS>%1r&LL3Ez2b8Zo0r+PFl(u*^KL3U(WO(R76P&LFud0QHRyF9|<|xlbQHJ5o^>K#Q)Muv$650YXv<*w+SJ}HLK}4;IpCQM-Va&>eVH; z*@cF7v4Ez(3~H?IKA4OT`iQ-l zDK=u-HffY82&OlXY?0jUtLf#{v~(jYWO83SX|ePI^M&3qFX3TJfP!n*lhsFtQH*yA zoeW7FV=0%}>JLA34~K`StBGYPfCXCQ=!`;R4vwbt)S#k*;eZZ!kbUkhY4?F>h#!eW zaFyQC3ZOR?nO>IT9g#MiT#fq>OG@n`U>A3Ya`=6j;|!L^-_f z!(+#eT9|QwvAfP@8Xvub1o!zkHftnd!bb8|OSP7ZTt|_dhs4>S4M2y1`O_XL!fr< z$^}ZQXb2cems3m)Mbn+4hTtW;Q<2IYE(jpR)e`h1P(ha0VMv_Q8oLfuPNyK+jx_Ir z2~V_AOzZs&wiH?O#N4Xbplvv%!}oa!le#|KOD=6rzy^yk1IXh@+6`p!jBod#=wQ+4 zWT0Myd7K1M+%HYaQb*;C?llUgqd7Prma(7G(D$)xjds=J8TS-T>!H!T?C3HP8dYGoKs`WWz>d(%4!_)pcWOf545BY9?aM9nqxVRE40BBug-pEIW;^Q>m z%KwUh_=0~PTajBSKQ&K@{o&pLP(r1`U~0JYig&gs9!#u0Z2g8Ni(>-DPZjcx^rP25 zgtvc%HPUIn+J6QgWCo(trj4QGI!>l@sr;)M)Dl@<1XuWwh&h*o*_f`*seu$iyr%4V za*4_?xK0A$9hc=23`Fk%DjYiRol0IP{wve9Uhq=_pZu>pcN$V&4Ug+tG1~XDG33s+ zz~eu#t_x#Izxf4`r2{1J0XiYH!mWGs=J4}Jgd-55eJNG#eQF0w`j=o_|4fnY&8Y4C z?;7N1ui^rfA@s@BB@UIrnx9(`#YH#-vd2JA`h8}ddNQizPLaxW;(oD5`(HY5aGe)V zl24xgj7!CrQLzgT4&MCn^&gj?;xAla$1s@uQy)&9D7zRu9qzWw}<)FX9|NE&;$q({@lqzAvdU5w_J(KdbJ+zvz@; z3!Zc-&2~edvj3dNxL6O-T`8}`Qt!D|{RBc03+5X?I=*5CT>#~mjR4j~`^unP77CPD zP7%e66@?G?5fYe?UPIDR(Ux}rB=>h@ea{Rte&Z!%iw;A9CDek#$f(Hxg@Jz>M*Ma# z4IeHTOhkDK9?(u=85)C^sJ}cPe1PIYJ)hoWb27mxZRfD`Wp3uBZ&c`_d+R33f$FnY zLe*_XX+nE`U-$fMbkVPS{zLyQ4?F?LydQBbz9YxieMKW0MnVrG<6jJBEP*i3-y(U# zu$jbAZ9a%OF$2*)EY85y21qF+KFb8s9)$Dp^xN_1>T=R)|4XbQ7%KlBc1PpWN1cN= zk6u4mw*Nj|mMaNSiudP7PnVxAsb~sDFvJuh565R^P@}On%LF(dPTzGTZ7z^e>T~eM zjb9;p!~l}qqtR_`PFqsN5`Hr?4Zhpo-`Q)i9V&+QT6Mj!dc5iDD~i!nmk2Rp=@fFg zFwvSO9$!DvTbVkgLM42t2O{yoV{LAX&lg-pMv9xOf1dcHrL0ij-ZMY2*P3nRi5Tv*B`L zrhSkbNcnr&aFgC@)Op5E@?JP6VVw{Xr8jBpMZioeL&{9V7sGNp<=vAjf+kSLy~{y2 zTgFFUb{{_qc*O4CqhIm=Km8TzkUKVodcv>J`1;{JYWgF|%{)S$#`wB(5AoJP|NLYk zzFK<)9M2n39s#hF`vw z$mO&0lIQ|$9>(z&9Pp zA4N%C_tDw(0ztycNKwouAKAkMAd}8qwK(y~@dcYW(EcKAgtvvQB6^_^@1Shm+U7x# z5b14jLVXwh)A+G&yu>3{X(}2f%Q&TBCNl3JX{`CA2|QZ6N@ZixPJ+e2pZZp?j8~qB zEVZky(w5?LxNi)ElH_Tn7FQxkPNPRk5jC(2V*+mhu`D4lf3jjO8}T(kFEA<38rV_< z3|4Ij{yc1DRiqstm9u8oM=--a1q7%7V5s)b4%+6$fUkILEvb54*CfMP@-5Iumr@V1 zp$}}{F=C>)O4{L15u_MRxy!^P?}H~hka0ZryU+*Ugk3QG zDCrkWLt@fyP!a7&iWx}IQT7>rz|ixEawupy4lzBD zy>T)`*d!7R6At}kCay79Rc(n*qGp{OQ716lxbQJznF2=>B{<*|O zW6nQyZvdCw`uH0N(F&&om@mPF1N}Z^h5V^s2PA-3W*Pv{Wi{T@L;+#tC1c?#ZT4Ng^ z35rE;TUBof1nj7`p|6qKZD?5K?L|#e^1d3Ui3DhL2NLi=)0Qe z*GYOpl`?J@D*rUHNXATN`#**pAWkj@Q~E0EaeRG(aLNrygET=2fsP_KEZ~5EDstDu z35!v_uzL`8MZ~BWy~TQX`e2bZ^?Ehmcvr)}veK_zes%rQ)E2pVHA z@e#ORgXcKLgRIStKMxb6ul{KwBH5Y)0@&X{Tc=SOeO!~9!3bnHX95zd#Tdc?nts#QPZ4vaq7+!k|?I*>*yKyIRS_{ z^FCnYLv7I1LxwWKrL9hN#|-yBDB1gt7q_@DWtu48_%n}SHg<=GDlp-YM$TqGG-8g>uG($4eYAw-LgRk!1S@DWg8=u)VN+k4JTa z_9voNo^Twr_^~f>=$dahmQl>C6|yLZ`y11N5 zkovjBwdsub;9O8A9ppQMFjV!OTwPqCa{a^Bmr$b!c>#;m;i3M5<_<1NO(#fm{HvjD zzXfb>at0ZgZGhO^+t?`kW0D>hu*zid)$|3OwJsb|&+d&o30+(vH<)Vjnm|$qNX{bTP-2?mJU)uCpAP;hwVi4VRI_K8l;LjkTCYxZK1G<t?5!)1_nHS$m zrd9aqGAe%VW}XN|-K&E{`w5`f#O2#$lfBG0;`Ar0hmQ`qh5g6Z50Gpl`A7Qv5&up{ z)7>R3EkkI=`qh}moK#ftHo97T#P*X!SUv@9qMp5?0=Rot6(Lm z(q%oHHKsNRFSkzgs93yhL};70wkN}ZAE#I2A?n;$18(jayv8G7gTC!%84QxwZ7eW(7u38pvD{BB=w+LxZw&fco&YUnS8nO zPJsfT#%z~dxU>lH+ zE7N}Yv;QiJ$uO^ndNeU z=rX!v#tKz#R@!WJ_4|$8Z?^X~61^P3xA~Z&236eAnc=!~tuyn;cJfrdx@pt%7zI^|0G zjEF1JG*yK=ZJRv6PY8iRBmQ)7c=+hGu*IXNOMeHU$(^yWgCc`7z90k461wepE{b<( zHlKnDX09@Z){;SU6mtopS~hZ3f4Fp`MjP-@ahx7w)I5g@lEHI~dd^ZC`54+pCwdLi?q8<4KC-RkP`dA~Q@7=92x>lSAwkrtdDhO|jB??K(u83!jr+qsl@ z2Ztsb;Jo$8Nm5^yf{8QEZ;%L%)H5|q58kZ4et?8q^lsKb<+y^w7`1NsiDL7M$aU@oZoZdUSM)z0m!wJPe^q0bX3fH#(vBztI zn6JM2<(H3yfuZsKlXr}l@8uk~owUum zknl+C6c@;AH6Wb82zi})5`&=?L;_$qNI}M4Yvmz6{?H%dW?dMN2^gk5RGVTBB$BiY->;1n|lVBm%hc>tD&?=mb4PN^$x%!HG{BGQK7Q=l^5x&HLKA zvUK79`4kEvB@r{&j(aF7v4b&=-Q~o*fKy!;Y_34Us0@gfz&4%ayT8w~hCQ8gB;g^I zzQ1-?2RLV+J*>U={C3dlq}W+Cs6q4SirH&PxUuk znGmwzCxRhT(*pf!XmpwYEJPOLNvt4p$xA{@Ili;kT|TDZ{>#1Fzb!(PJ07ocimRl! z$eP-Jwg1chZ^)QZxxV|lj`H#YTvtc0<=$N>f|-zBvq$F?mtRbvl@Eisl?N7-B8M^q zt!*AS5Gem_8>3(AW(0;woF)709)f4Qm6vZPbI}`bkB(ciK`{}_CY46RUtYDomTb1w zC!6b!S_vBzX3K4!$UvF;_H}FVLF;Q_qxj*Qev4^wt(C8Re|2VIizP1EnJ5Xd%uxw( z0Jm@aopj@wZe|;A9Lu+geA#~&49F29dlh-t?_{pczzAz?=M~N{^jzd4;}=++e#H-f zY>34B{^Eo0e_dV0gZ&l#d2)3~jdFEL;>gA1vSh1$hl-3zOeN6)2flH7X5 z-UUa9;$J{4?q4LsL<_RZ?0^>;fQ`#kY@o7v6&sVawLCZ#Gl+|dArh7-VL zyMaJc)CEJ0?>+JFkn@c}?axqwP$`Q90_m^(?^jsVSBU}k{)SY`ZQN#@;*c~LfBXS6u~f0tJ&tE1ST%iv4rxP+l2??^$`j< zyhRDGnzsmt>cOeQggp!?|8QQtwkFPjfeGhMD(TgIl1XEJH`BXu(xOrp_!)^uV(V%&MtT&n7$p^jq962HQnvHd z?rb>CgmZmeFoaA``RF%{sErmlE7TQU-;1wf%ndRulIrcwkLmri^vOl<{Vv1MRqPWv zHR*#6=y&hlk&hXl62-#ik~9=QwKpO4wI-j&+*OX3#tsRn(g#F$h0rH4bfu8VJP;sc z%L2)#I_re@L_Ax$#2x^r^yDPgBrMSwsIWY1 zE-_@KAx;{U=L}3_JHYEjy`duHj0f|2*!UFg6E;GIt~uo#Ju~xVc9H}o0cTx$!pUu| z;Z<{JMJ_Csq_Q#Wr3A-^%t!i=<=Z48Flj2#-4EbY_mfA(O#o;bCKqXIh(iTj*DnTj z^QXAs$5aruoPr=7@Dm?{{HqING=JVcYw zM;hkJMFa$q-4dD^<1r^<-YW7|4iP2A=5cy~4z+Sy>EwD^f&w4!p*JA~6r{A}VPtnV<#+1D^(?%hMEg7xR_exJ=>r0i~~I$N6m>?0`V`xCw$H?><_Y*7!O%b zblBW`Nm-FmmimvRAq6(m0Wlr|%Mr6zP7)a^T&)S!!K!qXhhCK@DQwE%F56r{}2^)fS7mXA^N8O{}P019+i z8mmlKo}MTY8~S3{{a7Ld0w6Jxu(R8Sl0G=cvg9LjbZG#RPnaf;0bmuPs+N zbR31TFnxZYdDK$d$vTKV%V9`o5?r%H9-ETkm9))8{siMPRN-Xd#>X?s14Km?{HjKY zfJJI=5T^-TAN!*R`{!ay_tC_6g3?WzW5r+4hdP+#sjAkQ)uQxOclO`iTHGIhy@vnq ztlU~uw+X)nf{ErXYm#%Kiu_%3Z|1-*~H=Z_c|+IKUmy<2{Q_2@MW~@ z`(QqeyE2ae8m&Wv8`V3gIXyVTamazSx8I(B`2bxm;s5my0iASv7cO>m#|zY87C#ee zr`sWyMXHpnW}jJD zVm`fv6vb4Pnz}tHc6A+sGxQ(Yt_+5& zBfWeknRhYmH$&X5F+;C!hReqT@slycVkU^34v@Lhz35)g(0yoovmux)fqTAiueGGz z%`gzZh#%Z+G{lsS`nWK1I%?5mYpriK#3dB^)4}m9`|M3+0K;YaHDO(vw&@qc)9z@7 zWk@@Oip-9vhga9QPw}9OO*ua9&vFV0DtvW@dp+fo8^Q~P@!z2KGkpHjcLhmQXuN{P z(*Q(g$;n`r>08U2&01rPIb&pF(aIo6jR&AB@O}z;a}pyWhcA{62wbE` zP)PXM7nLe??J-=sC}II=f?cYvUTt+UL>jlZ;b;{O$q*C-Bk;Pc<(Ic^?XU2Um%rRy z`sO!fj_D#&!J>&2(~=d}9Y|E7S|M3G&4c>(U3bL1+xw4IV-xRA-V0Lb7$_$9_*ya> z+-2Z3U|=iXu6hRybDjduAnRg2ljK@sUqN@PCUVkWy`kcIsG&)PW9k(af(NEe&1#BI z2Wu);#wmN5m`|#$Ngy7VMvdRS#ndnY}vj`Pu*#>NtW!Pd%kXoKts9lcXRX|qPAn^wF zT}2lRDJjKJ)Fz+<;EPJ?eJ7~^ zL2Y+{>$o-U(zjbK@y?9X*yQBw*m5SElcb=UXRjw1gS%Zqv|y<0Wrh$(;#m(#GE$C| zq&>db0G#(59XlUl%3ygj$dt_|fwE{?0S$JIDh^f8fl;L_jxsNNNxtWmCb@tkP6cm!{K zW4J4*HD)Eo>hbU=$W;yKe(4E+vi=Z-oW(QIk3tvw-lhGFbad;5> zX~G4Mun}1KAD;;)K*dpX9pSSQ@b&T7q0^lmKa%#u5dBjYPK^_b9$y`T1bY3?J^CjZ z%y;JwHddqpX(!bG^~o|Zd#q}<1I}&|=f>-!z4q{s%58>ZjpXj;XyyaQ5qWKILjM)r zyjg*Azf;U;8Lj)}s}2k$pDKt6a)F!d5a!J7GzuN9CmF^_$>}(A$YY;5rtKu-qH6QUegDey%d| z2bU`NL8AHo05uAPyVbEbM&R(sGWsQ4N@t9zA(Y2A)LPL&#~uPQhj=?^=I*)4;}(kh z2320;ImXVyt?DsGVe?>bThpo#hD+_38Jkos3hhNcffS~vZDK?L-6DCU2p)Xj)G0G# zZqzAdiaK~i(Z+>5IXApM10FV31crv^djo1BAi@@Hf0pWOSn`vr!#v*?4}2eHN%vK# ztqwIo1n=Yj<-ISY-w~i~7FK{1g z^T1)*jRPa#Q-`&p7=AfIZ*Y9vu~*s)SU|cO;-|6}hk^J9k8rOx)Lm_EJkOGT1vfw*V= z%WjW#H9OzZoqj(MDA1FY_P49@a51kAHQ@;OVf<#z0Hf!6#tMdFP-upR(~|&zl;uvC z6yzsi!*=pGnLk4HLa0vA9-j@MwaU3itx$|h*|>Bux@?pY3r10KrNmVR87KKR$8&V3`C_?z%l4{Qd22MvLw=cYGJ@h zH34gm0ctf2&QTJOel8Ys3X@HXBxI~1+l0J&=G4O&dQU;I8H*OyPmmDmw%}D@O|sa< z)br?!VmjidcqaQA@Q$QE#X8I-pk1d1*^(2KV1!3&h3b$M)aZQGLxRugDRjlrB8z7w zxB?O;C7uHVPQIm=;)xG-lm3Dz>vL7c844A+QdweoJ30b=lT zk(ZmH>|TUlSR+&vevt?5erUWah=YaVC>8eZx$F7_`<>dz!su4#wzSPmkGK(`Ar;lc zR($Wze@^I0ljIY^v*RWZ-0ZS6d4-k0x-9P~{QH`!RyBpLE?K1c2m$X2nmzOMsMsUN zdvH$sQLY)<<|g02sLOJP>Wl9;CRKyK3tS|^W+6gIaWmpIX5A~asu?wrsit8EU&8x@Lfy& z63DB`wqC=k$I(!xw`Q+3fYJ^eDTKADPk$*3(Bd2NKPWwcMl6S(7(xL`^x~ z8eRd)8_a{QTg3oG8dG$Myo+8HES_<2E3vgp=%gxP9l7I?0=i0c+Bk9+iwUHW65&K| zsO<$!Xo)5+``|Bg(ekbhX;kHJ?2CP8@lx<(e~TEY2aEUr()xPTKmBf=HSXsnMvfn$ zV=>I7B6=F%l^8W+IMZjWg9$b#MI^Hn-W#XhPP(x<2DVPW`FUar?~^P_wl0+y^3}8M zVci>kTO|2{6osmp_{yk-m?V4S*3U;{eF8+|KUWcPSf*L{qnPpO6L$t|jS{Hu1DE*Zy*dm?fQC(rwD6jdG`x z2aEX$6~!+RQQsZ)p36;gSc#dS-3|(KFv{nlGT*`W<`0|yi3Yfy8K&^ggRO5BeD~EV zt~bbUeXF+O`#d&iChb@>@BW??5?n;RYfbva_uBOCeartv`>k&w>0gfVHST!EUxYkf z<=6RuK| zTwHf=v^0}zqZRpCijba|`U|69BXwik?>!RRJod#XPg|jiSjL)EVtaX4BtNzEBLv<0 zQ0Je7;%*?k6agfN2y)cWK3+g!Z7u2u zPAlATi=!=tbodMXSj5}KIovT=G@e@vX+}|^RQdD4uIjmw7z)td1eidlY=`i-L(TcdUYjQ)NXRS)LEM1LP##qCe=W$O_C0xcwk^WYAA=w>s?TJH^DwgQPyST zYiL|}3BT+}b(}@1x*#Q)?F90p>|}rb5&~gOX*zqHd|Z&FVM31HhMDC?x5+z9#J;hm zbk{CCFs58^84U6Sm=h(UPW~r^&g^wXgwJ2|z~oOvp(n#G1{Qn9|K`@}*?^D*st2Ru z|5G<@M{|#_kA%QzEf7yawq)J^yxiI(=urthC?$oJy*BRsO(P${efq3bppnFO8+Q^+ z2hyY+0I_!wW5gm+!uD^Tg`0es3;=rPU`)V;UnRCtl0MwJ+eQxV@@ggjwz@P-TGj>H zGsE@dl5;_Mh(OEjHlb^6bAU_|FlEng&1_hqX#wEc#rco`e7-n)5ujevYxA0teA-EC zNlZ|}!Qu>)4lpxkUR2x_2kO&Z(KKwKkVP{iP5fvA{Y*oj-O9q~)PGu>wMsyx@xcrF zv5KRF>m*36nSeh>w!BJ+GMd%eL8RO~N5*M? z{S-FFuLoh%M=r5W`hJuGxm|;Y$0^hN4>DXaXusSR6DEweM6{7hVZ+ zOCL3~FU%+~g$Waxp+IzF9h&@X8-?d>%MTEVjO>jBp>TW++DVr1=e$nYN(R-QGZ8yJ zF#6y6O_nD7zHW7|-F+N7#8FA) z0c{(l2i>8>UL68uv+w-K>rd#|`U^culKdn=M{SsB7?y*)GQjfoUp!e$+kzFsM~zJK zTek%8M<-og(Lm1C$xTqv&nHdk=EE;nUdF=5mwT_TP%nT;8gFms6BU#gD=~mJhG_>KC5TYcW7$%2 zb&5CPv|D&2=d{?mj|CW11o3J?92}@&t;7Tga-eN6`9@5N9H~CZ$4__!zRU_|*ebt< z1D2b>ve+I}O*$aO@+d{40HTcO0McnTud12=bjk#{45zBny=nDjpiV`!4Gin;0A}z3 zs(Is5<MM&ILC> z^in8ks=$^o;1?8~lUbG$T%J}S`=iQL#AxUTR~J9HDC$?1yO?8Ix@%RHjL-bCPZya{cVjYOR)l2KZ(bQMlJJ;hjB$gGYiNQ4AwjtW4o+KipH+HbehK9V{IvZK5=5SQ@^KR@P}kWR zu%}{h&oJ{35i`?-a4}#pSnY2Yxz;Rj2~+M4(e+=49IXhhV^o-7-g4Oi?sz9pIk1B@PY|MTHB`dyr9i<3yg~0Mdgkk z;10iJs>GNAvyo*?E=mG5150_UI2Eo~KoK8FxPJU|uicd)4o;EQ&VoT;;&4Oq{C1?gkcCs? zdVT~vu!GE4hiwbPnmI3rp@uVH0v9Xo%(kt&5-Hq44q$cPPidsZ8hQh9X!j()HTun~ zR=|#zfG0%b$c)+cK3EroQG+HQKpww$`!>0(tAWZ)Hpv-5K1e+Ibu+U4Wo-Po z-#;7EhtK*XaO*QdA18Nk1mjwd7>fw;-k>M1ZNs{_4ohyl^ApGUG6h&-xt%=w8K$s+ z&R8z1Iu+;Upq2nnp6`YSF8Tdo^WALHpE%!*fmosE!B|qjHs4<`^~fO-*qfqk`azy! z0qqMr5v~PRb{YIJu^XNg+qwy~+c7c`vYOLeKFh&RMotnY+OY-?3S9zmfzUm~pYtMf ztp}nMFR*`=3Zl4>988K5B1mY|{g0sWtZX3H0p}Dh+ov4twW%#lz=y^zX=jPx_&M^; zX4v0PlWi7oH-||TcRv-<3E!-hD0JID3nnH4{j}5;53Bg+)Dx(N9zqZU36L0@M4NUw z28Y~&RVj-Vv2akQvq-a~$;`2U7=CNUfIjkg;cCKlCx*i{1Q24O*@W@8kMA%Dp>YX5 zMpnuxSa6<9!eJxc_4jZNj!_HwfRqO0xy_n>j!^I@Z54AU;;!8=udLP z`6A8M*@rmF=Ll^|okr&R*jr!AYIRq)Li*QVcu}E&7>X0i2Jccb&$j zwH*u1;;|HehGeS6FOoAnxobgBmsYdY$eT(1=N-3TAeSpz<0Pa9t9}$FiGWp5JwRFZ z=Kwd@9V58PiIJ8&sp(m*8vN9B=TE-}ML6a!Yx})hOgxcL%nUTKXiI{KS*4bI1q1~6 zNlAr%|I6j-GE*iejl8Dz^W-&^68N{WG#9!44fK!t|K@uHfL{(rbxj!hgWLH~O|p3V z^!a{5u#1<{`wQL#&3~F|^5nH;X4IycL?SB{!SG@7B)S^Yr+MyR{so2MM+2;g|4P=- znD7u6JNdeF70GN2iVyk#=K#p!)^DD^FJ#Zy*$dINU4B$bW9(j|aNiz{mwSVeg?LAG zykb7?v;!oqn!^}j>sK0_E`34U9U-!CI6}2)WUEmBJsl2_=5;!F)0gaNSONJIDhBjr z*Wt}Ix*&Z3cyVEqrW>3S2{=LzP(-|z@_kw}53PW|bTq1MHy!4BX= zb;?Jx70gnyv3oA&1WlI=c4tf%(hs0&RwX1xy`fW(QF^SC3Mp%)wF@)JJU;Q6t+eOk zhEXu08N;X8I=mLU3KBGEjl?$hM;3e^`~+7}$_v>0n4$ zESxA=Fn}77@b*)!73{*SQgUCX_3aQOd%UfprVfg^kH?m}Bo$WncL|o^%C@$SN5eDh z6t<5r@IorxYaTGHi~aPHe31YTSeLU4U$MDq5-h!w{Zok2zXx02$3A$kc;ksCf%I0(eYRZ=sHh^BjbZw(Tq;nuP3|~ybHo>23=sX%t2?G+rCJBeX;2TQ7ezRs%akc!YXb2s!DQB78s4VIA3I*ef5}vUS;6nF@00M$3G0|4V9%z) zouAMV84O4$<7RJOS=uc1amv^oHF9Q;)C#W`iBIJBmPOe*dEJT~z=ExT2rI3pJ(|0Z z2T;S$P;5sS2+lVIbxmJuEiWN;>uvuWDSEUQ#!lp%Wzh%Wgm)#6YewX$qEwxA0*{<+AnrDATmyX$Sz{r7%J?MNRT6{Bx^D=M}EK*&pL7*ND6UoPP}PJXqVq6-6(<=7rw%7=0rUIj&5GkpoG) zmf%7)>zwsbcMK(xy&G(dw^2%yqrbl^jzB44+NBZWPGU9yYZ)%Jz-VE2bNgFNDiU!} zgE)Hq{soSL*nmOI_|Rh1GXl|Re+jA(3J)VQLCY+x?Y;W`<*n}*A3!}iygGW*zvQ(< zzcMRfjG!BQAvcDtycwLHpS$DwYQp6uz zQXkyvUc#x#wiYW3)f5`3KH>>8Fh|2Tv#Tv&gREdHH{T#!S5!Mr&0Ef>aB&hMj!0;R zjq8hrSSfsZft&E*^IGV?hsgmFYvZ9bPJOMc*1%5=GkATDsFfZmvZJ1MhL}GD+fr5d z!PizWcF2NU?cnFn5Z)tG z!Dgz6R;PT`8re+Hl5vO%%5*3XDGgvG6sC|AT2tbJwhT%aG_+8X>ZjT?4=o9w*9_(D zg>Kn<&f0;N>ef0vAfUB#5G>!nxW_sZ5=C8k2h-Eh8wf4^?wLecR~m@_f9u}H=>P)q z&PD%7%vr{Y4a&>+A@-ibs->+Yc2#w;@-owG^6EhmHQXkjM>Nj2vN@I95CeZ{+1d(r8 zK?|aEy~=O0B5j{i0^%u*@sT2All9Kn#O(Db29w5QE9Y{zMq(IAWD_q~kPe8~jVBzG zgZ7bem_Akv8P@|!A?GI6p@-exkNwM&VQ&Mab2s0!(mA{eo%T<>n++C7)MrC)y;W=q z96#rQSSg(~7f;-V-$_Up(UEn0N@;!nu;V-M>&3mr{li+Zd&^iMD6VkS{sDP)W{js<4zl&y^j5p!$#cOkfd5hw$I5;<;w}B!Jx~H_D zsY*#$g$j~avJvvA$d8_+LEz9w8g6jJgOM0aHO3Aq<5~9<&SZetMR|M%i3~nzl54{P z5EUN%&GWY+qf_KH1HPXBlpzWzaVykiQF%FqcMTs+KO-ZUIEHUU%`pDT0A4eax3G_= z4#rKb87SHJnn99}d;m2Z;b!OqDCTs$x5sbKmjwfslbB%Y^d(e9=dhEZ;PCmHETqe?oj`4I?gz^cp)yz6YPEJ`$%K#eoWx^<=FwHz2do|(Pn~3m< z1P|n=nGAiWqPKw`FB(PmNrLzX>LtNi6oe_Qv#I!}l1}PG1gK0X&xIesl!`9_;j7=n zyJI&Y2Un+JJvm9iHh>m&a(wMH!tG>Y=*Y-^ePt~nR%~q8kuEgV2E>H{A82G!b_`$( zLIzCqNg_d&Nl_YXt%g?mPSrO&Kd*NWYDaAfmf*4JNw)x&x*nHW>=*^oSVKzUOwCW2 z1HFEon77MqYikJH9QXOBRFG1@hk8??o}f*OXBBcy-4-OvW+&5gs!&^+i7NzRk;$UA zK<+6BU}wP^0`JM2#Q}bd8<&{cMmMLDV|bNnKEOd*!!05sUVpvT`rDm@w2?#1_moxpV#}QXXG8~&5D;p*V1q4)g@g0y)oX@vJ$;5%|F;T!=g4KCj3q)LSShSqVN4@L6PY=z|&ig z1cHD80bs`JLs<{(%1qD8_nRUxa7{y>YZ7wCKh*awSGH$oYX=CGB$&K<)K2KAS^|8f9iofl?v_4%dlA;qV{g>zA1sTBku#*33hbgux%9xP66$0p+azfe()yq zCJ!=Kr46$6N;C9@j#np-Ax7cr&i>A=MR?8SC;nF2%1*L<7WnyTQK@DH>Ni3PFh5L0%rYoLhBk$RaWWP8OEqEtXlk!<27RW|5Uv8%|aZRSl(twRNug* zxdIc3h(;U=MHOJLjQ5whLy-M95qGc7p?!C3r_hy>cM~8CAGavEd~V9-Q{`Zd`|jrv z$UY-=D})nFFPi9qXTFfc03}1x`;J!A&Oy>9B$dYDP;M8;tb8txlB91l;gF8e%#l|a5WHD9aog&{6A)DM8$-{+=@ zS0YNZ#BALP%Cz_wCm-x=&TB2$2Oek5r)gL~ot#1ciwX=PO7Txa%^mfUxy2yZ7Tx@S z$W8lI!)n5xh9f{Vd(TdxbHFf1&tc*c^1j75mORI&K~>JBEA7hHO-qMm5b0^3s>U{f zVEO*x;2eo)KjZRqI@HAy5_R5+R@`aFG%+pF;$`YE5!N)oF@;%4v-!jpwbT;lHIl@- zl6;9&u>r3WJ7uvKNz*)MZYJtet?xc*_0QiTm2jmszkj}eJ|Bgz#`9+&I~fh%X`a9~ zZ^b?9#~6XR_BO2imYP=NETYinsa8nhy+|5Y+DBp*niZBemx&c8>yWaP#vK`nK*+>g z!m=-Etzen5;dy$%Y^#k8hW0!e2?R9zE^s-m<>%cIaejB__Y~)F=7+9zluvX$)AIVc zyy%P^jk7Nt;xBM)_ald^ds`EEIycun#Fm2@wKNDdTqhUJ9E1AgE}O6+x*Fj?Z_jyaZ{f3UBB47?hr4%0nYfe2wP64CA^2RQ(SDrG%%S{%38$1GwNvzBYW6tD% zv^OmEKiKYsBbQylfjyY)p9($@?v`r0Gkc~|^*G(e6yAx*WS%{VI}04waPyEZ6-Du3`U#aNUKW1mz~q|H!TOP+pA@yQt#J z3ui@$@GVn#=FCT_e^N|7)ysILies*ivPE-^?oh6SXrT9yGLl#yXUv{q@nP zd#%4uZum2zd{KS@@jEkrVih%PcELn4c^sWf(@Hl{U*i%dx)wMy#p9j+8QjqO;9(#~T@dBu*P>}j#xwjt2S}vT;}Nv{h#Xq!vo~(Z zjwH`RiptoszOP2C#1&fv@J=%aSp4lzsNaQYL|J!XFb1;G(O&bI=DnI%GnfhhHCn42 zank{rR+W!MgCNm6Z8d7JQ{?PE|Hib;%}}2&?NEI#YJ)$L`e3Z8)u9CUwq3qPj<*|dh5Vuf?~|)TrNB((!#Ahh>EEEZb^In&M3_3%L$93> zKgNK|AKSsyapQ0(#?$)leyb54UKo+E@U*hYUwCF&9OHO69uG9Ax^bMx(k6T}$5e#L zN6^8L~3Hjv0ktohlcCJFBoNThE{7Gn7 z&``FtN7TQXU9iwcOS%Q6lLwG2rz5q8dqP_`5XeM&ht~(f3*D=Q2fFF-CSg9>dRKQv zXv=}$?wxc5HBa?Gea7q#s zi5i5e2R8sfnZJM_S6$=Q$|TCq;Q&+_s#Azk2-gsf30*$Vz0}8Cp#E0dZ31RQ5LZP~ zGkj-YO)O2>a~Xi}&T;`1a40#XJHta{)^U}6Fu!civW5W@wHGXgNVkw-N(5Zk{z|@1 zc#|V~cw8WQBn&z(jx=klN=BR{y5(D^jb!;{+?B0fDs<`ZgdTxpXa_91x?tsKMB*zP znkNs6C+4&aU=9=Q-8=as0R`0HbA!dM?UTcuV$=T!;21Im>u7oOPr5zRxl)5fZ5B|C zTq|fIP^J!7ozNhE=|0v5o()zH=b4VjSPgdS>76%p2kE< zOdnHD2z;1C&<W;c4WVuOTc=KO`|mxMjormc@&U$L-2(3DwlpkE!^#%KEOThexQT>em|gq<%P&vSmGL% zF#uBb%h)noQh-7&`$+!K{XgInr*OVZz z2HMw{x0L`36EK!wV!%!{)McezlwwYqK+>DqO}&C8HI&r(Aqb0Nmhc3r37E;uUD!?* z&c=L-sGM$(Q#?w&W-S2nTl)9zGYZI2I^D#WqDr1hFW0xL@>R0NLPdjAVnmJ@4MCx%;1-8FUL6{xoK>+DlCSOZqDq0eyh!eifaX z@J%%8_jUzhPQKLa*vCUzu;A^@P}MIhbYunCh=%w2Mw2hpK5Gj(Wl#yzpH1@F2vM;?6@Nno_}x zH7(x{jUZ7AL5^MeHUS9W;`vMIPbf+DqB3ScUfHv{ZYufyE6Xn*^!jfRXhOG5g1Z_s9vy6tAQf^1~xiPX** z3k@srj1;`ij|M5B`p%IHXRJeNj(~+$7!*SAoLdNuP6jGbI$Ou5r{xHSgcAavlleQ_nvNjcwWtK7+&z`^m+w=&4|30_zoq7Sw>jAMQJ4sM ze^Pbi<0RFD{~5+tWmFaj$2o1kgqf%NTBthwKLR_AmEK^%1+6@A@Akc<%c-13O9L5` z_yAGazMoMJh*yr*3n1+kh~rZv`vv+!W&O)iMsZ;iZrcgwDKNAP0>HGw7HXYT zMoA|QNsclYSO`V#+pNcEjAcvWG1k@|Z9ZOq@oe|t;r9AZ8&3|_pFLgQ(GbbBA30<$ z5I}*IPN8CEs^pgx9B)x_G^hZ9(oO)yhW2SI9@HS*s34>t%Hp(VjPo|E3H0bKsR^rX zxaWu)X5X$@1S~7P#`BGcITF0UEG@C*x22!)p9(;204!aZ5k#?&ZLuIp2)gbFlDNctO(QpvGOKJ#IUVXhCUx@Twr zT%4eu5IsemcqsG(Ove(o8&w`bfCRJ?@rC+xeNWh+kS-}*&MG)W*{=%Tssz}6NsprO zTodab8GfkDhtoNWd?zHNutBL6*u}-9cZ?@%N~OwFn5hjLBQM`aG90dbG9>W+Ve9&v zR*6Cx=*8B31n>i}(Nu1ha?>z^m9(ZCv8A9B9Qkx^BJRf_@HSt}Z*KQaMP_RvWDp|KFux$j@t6mSmhjLA8yIfC0ENGhH}x~tThn%O3j?S|Q+dyeZGRm6j-g;o(5 z;i=eaX0+z@#!OjK2Hd=AM^JBo99)9bQNM+HBL8YUe+jXx1}iwn#LcaYe^t9%L$x$_ zbYdVO@CFw*qbSXf_7e5w7%Q;H!6Ip^kZs${*Ey{oh2zda(ko@O8R0iDV3?2J6R*2LEcOx z;Kp8LwqlN{{aU8#&S`d{b7!=uhGT|wtwO(myi9Y83)Ju$o3It^$GwN8hLVP@CWdBh z7c>@ZuX7h;4_l%U;Cd7O+z8>qi0~)}!*&K&d-)D4YoviVAqIpj;inM@yYRC(1ZiLK3~t4s^Y{cW6^Dm=a*IW|g7 zD?F;?)}XsKu{w#p)zN{K>cT)yIvr;RB3!a%2S-FUnO`=4nV)%OAG3ZaaD%yM7!s=P}} z14h!+X@5uEy=ZF?F0A{U>rFshwUp{G!7Y+wEABaiRP;Hm{WGi*F`mt4{~SyJyHg1> ztLE)0 zifnAnppFvf(4?EL4s3CG2<#Cp1bQ!K}?O0;dDPPZi;EY%l z2e$4A5n(@yp6(o>COxTBkuRwgF-jDBzMtHNTf8i?*fgV*?z@Kw(UX^9o0JO6vw&-% zm9ZOBE<>>kgNZ+udP&%Yl3W(ev^9YFrAvxN2>jR z9vV>*(LESOx+A-*JUlr*)ylkkFG*LRxmNP-7IgFlehXPqJ^-?t%;}~fQepo+ysV^G z#d%F5cEB@VFC)nPcg!&ts^XYxJu1P8ex5#O4++jxI^jOne?AyLa@JOgQ3e28l6O$u zP|V=@Xn^ZZBLZ+f4^mvq*Hpz9om{nVoaRd3p` z^)z)P>+-H-Hhl7_h@6n^IVC?z`DA@#EZ_ba5t#<0I@= z8`e-%FO@oo%SUHD2~E~d^Dm$8>{dP`geon1_XZuN5x zJ^T0D&!6ueY^`tnb^V91%Q6dgGa3#rapRU)lzh*U**NPkG~s4%Y;Ur-(bo3!|JdBX zpN1~%3^$5#>mdC91NS0N1Sr9>z47Gf&zqqKAY6BJbb?a36Tjpf%1;F#*|#5ikU-5| z2qJxe97O>kPABaIXjJMYV_ zj9NT< zjOH`N%A2ywb>eK`OMrM|;0sft{HM#IuoRA>$Ok5@=p9~QkjljuOXHoh&2rUO=4us#&n06-8hCe{hQchnQ=ZD=U!||EW&Mu?<&0gZn zPe+owM2#fh)y0zx7y{I|d;p-SnGYzUP6>R7l@5HTiD9Y_5#R$-GY4V_E; zqGpZxiAh!x<3V6F6Zc(B>ZH9vJ!sinx-RTjx;oCTASj^<^ALBl4381X2Jb*1syJNm zCxL0Kt@*k1I+E7K2VsZfl1+%{?2rfEjW2PHP;Vo=R1Ps1|Hyz7T+jDPuIH1Ar1lw8 z34K=>+8cUf9Nyc(@M?T|y(7H>bF;Mc z=mz9K1TRX4_fa(9{iW=@iJvW87Lvspl!%YB`wUVNeD8LvTG)n&<{m-dt~Odt4Hxja zGY}G7G1A0nVyDG>zO~7XnJKw@DdEP}I(S{|@4fcf;C%VwOwuMlzikzn1W`l)nG0E>q!6B=QbeqLZLea!-#fM%o6D)DUw7Q*eIE zm$*PjLw41P0U?fN@8J;~#!#Tht3cq>FxmVi%e;_%=n(1Xakq1Zr`#lt!V0RZtJqh! zP^=6`uUEaN_TuvWUY~LNOrj>DRA{v~B_`=6ew2-k(h$ySt^AWcoG5F3U_HDjVDUPN zC;d~%&{TI5SHy(c<6eRb1*uNE*ZrQV{`tig!FLg)p-^LKyU%zBFFsz_GgHy0;B2(G zQN(gNC6RS1hOJtehIn5LCp45Z56T9p9c)8RUim7rQYC$ux;fxYVA4>Yh=@A4ARxcj zSzEl1$sF1f-%7keI21A;_N0C2M}9Dbu7?@RhY(?5g}lVs!inmhkKZ8`E08~u^6vP} z`Z);;%M12#tJtF<2?c`2Q2ZEKS2|#Fy|s`MaC3!&IADdj3+Qz|vNA?lbs(mJ!R`J1 z{3Uq$T&c?;>VgC<$cvog;2bOsQxx6pbcp$OOp_8eXrPbBnWb zkxE|jWF`Vk+J=1A*MeCxW+Ya*1HI%L5z@mzr2 zv{M*A?o(`uo#^!p6OauDj*7h?#ace>jt57$Lf0U^4uS>6*2~w&Tmr zf-RoijQam|H9#KY&RDAT$N4PZPhO>;D1sy}6-~xNRI@6_1qPsFyhuAprry@&w$`_v z;yAzQpChGG=hNERdEV+``vKYi7UWrJ5gYg?5-t%BY9HV#7fEp&>jdP!7J$PxqL2rD zXrp5u(aKhX@l(bO=nYPcFHhrItDz7bl&13wTR2Ta@_wuPn!9Y1aK@<~&meE_CuNcF2dOBV`86h=$4DaAc7YZit_KA_q$B^t!$f-cw zKu!6Z^$s5OcW^wWq<2qoNZ%pyqQ#4aPFr7%h1~(Z$#Mw{oaa8)4PqQNaIY=XfzqEn zl$Pz6bBilVMWPJri(3KHh^U^=bE$Qq{K(83$)THZ=h?fOu|9n3yGKX3r5s86D%rtq zIuwCBWUZx3QNwlPrZ@FPfttAeMMhS6@P!}=en##FjWtBe*U%OQK~3r?Aw;Lw-YaA} zTgM{U=SNegz_1abbw_AZEJhN|El$50*c!CAdbZ{eSLU=b0fF==3)K@ct|KxWvz3Z< zc-KkTyGW0iIE@^@_u5@!3gX0LOmfNXL^0N!0pr1R1`L6fG|A)kZbta*)8xD~%Sxr0 zkKgXKFHrIF-Ef4OCKM>K3hu?xU|CoPjlXsr;)5YS%&mS=)U07}^T9|4LQDz{@}uIl zT!schg{FUgK)Caqbyq+phOo>(wQRhm&|DtY)sdmBlH0aLZQpexfz z(Uy=;JJwu5yL&NM$(x8U0A26#a3qv;S42UNR1ST&+WBXCGLl0yh3O~|-Mls#gw{7d zK}BGc%GZ!*u}Zez>#3q=_C)omFtLP^JoIYKjl_fmNNJa^cp>XZWpGG#@;c!J<+Om! z`Y4hG^eqfaDqeKbVbs|W(GRl1Iu=qD(m+MBm2wo}wK5%Or|40%) zv9FxUhkg2_!cjc}1ld?AdIkPcX9il=)#w~7IjUb4G*{?f@>EqXlPu$jtkFe<3si=@ zQ=;E4bb)rppIcyhu2myhGCSz4j?{r6j<4*WQ_XPK*OioPq-FuV#xn0s%S?lHASRrFs-y(_?PpMh<2Ueep5jp_}vz9J2jY~Ggz7#A_&0@ z5X2(?UKj_4Owabt<|^%BEq;O|v~{tM`o~))E8E9$fC-#0ObJ`eyp44Xn!A~+_atVkG9 zNI*_8{U<*{^+q-dph3eV07SwNVRHi^%c0D&9TXD}`v@N%sd#1Ul1ia%0sv^FR>8H_ zLup5g35QOFHK!3=rrqYT0{xb0=bnlDNd@$wt0ik| z&k=C?VE(&VfvuIx?H*lD~GQd*ig4RzsW#?pm;;kGI4_i6K;$bO*2K;L}fm zZy)8a5)q8FM69k5AUg%9ZNEVf)RCe~gPJ5@P7@`el< z)(a{{KbfNh#+rFKBB6cDCw!;wwJe#1Wz`c8ggUdG!}4Uf2kmWubhD~l8IiL^idx1l)h1R z=OSh7gqJ(Borb|+5cpXeco;TOZy1JLmZ8w<7!LAP6)09!%RG?rKqce9QtrM%V9!h! z+datw$;;qoOkRT(9zgpBVa2lT(aoZUjEorU(S>gVV+ETp-m=f~{o&We6LezOx3;F% ztbAFS-BVE_l3-huEKW#K338aXcPSNDBDQlDC3^=#D~3tiNwp^$EoB|bsD|0vYQIV- zVmTRd0qPum_4GLvR6_qklqw^B!e+yBwHIdyC>o8;O$eC|%kOThoTWU^EiSbH_5$$P@_uvrIUTUmu4_YjzA zkqPV3Y|QO6P%)717lxpWFL0ETi25AQRI}EQ>xR<~wPQ{#ZlZcGA0x69@dFa*ATUNm z6g!m%XnKa*Pli4DtGxy0!|MtGRi@PF!`Gg z;S(Yv#^De*1`}X%Qdrr3jMXh6egYvYEB`>GR1kipH;-*soD8d#Ux2t?!l}wKSS!TT zgS_AemG67E#nfeokw$_mQUIgl*`cK84$s9_ zRX@btIE30-G0A+Ps8EGi!``5GzTehrHiOsLRBUqxiG*j@ixO6Hh=jftM7#+@ee=OX zA<_h4@qVa%2RM|If-(?sh#yKHaWo@iLI1TUf_g_xy_0_ghRz z9<>gyv2&6b-~rV%ZZkZ0dHMC}@UVM|Ur6-hR;!ID_guDc&yS+z@|*tk{p8Pa9|Ys_ z{(LR4%*bq)E0t6=NFkG%Q0@q+aHJ#xGDc%a@L-_7!m8Z)O-fw5F>dq5u7i!@8c0Ml ztphR}3NMHS`kBH{i1o9)O$;6uBSa#Z*{y{uU4$>-(%0^}n9aiJT0S}*UiDUc!=v#k zgkH1K4bS6^x7GqIzJBuU$HP;^=}K4_!}3N~M+`(Ax0stSfdrV=RNtvbdojEuc<~$& zR$5OlK_-y50xyPGgMokNt@*FU^I~E@zJi0OPr5-Q-0&Nxz|A`q*oJrkTnkpfUEr)y z%+&E)&$sa(*qk6;z<5&Gk+@;L8A%7E@%1ZhZvwk9Tg2ytpu71EoFgGSFcrY}!TS;JWMM#ad%Y!n3ZHNi zG9F%yj{32(=@PDT5fJ8K>-4TEL&a~S{sW)@B`Z5;j!#H9#v<}8tb9U+&ja&QM#(Qb zCxae>cOY}Mxyxp)OZt|T*Pi=WaSfGQ{fidJT=jw+tyQi$djfY1aI zr|%QTXSflIOW8P<=#k}lkhz3$3G0T_uKr$hq@>9B;P^^(k7IZWuOYtc<%;a3Mg%H_ zAKOS_5g`>MOeK0eu|gSBAmLJxKeTgKp8~G5IPlzP(soP4V`M8SY&;Z;nty^#1`O$_ zG)buR^r>)Mv`QOp3W}Tk!y4D1Rs}N)9_kVUZ)>++0MBMLz9DMLQd|KB=U={G3qOJL z1U2|ERDK8s5G&#ZzQ$g`sNNzeUv|JSZR$=z2zR|F7&EG{Q*7AR9||WC%a3uFr@9W( zR}o1+7;p2-*^_NZ$LSy)wDu%N!CLH}F>Q-@Y|;T$gwzbBr-Bjdb$b+T3zp6{VTW#F zsF-M%h)5Ew6VXDN&7F^t!j2!f4J;60H6sU_2|B+wHxF0}-Jl{jFZVL}6H=1oy>j8a ziP9CcQsat-hiVf&U9~7(v|korid<=*a{9PWD(fPJIE+w{1SiN48Hb?Mc_o~uv)5fdzPj}clZmm1;JCO#BtX97pQSC2HUjd@OW(pjD}f>do!%Gy$X$;CQ(sSDLdM$vP*kR zGQDsNL4^3!{>s4k6`cWJSrh#uOhNx7(7s|dAXu#VDcqM*2~0P@2TiAr-}wA{Scxbppy7=X69Xg|N3ejdWf)eV(U-3}57zKM8b`(teucMxk@Xvr z*f2i(K6$XV*x7rv`tsJ|YG>uvgGGERv1E%67I=>vmq?JX-itbQ@BsVRetohGx-HN5 z?%|6{^sLW4hmO4lGrKCi|Bvz+P|@flPsL4MEQ`Bz!Yib%5!i&gn8x^&br=<(P@VMOLHaSOZSTC$czjq$K-if zJEtSmlh+vI!|+M*M^9ObPQFB`F=W*A2gTbsK_EkZg5yGD>Ysx*D8+ySimCJaQfXX& zFG2~n@`hHv0oL}JKQY&jbrhUk#W*Z>vd{nc2*dNHrW4~KLO%>+DaJ?`VitC>bJ2Uh z&;L9d9QEP6L}UZs@AOZ5GNotm-0wfSy1;$Ia5zAOEM}HBQ|d&!msndJCHBE`Z( zyW7P7rXQpGUSyZeh@?(+}q4xb@Eof}0g=`83{*$zihh1tOn zM=$MVfnQP=W1)32ZvETAwu37P&bl4%b8YR}`hRME;yOD@W~d(b`pq3v^!VA+joqDei)v|tZ4k;>U&4$*EH$6`BYnUL zhNY^g1(L#WQu|`B4YifGJks~lZS|b+(Dj5?oG0F)R>mp(GTC>0K)FyaOykyD#-Kxw zl>>ytnTB7?1I__^-x{M1*x-1;$_DWIU?L;bq&hq6pTk>E!wkG2HhJUqU{Myj9b40o=Pl+J_ofs_FNBPirRQ5z<&=U@*BGEIV5q?DxRIGH)=VnqM& z5fLAN6GhA(65k00)+X}d5fehmH)&z_^ms>m?8U2=;^Zp8>?C5jN<30_!5wXwP%_NI zIC2;wMcJ`>TXnRD*H6Pe>~JOOLyRJ)IqiqW>*Q~QD*BoWA@P@2d+X0$KKNnl+4A0< zyWhOTMZJ4;;y>8GwIE_z7)6MLA4S1W_mR%EpXp501FG2BzW`={E%sVFTaW(JH?|dT zk6Ka;Xs@Jlp4??D!L7cymG<&*v@9O|d0;wIedk180iI96bApNP#`nq*o=@h z8)7`6rnA=5mR)#AT^$BpIfW;k;V2feR7+z}j|7oEc!jXF7Pg&ERuh!vV`U$}Jg{^X zFL61ckQ8%{R;ZsQelK$NB?|4WFaMvHVi$-DvgUFk##gUjL!O|Hjnk`NN3Dk%B5V!+ z{SulVJ6inJe(Dc>wJ4>Z_xJDY?|-wrzkhds{~p!B%6Q-p`Di#fEIZB;W$7Cb1cW-L zOtd(zGFgdM=nYX^jBb0;E(MZ@l#VW>ND>U(o&L(}75Kj~#_|yoCwi+4k6P}*64D

    %ZSoIKvgfy+~sa88uGp( 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%0DMe`OL()sKs*(+V$; zMKBroQ13_%PA?B3qQ$)wO!+enpcIlLk9lj6*ca9}N77E&GGwE{g-L$b=tz=EC_QEk zR_=nJJJ&6Z7m1;#@UcAx9mKifX_7&IT!w(xr3rW)_1~37k7sqd4gXAC3iVoH^(J>5 zk)C7lE*!k~g8WQzX_)t3Bx#ip-M=dXuR7M({XKEU{bX2!2o2KT%RwK_yxv#GC@KZ( z{4zw2WG~%Z_53oR(x*T~s8=ExAi>2S22HOM&;tdO5)NtUDRZFpte1YYpvZcSY`EbM zk9fb!i@~qrLm(eYb%@}$v*5~y6u7y1AqLACcVR{0k(Lo9({=;nhym1>% zKpf~;WKLBt8fhj6UIx3N)Ow7zF_}#1Y&f=z3t`Z98VBpIGpBSgzk{l<6@}FQQ_9Kd zFZ^8YWe+L5UeS|j;|M8gC(*+)e14E{MmQA$sZcxNT-;TN;QaBTvQ(1pz@ z(rhEH81AF`nJ0BpCD2s@s-lIg(7?A-<7Z|6r8cg1^rGH9xEqDs$&{8_NVdoRU>5~^ z!860RODMT0t^)8&dptcXx{H}5SlS=GYlKxUE5&WxEn0k-&b@0o04T-fU{b6zr(O1B zgoB_ZAG7LyA<3BI7F2)SUE(UEf0Y;U)z-ICR9{xYi&Uw&tOOS~aLJfNOM2+My;H8t zt*(7ljgm674px2=A1WyY3H$TqbmfhcOtx36F%qZruj%F^vMx`s+9F{t>GR(7vJA3X zc$$_Zs}`-63z%cH4H;Q4Z#GB2N0Z-+NJy=Yu(H%UZ}<{l&@3T)xI}t$4?mg9C|z3S zCM~=$wR&m+ZAq8z6kp9Whz~SD^0TDDCVsY{J+*a7fCCB9R


    t@*}7Z0X~$HQw6sRp}hC5G-%NB?Mcu%qxM}C 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

    qxw{dbA#>+DJbg=Z|F@K^EEl>?2Kt~a$I|1dvj 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 &c03w_@#GL?$ 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 Q zPdle=a7>+}-<{7bsHZrKZ0}R!ae_OzB|4IRDQg_bW6sRe4A#vIGDts3Nt1C>fyONioG`<@|bV znjR&;2`f)Y#wEkBD=w+FNhYN7XBI(L{DK;`vbv0GX3lS%TUxzf<8T+!9M_rK?<8fG z7hbrq+LJUZIv}nNX$L&fi=;4!z+?#se)-M&og~iU+5DckM&QqTJK`t0 ztdKv0N9_ZMV&S|6f5z}-7S=*^uo9o3>6%A!V_A`-mk1-Jj;ntzyXue#T;?%%hHjWE z)5Umo`$*-qg)PN5@qgHs^Jm2k>24ynqa}L}S-r(;nAh}ZkS|Vwi;J{QoN)ict+dOV zlJy6#&($H&Q~wugDos~@o7~HFRj;1JyIfZQpISfbro5z68Fn#irDVuOgcP~_aGJQM z43h5{1^9U+SHx`c=>bV#_|=wy^{?4lSc+fgic9u(G_USw?^f%+@RYAkaCn)ojAKW) z4%jg-&aO(NLT_NLe`vs#^`0AaFJWT_wa3>r`^|MTpMtgK^4xlHW1aRYY5kvUs`(h_ zZTWg;R9bo+FwdHO!SCDiSnt9@O%c42A_b;NYaK*AbVjUfc3;m7!afo4PO3i5T4ah2 zC??c7O8EImFBaBPvJ*>oL>`qnj)$l~JC4MU&0uaDbOfIxRX3rpkH;RCvT|Q}-TWlf zLQUeXdobXx*-*nwOQ*EUHRZs`Z@#u>5V5R#JHGb4**?#m#XNf+ljKk9IP32X)ju;z zU(UM{%aG9DJ)BiiU8k{>)6?uDIWQUy$TxXjvehH79`5VN=&q~TJ0!eU&Oa!4%Pd^H z=qLG>{gnA>;B+PEPCi?r6&se)tzEGg!tBk@BMsZ|HH<$rC$j-)AJZC*z1NN`TZ))TP23^t%70?O4avM4xa1EDmyQ>j&Ku%>q{O9mrLeN}_#jXA@2Qa#z+R06dG7xh%F%9;AZdJUED3(})XpW-UYNHjfq>{n&Je`jEweYnFKwps@J6Q@;=#xZFM+ zDLnKCg%T$kjq26i76=LIZdIy#p~_UG9MMCPgz8R~KOs3iq$j5*aM^Ka?(Eg;u%maZ zkl^W)Bxr_aN5h^zdu)CQf2x$c6wpY9E>Dq>*U{fr9rpe8sviUsb2#^ z7e#l?jVzBdjuD?fkzEW}1mkn3QHP!nr_p&cbqe+}`hrsrI3saR z;v#;*oLlkp^zR#C4LV?@;nHL`V9ZmR>h?v&lxDgYQ=02mjIxXmch53D(vgLN4vxrR zvEMf5;v&aL$sfCrft0WF@WgyKz{4})l!lU{!ioH(OGAiFirBD5>rFNNc^D?o$DzHP zd0=5<Sccq2)@m-fnDFnnT;=R(Z&C)JBVtHsIK;e&%5Jz*e0l)MM+QP4Y#+ z`ivHAXt&r}tYAmFzV;?OS8^NCxvc)fo2_O$>dYa@;0n5yxp_rHhsA(!@;hciF^-;iqrn1kN#< z*lGH3z{|1LONpexVG;TURX=rbKhFp;e=q%3ny<=uvq+)0gUYNM$i>SSX3ov6Zp`rI z(v^#I%L{Zg*@Ois<5n>{}_|H6eod~xyOrOW@_^2+L!mtOwbD_<{fZeiTM zx?6qy+J3Em@Qp^Z)xQ45jhnY11v^fNZP;Z!g)<&7y^Wea9Em^41SeKPJayArASQom2Ii|@}r?_{OgC*M%e zHhr!YxEDozgE6^}r>3`AZE-qF(hQoux>vtCkjZ+gP&zYAOeFG^frQXTy?&i7jEx_Y zEd8sy6<_`O4leMj6g)Pz!Cb8=a;@|l42(;!jg8}sT)B4Dt8ui&V;j**(+^{gnrE$T z`r1g3#$L20%T%pY_%en%`+zqgKUA1R?LY~R-hgbmH#T`!{6H2MQ`x2NmF@GEnhOp- z>YR}hQLtFT}=_;8I^bb z(-Ulz=&UbLD2a&-9J2YwCyS~eHZSZf!w1xlw@AY_9p@X3WPWf*$8Z8ZJ(G$k&;#G{ zyPRs#8F%}mvw(~amb23@lP_z|P*SI+bZ*&|msrHduFn@AC&)Bj z|lv!XNRXI zxPa5`&;%JCte$(?5x@wAryy+PB=QW7>iQ4cn0_Am&N`nwTRpqR}YUfwr7GOH73Nor6* zX@jn_Ag)*>6bE{av=m*LvQpc2m)VDY!=oUMxPA@4`~H~aK($;l-`*%F%s~<>G*^HI zIF~hn%j1#ht?&+a@CwY!rl&jb^o4Nt5)cW8;9OKn1#c(i5<^M{mQSfaC_w-Uq78iS z|6K1t>E0~Nv#GKEw}a$WYLVOqQhibFl}{516y-RQ*|Y~I}8PC z8$GEc1NV*&jW|zLe8aDB6fXI490})dQgN4(ce|uIxt-l#U7mECq}^+k$~N2upxy1w zW9XZN1W&r7B{IWMmoT!J*^`jJve-Rocq zjLaZ(ReMNjqk-Ba$1Y|1BT%g?njn^$n@C$9)`;?@mA-3EV3Ole{|oDvQ+r2GgG z&_!kb9Y3z;wGMQFyvVf@6$vOX7t{rRZlU~D#efA>Uo$Ce(C zax@E|ROHGF21A%>KB4l=34GXW^B}bHV&HnOytv{9vE&og@uSpZAL`JkJ z5AM|$TzL{7Sb0tBY{z7TL)vE4%RA6l6}9AljI(A;Oei>L``dY-%$6@Wg>mFli*`Lc zhj#68E)DIN`C?nuU&IObu=&m|;Fbb1e3!I*p8M3$zdyWQ#kSP%#NjA#08T??&VC>6Xx7>ZX*!XL3ZwMML=dgZp5;5enRB{|+3=Jy*-c4dUTLLetFodQAaLHZfvkRA2 zH!jY6?O2%C%GWBKT;yfAlWDz9U4c-35l53c-(h&EWhya5dR3n_unvPd)N z+8e`8M8^n!;(1%laK|OT*?&gez#aGsWeuL`f3r&OfjP#B|uU>I->#C5Ens zE!|3aYZn@a!wk3ae#zc75&?XwRVmR|+?EF<(39_Xs0XxBrgik==CLl2Ujh9z$3n@ao{H46lCzM6%9O({94eVUOQLA7t@uTw8 zup{?l(90FZor*TcWT2P(6ztwpzc)#h;s3^jZhsqVpWHM?cv>&;lI250U~FqO+At^p zH-fFMZfMz{`@*MsZ`;?IEt~RKGD~ZV>pyR`nEoU|A-PxZEdr$Ci4+(NZ&z9{8rrBh zPVnt&tw!0J&`ibvFJtMy{zmh3u{6eW)uIh0!4`cf6$W~ZIJmE#)Ug?oKj0ADWy{57 z>RYqVtabZRVk!|$%M-?>c|r~&=aw!ff78Aq>c3gosn*c(NFuoCY(XZQr>YI?gJVkx zx7@3dgmIRJtjIA2zF@ZH&l$@ns8LqVU5~Dbx7SKZkeur7)nc*wj{)DojvW$?))$5@ z42XH*IGCsNl=jIkYG>9G05Fn10r>;Rqe&cEDjcnT+{~Vtk9Y3*NzrP2YP?qD`scGJ zm~++oloWfalYS_xRqs6Jmv$l~QUAzujqGCw%(G^j|^s z&5f8Hro5Q}A46@vrH^53>*fto>|Hx!813e{!M;AF>jum0=Mz~b!60m(yK?IhmUJ_l z$XDKKt%yI5V-)e(Sk!62>CzW~jhCXI37H-zYBlXhH$c#Hi;(r56H*z$9&=EX(XK#y z(_KIN{4DIy8aIF>)-Iw&@A%l*$QZm|2kSDfZ{Cpm%`@NB$2XDKFTKD{RdM8%m<%3= zY-tA5K=_quB13lz88@BFo4lzp-Tbw2Bd3@=r86G8=7uJAQaTgn00nF=iE0@_PiZB$ ztE7eN?b7`v2?@nX%D7=eGPsnf1j?<8IIw5> z<$@r;EMjW2gAyj-nNj%ju{N}V^P?18@R#?RtMGUSZi1o#33jwmVK>I`DvE>QoNnQ%Yl4%6|*H{jdVSfk{P9yDBp4& z=5|_$e**imE-e|X^Zs6#3m(x@Ig7z4ULmP1TetS@nJdcmFW!vsH=~*Vj?D?J&ARu> zo~;(z`Z(5wkwu=eu}z2SFo847@zD=QUWjBQNM1N#c=8S!C{Z$&7+Homj^++)?a#m> zBbAq+(Qk?(@8`!xS6kA{nSLCLV%`KqiU${$IKXwA%kf*Pba2!RI)`85|C~Lyx0z z4v0^(KYgqg&7sPk*ygM^-xHAz`!+z_x^Op1Kv3P0{?yyM9aZVov69W(&t!(oI)Op* zioE0Ow(KG=?Tw1_z*ld&1#`{(mPo-m}t9>k=50=m`{3!rpwphP>@I{j@}O#>r(p{u!q(rUJegj%@*zVAJHH zB>TyNeqG0n5M^*8A92fFL0F47kJd+y7ILVKp5f>fbBRE(M9F@=)6i_!?>N zr5IFdm8(b!XD3#)L*QzqmX^O=*+-(WT%!HTc3PY58Y;A}l=+eoTc_)cq~sc+Y8AM? z>csP4w^9Qj+=m@%B`c#Ycw&$$w<6R^8EHy6G|L_eEQ_kwVHtolc{(;Ljq5NK^(m1M ziAJ0&Sr4zjj;kg^l4gas2ak57smC+~0!Jko%0{w+0#-=o`+hmpx>jjy?^SoZw)<{% zZ`-3%tK6t(P?6*X8`W?4B&>QSiIut5U%7$k{;EAm0LOE<14W#PHh0h*XK)W8Lam~Q zk)C-5rsJ$?nr?HyeydBmTlM|TOuFlJ5+%=$xCT8@)j&`^d;uzl5~;E<%o$_daly3g%LB43VYn+^`m zvJG2xuBCi~bsKLt)u$t$`n0vmW_u5<=E&wnd7ck(U*X<1yo303J;ol4PND0@ajaAB zY8;Cxce;uR^q`o;%kVs*O@=4wOg887mu!xyn(aEp1yVUWI5y+{ai}5^IfWvdXg`yv zo*mT!L&pJDVkgJ0;Nb+DdcCXUu0W;-Y_0>}Jdl(?*Q=659aWMfie;Hl%XhCV?P0B2{%gmRwFn8#&ObwPS(Cqn7$eQW*rEP;kpjwz*FUg+WS zywILlqNF)4)8%!r=1pFnSM^PYlwAtjgu0yoqaK`Z{;h11gZ=VW{otTVnietmIIKK! zyH(s{ijz|ZNx@{8JXFlR(t@3q)WKHhkyMk=rRX5O)7M08hTj>5}!yX|N5tmp~2_TdsUHwMvXgA9B4ATbk*3)tHMrFH3 zM$3!MwSJfZRJW+hf^sqmNCaTksdD^tGi?C`XZ1Gd_%n}s38v1wSEq! zfR=)~X$dnl>Q6N8Th;bAkR-@%U+ZtQtG8~&@~Fmz@*F=Vn*u z&TAzB$`+KGemHN0vc@;K=yz`|$e#mX0kOgl*Rag6t=S8I?KZ2RoZcW7C{_4=vr%s~ z*&X@{js<*0G??4{*s5Z{YG4H5mlj?j zHX*F|tI{aHvE3-MbXGmT;oHPEFBGH(oI3`i^n*RP!sKa8Z7?CkBuMv1*IaRC z*#?mDgc!A|>FH$o2uH=>Kja{1uZ9@74B)PhOxOb6ObV~v`0zRif*mLPc~_^Fbgl1o zxI?5pP8M;-vyc;Tg8aJjadDSmm^Lj&soY1{SsJws17V5vhSoy!C6Ip48ihW3TV*Us z5A>HS)w(Vq?@~Al)s}|pP%<~>2`m-6iGy_4!qW3IN;;yX&%nSZl$%Wprz80I#yJdg zM9A%U8s1to&eTEITqIN_cOdsluoWbUN6E4H>yuB&D+f>^06ObO(z6{X3z%@F?kboV zjs>{ljy})wolX=J49E~6-&_r6enj<dzPKMF!SMNbsw@uy=9;-EQ90Ogxz5;3 zW7m#finc040nW>*n%i?&o{d6F%V~@^Qq1<8yvQ&Zslf15NkxW_3lc#>!^g6@#hfdy z${|@096l+&Ftz^~I-%bn?tnuM=qf&vvW_W0e4#x>NM@S*>4nJAQY69uspW{T(Njs1 zJOW>^Eb+LTH1WS2L-5+1&p@7dsNlNeOBCx7Pa{uU&d)`fIM|^a` z7^$xGRJ(6sSI7p1>~_*T7H_sbi`}G!ug`5P&%H4BwPa6;ejA#%Z`{5$*f&IN8rR>N zT93uLp#f;_G2SgE^22Kbd)RGBKT02FmNYVx)QaL)J7hlNHmv z+gs&EtqgMlzLaq-_-&j3v;aFl_*HK(_~833Ja=$9v&yuM55B(zO?2-ze#DCS0?T`$ z&YGc6sZ{04&4X&=_9lT6S-@-T-^M*FjKzk~b%3k2Zeu;BF<7ql0;6Srl zX*X_fV|U^tXCudLXwg?e@&>Z9UH2=^^^&joYXcXN_u_H$UJQAi){>oK_>rOu ze~}{wo`9T#Xox@>5HH7z@muntypLun*Q)!sao`km-mGtd@HPB9sJ8e-D`Ls%`fbb{ znyuScKlpy_gYP$P@7DQw_k+6(s@orYpN-R~-G-M7Z0X+K1C;&S`(P-vfHI)cwXN#G z?M4~X%iGu%MSK?D6kYU#uGoUfyT%{QE-?$V-@qnzMm#rg{pV551l3h%a z5t^}5U>y&vUdux3o(w$Yr3Z>dUI`SU>)0mTS7&?N$rJ~=FQp2u?)c!}HgA`=EWiTI zZ7kuHTa7wiAOykN2(Rvy8Ma$>CfH;o#PcQs$Od@g&(m3E# z?>7$`EDcSs;^|HPK z@RwL>M+h#w4HTQ;t?v_YSa39e=j)7r9WU3wIV=}okbJLl6%VYeHPM$<1_HjfP!7Tm zz7M`bSZU$Ga?-D<7AW%R%zDk|1!v%#9>8Xx%QV4(x!2f*@U+xP$i93Wcg&V2G;o0T=JTUG4W z+-}#f436-6Wlt#KhnfIk4N0-W-fl{U+5nr^`~4`MYW}8UBznJQtj;{R=|=3z_RG2q z!zJcK%FTGP6OG`&#ir+7BqlZNMjMhIAl8EORPR}h7ZB*P(@Tq*Rl{t_dzXkgx}c(T z-l#jKbTKfFb9tNs)4d899P?zeY$?$^A&*J6kUT>;A1idauWTek&1Xh9UuW2N5FD+-Jl6bi z_vPh!3o0`N!-*4@IZQX3uwbH5D)v1pn>P!P<)|F4J>sR41>6KgZxUBw7=z@(*3v$ryB_uwrA zwkw4J-ZFG@#pO6Ts6w_Y9QgJsepS=ckAsIF8L!HY!L?inQiSs+5rduS%$1u z0zr!s%@e>J%l@Z?=c&Rzob>G6Lm;lihUe`n>)V_@abgvp%A44+R9&p0VN48EMQ#dUL&93seQNGvE2ywpaRftS zfV_wb)j{pJZij}imiOSctfBJq)jWgpFU%EImgZMqo>`tNEUXkRFE72ca2~7YCudgh z8y79Vys&y<>B?#WDVAq0t-exNnlH>;dZqB zOS6kt&ckk?a1Qw{Ev*(77cMSvNq%*yzyckpg*oJ#FW|1TS=@QHI&*Geabfk9QzzyZ zRxc6e{L*q^rf_*?d39lyCJ2SgSC%g?t<0hL^8m}G{$-RhcX960>KT-ZxWe2^_)%E7 zFtfPGqE5_Q0rtzpuQ0oG`4u_eEnHYyJU@rXb92CK=G@|(6@^O8F3v1mJXJV9b8+Sc zVz*qt#j|tECz#BzE4+MRj!`Uc2LI2lE-YPQHD;GCtuEu|Db#X#HDrBxVP)=AVP<)O zqhMivdFkS*6C@{c06Ksm-z98V5DG~x0)-Yq5)$kRD(!J8oS&On1S~YqrA+goHNW~i zuD`_4<^O2I)jXg%?aIyloqFx&`fPpw06VX>*7}O1ua{3|%eh#-b<^TgD^8b`2Dfk- z_J^<+S%LLbd9QlQ+2HyK65Rmt9#Q*q<0p6Xs$1wHHFa`Gq5A$Tc$InK;SFyv<-B%E zN7NvfBvP6f4k+(oEvhx{tj}1VM?R;XNw2TSe1RaW;PwR{$18~Fq$-U_J-V&W?$w)Z zh&iOe{io6Wum>=hJ0P&WiffSO8V%g%8(bO9xC-F@B&dBb`(yWqU!#G+lXmAC`Ygn& zt9}7es9acc1yg`QCT_o4*h4d%_KA31T{F3^Ze!yj7;x$Q#>T0_)k+HQ?7|ZVYjYDpHmW0uOhOVeNP#Lzo@eMrPmMqn)}@Kd-&Au0}my zS9v>7$*Is`d-6*c;^63<$ph~Nt{XA9QKYieYQ8L^kQ2j4)&<&EeeXIrJusVkG32gi zU`H%a9Dj}?L6*m68Q|TazLkB=ZTe`SleTupog!p&#OF&)a-n7YSxbW=r*qzyUOWeq zc+ZQRKRs=OntV1;QtIab9qmEHZ*0sjEY59g*oJN8^jV~shYmYndyAB(C_P-a2Oh+H z!;)czsad|tln@Ipq1z_aM*GG=9oJCt1N2{5Hl6l6T>a2?TTm5Yf}p(I1SRLLFIRN7 z0y^Qm8z!^W&Wfr&oLmI9E0WbOVauOA6hjOQF`SU*;{1s|RzToaI|r&|A;J@DZOsWd zL?uJkv&~#r91O#kQ7Z{=9ZV2mJOCkKJ$tQR_)}|=3b?8 zz_azi6vEgn<=`k1*7`*l+vDhf_IjcL$*Z)HA?Y;TU=uBO=Wo(~v^J>wc-euHG)B0n zHf2X95?FFM3}Ime?$Qr^bEI?qkWtdq_gqmY8TV{Z#?l=3#8Lt7K}xH7zNaFh&)6(a zl7p8`t^s0qX zJ|{2Cy?DZvPzEQ5i^U>6>{;J)D%&iYp|U+o`k?!uo|&&Jm|Rxe$5i||1Z)`dWm@5e zT82b1bvQxq^H8XDRsT`|S*^(TDl6_x|MWDxcUgN7pZq$ClgVo*)=rF$jFnEE7#$s* zzzX*%L`+Uij-TSwM@$V57f+qAr&8b*S?p;M#izJG^2YN67rRHlBgYIKqC(sEGXtdnThI z_9N_bjEdNgh^mM}B?2sAKQbJ#9~l<*Bg0-05QtD!5HbqYk>LbY*nP7^20j%#Eu#`t zi-szLkjhXkCa4xg=n)1Xm7!WpP{l>`0v`!I!fwnG6YSZi8I_<~GE^CO@FhbvvRr9o z#8Q#{eJb{Tz=~Y~?}kKVazq&tqe-<#t=gjrtWkqCnqW_H4DdlJ^WCs#;E|xPvE zV}>dNpK4509UX}oM~P6eG)i1ts!<}us7UBh_9sR~yfjQODpGaS@KO+939qrF#IX?< z6;U0dyo5jP1c@<2LV<%dW_27(y6Bko$8nBRF4eg8?eQQSi>2`?fgewL?YQ;YiKHt) zFC`KaNjpwhJ5EqSJMbEWkSdHte7B5Y;3$?fJ|Q5txQvq~nI;nkm^226gA{U13RML@ zBjrB6B+_Kkq{&n%(tfHWo|qz=xr|dJdJ$qK5@%{c%!Dy5rjnFHZx4M4@5liOAG;{t z$*WUSkzRObwK24X67h}_M~A1zeAD8cqXGifOL*}erMn-&GbVdav#)df#A&P-dMaE*3uQuP&4h)hK*=URksN&s93_1co zTZs%jcoH370`2(@61X6wGQ0wz`PuLaOwK4$)q;@GP@VLg!_Pq51tFDTABJCkHta(? zGRm+Iy%tgIwJz|m$hV9N?TB~7J`B?QY}m7lhm3}5=tE3psD=@lQ9>1(PRI!5g(X5? zNuorFBF97r9x9AdMgAHy{<6TQ;$Q|?VNBz@!3tvIkbf+Lp8E5GCCv> zgjAwxk>i+;Dv4fDERrb0tCZA{9TB($ot*CmoIfx=NFo=X6F$RDD3#g88FhnW_4zCfDISN9Q!3tvsa&YW$K}e+v zjRbvypH(3RA(aR{!fA+)qJEFWVNSw#1D^=15ffGlLPi6h$gdHTUkXAhqgNu*AQ)NV zSkN)~u2c$KM#wZvg&;(U(2y5Nlt_p^>Y}Dbi<&PY@EI9}94-(nz9XXxd=y0`qJqT4 zJ2{7eXWyyOl62qU;YewS3{9RPE-*!Lc<_gm%HiTzkZXt>*R;ijDp-*yhGCdGV$d36 zJro9*h?G9S(ASPBSOCM&4fKOBA)KO)#vdRABZIu>56(DzXeeR)luE%#n5QgKOljih z!jRIzoEifog-Fc@A??C=3esSxWnF(O=1!9%L5XA}d#?|DL8Fu&h#Uz(@u24;koE&P3=){rd`NJY7gKmNplUmwhHwr}N z4-y1nP&4#{$WKg`!Z@QJES-@tJAN?x}bD=NC^&9?B_C)to3S~zVg@$8$0eLKgjRnb|A3%v=kjeT1 zn4rc)&=K?lFiYd5qEj!hP@gq3N!ExbD5fUE90OV^8NL`RW2=D0@zBvQpF)b!NLSG) zrPL@{3lYG=cz#s;F&dk9RQ#r=r7-b47MCr@*|TkAwG=j{=xGs<^GJ~}r?FYJ-H%%v22x)dx0%;@_U zUX>y+9eC3sJij6W7$kgEDstM7r$?-Wc{w5?iK*P`o0yJuO9%ErOX-NKxdVgNRT{kpmBwg}wa1 zD`6DF+RI3h z7OO>87a@wp<<^mL_D6eKigA(`T|ZDA6EsEyi3=$}is@-tBuPgmVpD2(#}FO}1nml0 zCdtp1Mcg$Kc?_>CB`$U1l?2k$vOr})1jalML$Ve_b-)yg2vbnJxh!Puk+|lGSHOT| z^6UWdgjahi%czDzJUvU{6$OqK!&r(}!oZO0O2I2I#WMgcvM*sO>G8l65|ps{q?G~* zjtH!DdKe|P?WmqE1zBYjQaYrdI6?%TE`{)bF!T{q!XqxhVnzs{czVRJW{y`pJr|Bi z&%x98hH>rc;^~2o4|CYZ(`OmimLQ%U52zq0#hyY8uSh&T92UjLF=s@Co|Zzo!?@_? zBa|X26XWVjczV^4@9uosBU1C0KLa2VzJs&Kt!OrwhYE6 z!(Jv{Nn|~(Sk3IQ`w@zr(z14x$>Y%Kkws6-qOLQpCU+6+I*5ocNN+@Vs!wQxbwZkq zve1I()CoL2!%S!e8&A&;6Iye|Gp1m*5aD~ngrv4T4XAn>B9atnB1HIxno#${(-UYy zT?fyQqQuDfN`1*}v zZyGdlfq_R9Gg=U$(3p(!ZHjlY1OrbzytAXZz-5F=&8Rrl!#jlog1|v|=P2$1mr*<9 zP)LJTk9Vqm2m&wSogBjerMQgRCxz$CHOA2t1~_3{ zj8KuBSSt^KzP$8_fG1Wxq3w&3J+8cEl zC#)SO!dePak-J^sQ*nBXC`vsa#mXTn))C!=gtov^;hjiW;G+b76xJpV7W5JgHx?)r zc5iIYVmORzh$0dQ;>b2GX2Og)G%Zvb2|x=B7T}|`vGft92N)f+IfTGB?KsqKG#UdW zwv2cO_J|6^!MlbA1isN21t2bP8AmuD!H|=bh{YX7#XVQNlP3^_DaSY#eTamu{TM9l z0TX)!0O_K{nAr3Vix%Tkw&0E+R0ylGpfETh%+Bzxy*dmRp^nh6P!o&~K|A6*nwbG= z?@H7>22o)p0Nh2YFbI^uyE0Bv__>UeBmq)IN?^&7RE52h7t-Tc6jMf-0J)4>n#Pwf z_JfhhzAjKIyh~Oi@QjHlb}J!xhzc?AjLCOk?*dn1k==?> zp3opBbut&YR8j^R6;q9HK>|H6?6BjVtjr*yimt*abPq>Dypz8WgxL$vU6(aK6j z;*~7X@SVg#5cmrggrtN8E~EOu1lI9Gh48KtssUJSlH!~tj6y6H)(G@hMC1OOzm0=i|i0c`~(y^hy zzKuxfz?L09C|ejAWDI`@c^8J195L}x^By0m*$*Sbhyf|;%;pk)S0t$f5gVklexP?T z49cW_fI13&E9!^Ko^0@0Ux18OpKvIRXr+hpJLo6)AywXoKIOO?4h!jF?HVR;AQMYR z7>Eq1MLHr9i&dWTkXz(<*hy;c>|l;*pB0g%AYIU~5-$j+T=tGVof9XHb#$1=MxI&s z$65SAwYEF%qvIz2W1&6pyq%Nr7tZ7SM}I$#tz4;9c@4%&?&KLyE@eLX8;W(*vtQ?a za9*Z63Y%R~*zASExtp!7<;VCZDI8~~bV5V*$EmqMf@ZJsvzJ=o1P|{Eqptw^616vX zw$z{Bkf#o~&Dq)==pP!Ak5EfEh(jtpNyjrP{McD9N6zfd-f_5KePyrB^I14*!;`|j z&Y7?KDrTDWD@W%!GA;ZJ;R>MU`YPO8H235pVto<*sP`%}^i~nPcepb^&jb%2o=v+Y zPFpTHO}kjXTHOjaQVsOKQg7oBVvV=HvC{PKaI$C39f8(onp@SX`*D)@(<@uk4(1P` zHoh9CaVX3xcM?bPwyxoy$%m(G1F$n zKAwY9Cb&MTmTSqktL|HS55B6hpK3l^?JB$(#5}l@N7!vwPS32&E-Vl+T-&0!7vMzY zT1>iAwrF@>$(Fn8U|gucTh|*g!|qMXFw=nVlngr89HaJ0i8r7TSSPGn0 zizJuJ&D~Z##y8p)zubn?k`zwU!GZgT&D@8L*_#bV;f}Ak`9S5Y?v|5AYPq_swj0+# z%2<5ceYkQB4#u)|Y&$Nxa%(ef#9OX_3kkA3LF<{iZ@aQnZtt~>_rDV3(aSdLd(DgG z17mA=btk54{r}J~F7qyj{x7*7HQg~q!20`d?Ojc5TiJCUAYBwhP@uak2FSG`fK*1L zWY1qJ$4)7Vl9))OKvHA7_LQJWN@6UL0x8W{aa|PMWS4CaWSvcR*#!ZDuCpxARnbMe zZVNQ4Zu5QToO|DWkEE!{WF{COMw=1uyFcfgd;ad8KNq95q*d6JM95z@ zvJZ@LKYC@H4UB={a|q*OeKG`rqOv&t#dExXudV@K zV{62%DT2}ovjN$B5j+~0Nue?>f^#<4Y!jRkfR3AQ3+^lA zMeAy$b<&PcaziRg7&l)T0@WXM@PM97H?MDeHnojWk~hUOZfZUaRww?+C&2*9Pa{K< z#Gk>Mh)f`|vg+BR2UUAHXp0&5vg~0N?@BRNu8i1ifj9xRs1p3ZY{LgR8NYKinw}1i z5$GljpnrOwydZ~=STvWYXDAAt$@qbCGBDaCH9$>8WaTP$*-47U9_MQDQJ0QS7C!VO z1c{VR7DJg~#;iAXRGzW0KH19843CfFRx?BkwLE8VW+4jM1K9*-r;D;NW+0c?^LToH1=5}MD`wW6udx#1ttPK05{QA~z9ZCrO-cU`&Q6Ro^TQ-gb z{bq6mvBM;OHmVqF$5hFvr#~Y4x2E@e{y^wbk#>nFmF67}e~OLg1?Gs=MaGoEhFXa+ z@ExyD5>_GSa13&uB*L*QB9b#4f-&ixPP{3BAk+Avv1c^j+W+<$J5-X=5ooxZpdp#E zksiK;wLZ9rj1(emW*3(r5dLL--Y?RTA<;kkmIo}?jawaIqaaCb9Tw0_c07`%i_%SF z@a#Wb!lyP%LUQOu{#%yH9R^4Nb6oW4hd)D2AeG_$cq}q|vbtDAm_pvZxTE$?@!RI>+D-?}kVF7Y+@UVA z(2V*XS%!wwv=foj+Y&s8Ixqqq5H4mkP&4yD%6z7Id`nTMRJa#M5VVd#4`3|0Eg0Vp zsvU&IjvUiy> zDk5O2JTt`aonDPz7N82?e)=R*_dt0u?xrX~LjU!)9KdL*(zUZ*&##bO95EM9#IjDX z<<=cJaO~LcfRXL;Sf6vxovEL^OBe^w^1C<^NZMEJ8DQMl6d?)!*YWjGK@)+(Xe z^Cz$6>l@VeC>9?&DPwn0J-B5GZ7Kg|6Ktrt&cN#j;iLyZOr2m+s6~SM3g+sZ zatSjZa~d*MV1KT{JX`Sc>OnznZq|3U8Q3pfRJlVsTQVzy(kz$ zSc1noLRv($k#B;c%$dqhf>l&g7xL#XI%G>O<`I+{IX=$^aN^-}!RVx<4=js{kcz+^ zDA{e65BI7E)lT(Eo9T$3Y&~sPTT#`t{1#{WKr}v^7IBL5Vkc}T+;gm-N$7(=35Y_? ztf|7De)nwJ9*Yu(RA*&HBx0GYXeG*u{IyJ0q>{u%vj%bh%VZ@BZ%S4?Ad##{(U&JH zGF)0#JW#=4P7;sClijySWaW+|`_s1A5Kvjk6dGgC6^n$+rH@t74xup3&**gum(Augm z;X?XsIS_6+jhx5E8?py$BJ~yUYB-|)YjI~W` zZY_-Taac2I=+%`WrzEStVU>ao^m;qXaRC;iEzDNjM)qxEJ_erICY+8Q_n2U;KVm#m ziK%TNT}>|sc|k|kVGGjQK3Oz-2U_|woa9i! zdicUuy1}(uuol(D7h?mfHM9E344Wq!t1;RT*@nrwYC&V`;?_KW4clJdsbCPLM?#;} zrh;sPMA?$re$71#?QyCjaq8-ZeWl9di-n3VcvN2#6Z+tn2Veyf1dwd<=7I=rH z6%LF?{=hf`D6)VAK(}K+Z?lhcG@4!^wfuxhW;|e;0*0gL$~^(X*O^9g$$(}XwI(9ruMD9$J@nWnTbZ&67;%hZL)9N&Xrr(glA5dTon%$7 z1FKa{Ycm@G{Q|_VG-JcaEK@AT+WwR_=J4j=1PKg4_8S@88|X|&GO=+FUo;_?Au1f8 zW)){}6Ip}8BN0d5wtJU4BPorl#&#wH0fSj>@b-r|hB_2}C0sqvAHXhf5kd;E%)}Ug zWY1W5As%6+ne^!81lhj4Wx}jUclfU%hw}p7fPe4XxLN-pv&6) zGQI%N%5`>b9_5P`L~iCr3+xCD^7d^!xEoI5ZpF398DxJT82|^kz+#d!R4 zrJfEIn(^*8Qr2Ex$DPZLhk6f0o?V;%^y=J>ghDr^yu1<+48U(fGhN0kc4|Un^=!gV z(t7TSA=IFL%J5P0?K6=)H1l`hyUbdH`#E!tc}3;`TuRM*$08+h5YN9%>WVI=)gHzPk!!WK*fmS4e?Z=H6#~FY`R6VG7$i+ZF)0V3nPv5WgG+A zpbL)ydA8?KfoRM<+cRv4SrDpa$B#?Loy*ys&Zpg%gDWJQveOZ{Td%Hp`lM4NJ~64! zx4QiU$pXpLLg6-0Az!iAMo3_*sW%6>&e`c8Uumn==`7RZsjVwHVu(u?YV){~4v`gM zTpQw@n1JVE-X_09HY0OmC^gdO0dRH&{7{eOI8WiS7cCS0{#N<0Cac|i?`)W-&z~+u zHr4)%6I{}HopbodW~nRbK8YL{?gE!=H}%#y9-VY>f4`7N!g8b_#>NzKNA~zXpXkj! z_QijL-s#xoB_%80ZrO`6Tvx%nE;sES56-R~QY(+fqhe*h<_PUnG9%-eSGMPejZq1E zu*~#3Iw|E#M5Nl-e;|O%V6SjPZspp~wBw zyQK}+pNw%+tB-`nvL}c{$`cOjzVl(}e(8P5l6;Nlc({TYp2O+5HVzZgU7QVg%i`(+ za^D|FbM(SXd;#VArTcEb-4aBT=XBh}EM8soakJkQi>PyVF_8zJz`zwpq4)@?HwUcp6UNr?}@dkH0*a z3Fm-S$aFk?9(3{ga*?D(OhDl8z`h{qIHaX>HU{ef4Lo)pK@U*b%=vnbtlhl0l?9nM z+oUD)K>JF1%hRWOH{L>ycI0V)F}^$%nUH+&)CfTlc-2tCg-OgH?j#Lx4-5K7GdrI1 z;nie7nj#&h13QKpE*6neo%f@P0?OPzZ$TJc7+9i9e~Uj)t%>PR5C@A1XHe}56S}kU z$q8t~g#fd~BeOfxE8|9=ERS3t3^^R>NkLKc1htaaoH#8x?Or0MD&E=Ra%dl23Q2Gs z`viAuTHTA`wm$Qt17{bZf+|-jKvkW&0^QVAu!CuOe9#1yQ^2n(7T`lirXc_;FvGNT zHkIiCK`+j_*U)dMtWd4_`Jm3V@76h|hNS@-!N4n4v1asc#F}}fNYk>Z9`77fa)E}dwyO+GxQvM{rDKzt?{=eFz`_@B;5MuA8d-ioO8Kbeo3*+ufSLj`xU-2P4wj=Pz z&ZF$Ni8J(m19Rc4#B72IfxlCTdMdpH>N7BVvm3`>%JBKgP1j0 zK1oD3hKY6!kuE7}`GM}(d3SVzPzBJEZlwc>heO5z zrh|byy}Z1bZmzGN!17$ZD8bmQ!_e^mi}Z%@vhHdyT}Q;759Yaz$j6F+Y4_eGfyIwc zxs=$yzxM&x_t{UH##Q(BftvRv7?j{UOz^t#E>>e)1DJEPxjDq{gy5}Np-E(TO@l7) zDtVOTt~8V(oDt+=mREZI7c9iXtm7zy~CU37U9+a~E5qA*~o@-dV5f-Q1YdVuB- zZf^Re2OTy}C)X;pa+pI*IJ}RdG+K=pSbPd*exe=(gw!bVp<0h!0>Gu1FxGt3nivG zbPA)pCUCB~^KpN8jMwt#13^m`=F`(PIt=I7Y-@`eTqxM*P8`CvF+5ACJ$V zGl?1$MISrmSjTMUa&3I-z8J$!k>)zlSVZ#lm>k5-00ly4)jmy6>8oOOtOQfVf}(&9 zu%q3^#1Fe?*qX;u7~^HpEMfe;s%tfN+K8F>KZ$)Tz~4mU#sJ4OZ5pJRJ2-f#dEa-ysD_8tX8k=A8ps_yKW2Z>W#J& z#|E9Y8;%27SG6kI?YM(#v$BVt%Ud~jbHec2tBo9$ZVXusTaheu8N zOBj9|-PUXMohC-99#re?5=KRttA2zZuC<4SCWp$Ej{tp>@VQFk@M*KQyVrJmjs0yT zT6bGjKvv$`uj)`h3Y$o^gEhBZJ}B=Jx~6NOmu8OD6gu~KugW5hSH}NU+Q`>VG%Afc zBD_@EYrwME4ox4|TGcgIZq`~P$WF6yu$Ch^(E`1r6SS*WwHK0F2oz=nRY)-8cn=-A z?P_@+ePMd)sp-RPZv5_F{^`{}|Ih#CfA`^E{oD07U!1J|>TBxu{<6r+{|LwP5|M*8I-~7o>fBW8F|LpMpUY5T07jM1w*6!B9 G*6#s{ap))j literal 0 HcmV?d00001 diff --git a/config/app.php b/config/app.php new file mode 100644 index 0000000..324b513 --- /dev/null +++ b/config/app.php @@ -0,0 +1,126 @@ + env('APP_NAME', 'Laravel'), + + /* + |-------------------------------------------------------------------------- + | Application Environment + |-------------------------------------------------------------------------- + | + | This value determines the "environment" your application is currently + | running in. This may determine how you prefer to configure various + | services the application utilizes. Set this in your ".env" file. + | + */ + + 'env' => env('APP_ENV', 'production'), + + /* + |-------------------------------------------------------------------------- + | Application Debug Mode + |-------------------------------------------------------------------------- + | + | When your application is in debug mode, detailed error messages with + | stack traces will be shown on every error that occurs within your + | application. If disabled, a simple generic error page is shown. + | + */ + + 'debug' => (bool) env('APP_DEBUG', false), + + /* + |-------------------------------------------------------------------------- + | Application URL + |-------------------------------------------------------------------------- + | + | This URL is used by the console to properly generate URLs when using + | the Artisan command line tool. You should set this to the root of + | the application so that it's available within Artisan commands. + | + */ + + 'url' => env('APP_URL', 'http://localhost'), + + /* + |-------------------------------------------------------------------------- + | Application Timezone + |-------------------------------------------------------------------------- + | + | Here you may specify the default timezone for your application, which + | will be used by the PHP date and date-time functions. The timezone + | is set to "UTC" by default as it is suitable for most use cases. + | + */ + + 'timezone' => 'UTC', + + /* + |-------------------------------------------------------------------------- + | Application Locale Configuration + |-------------------------------------------------------------------------- + | + | The application locale determines the default locale that will be used + | by Laravel's translation / localization methods. This option can be + | set to any locale for which you plan to have translation strings. + | + */ + + 'locale' => env('APP_LOCALE', 'en'), + + 'fallback_locale' => env('APP_FALLBACK_LOCALE', 'en'), + + 'faker_locale' => env('APP_FAKER_LOCALE', 'en_US'), + + /* + |-------------------------------------------------------------------------- + | Encryption Key + |-------------------------------------------------------------------------- + | + | This key is utilized by Laravel's encryption services and should be set + | to a random, 32 character string to ensure that all encrypted values + | are secure. You should do this prior to deploying the application. + | + */ + + 'cipher' => 'AES-256-CBC', + + 'key' => env('APP_KEY'), + + 'previous_keys' => [ + ...array_filter( + explode(',', env('APP_PREVIOUS_KEYS', '')) + ), + ], + + /* + |-------------------------------------------------------------------------- + | Maintenance Mode Driver + |-------------------------------------------------------------------------- + | + | These configuration options determine the driver used to determine and + | manage Laravel's "maintenance mode" status. The "cache" driver will + | allow maintenance mode to be controlled across multiple machines. + | + | Supported drivers: "file", "cache" + | + */ + + 'maintenance' => [ + 'driver' => env('APP_MAINTENANCE_DRIVER', 'file'), + 'store' => env('APP_MAINTENANCE_STORE', 'database'), + ], + +]; diff --git a/config/auth.php b/config/auth.php new file mode 100644 index 0000000..0ba5d5d --- /dev/null +++ b/config/auth.php @@ -0,0 +1,115 @@ + [ + 'guard' => env('AUTH_GUARD', 'web'), + 'passwords' => env('AUTH_PASSWORD_BROKER', 'users'), + ], + + /* + |-------------------------------------------------------------------------- + | Authentication Guards + |-------------------------------------------------------------------------- + | + | Next, you may define every authentication guard for your application. + | Of course, a great default configuration has been defined for you + | which utilizes session storage plus the Eloquent user provider. + | + | All authentication guards have a user provider, which defines how the + | users are actually retrieved out of your database or other storage + | system used by the application. Typically, Eloquent is utilized. + | + | Supported: "session" + | + */ + + 'guards' => [ + 'web' => [ + 'driver' => 'session', + 'provider' => 'users', + ], + ], + + /* + |-------------------------------------------------------------------------- + | User Providers + |-------------------------------------------------------------------------- + | + | All authentication guards have a user provider, which defines how the + | users are actually retrieved out of your database or other storage + | system used by the application. Typically, Eloquent is utilized. + | + | If you have multiple user tables or models you may configure multiple + | providers to represent the model / table. These providers may then + | be assigned to any extra authentication guards you have defined. + | + | Supported: "database", "eloquent" + | + */ + + 'providers' => [ + 'users' => [ + 'driver' => 'eloquent', + 'model' => env('AUTH_MODEL', App\Models\User::class), + ], + + // 'users' => [ + // 'driver' => 'database', + // 'table' => 'users', + // ], + ], + + /* + |-------------------------------------------------------------------------- + | Resetting Passwords + |-------------------------------------------------------------------------- + | + | These configuration options specify the behavior of Laravel's password + | reset functionality, including the table utilized for token storage + | and the user provider that is invoked to actually retrieve users. + | + | The expiry time is the number of minutes that each reset token will be + | considered valid. This security feature keeps tokens short-lived so + | they have less time to be guessed. You may change this as needed. + | + | The throttle setting is the number of seconds a user must wait before + | generating more password reset tokens. This prevents the user from + | quickly generating a very large amount of password reset tokens. + | + */ + + 'passwords' => [ + 'users' => [ + 'provider' => 'users', + 'table' => env('AUTH_PASSWORD_RESET_TOKEN_TABLE', 'password_reset_tokens'), + 'expire' => 60, + 'throttle' => 60, + ], + ], + + /* + |-------------------------------------------------------------------------- + | Password Confirmation Timeout + |-------------------------------------------------------------------------- + | + | Here you may define the amount of seconds before a password confirmation + | window expires and users are asked to re-enter their password via the + | confirmation screen. By default, the timeout lasts for three hours. + | + */ + + 'password_timeout' => env('AUTH_PASSWORD_TIMEOUT', 10800), + +]; diff --git a/config/cache.php b/config/cache.php new file mode 100644 index 0000000..925f7d2 --- /dev/null +++ b/config/cache.php @@ -0,0 +1,108 @@ + env('CACHE_STORE', 'database'), + + /* + |-------------------------------------------------------------------------- + | Cache Stores + |-------------------------------------------------------------------------- + | + | Here you may define all of the cache "stores" for your application as + | well as their drivers. You may even define multiple stores for the + | same cache driver to group types of items stored in your caches. + | + | Supported drivers: "array", "database", "file", "memcached", + | "redis", "dynamodb", "octane", "null" + | + */ + + 'stores' => [ + + 'array' => [ + 'driver' => 'array', + 'serialize' => false, + ], + + 'database' => [ + 'driver' => 'database', + 'connection' => env('DB_CACHE_CONNECTION'), + 'table' => env('DB_CACHE_TABLE', 'cache'), + 'lock_connection' => env('DB_CACHE_LOCK_CONNECTION'), + 'lock_table' => env('DB_CACHE_LOCK_TABLE'), + ], + + 'file' => [ + 'driver' => 'file', + 'path' => storage_path('framework/cache/data'), + 'lock_path' => storage_path('framework/cache/data'), + ], + + 'memcached' => [ + 'driver' => 'memcached', + 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), + 'sasl' => [ + env('MEMCACHED_USERNAME'), + env('MEMCACHED_PASSWORD'), + ], + 'options' => [ + // Memcached::OPT_CONNECT_TIMEOUT => 2000, + ], + 'servers' => [ + [ + 'host' => env('MEMCACHED_HOST', '127.0.0.1'), + 'port' => env('MEMCACHED_PORT', 11211), + 'weight' => 100, + ], + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => env('REDIS_CACHE_CONNECTION', 'cache'), + 'lock_connection' => env('REDIS_CACHE_LOCK_CONNECTION', 'default'), + ], + + 'dynamodb' => [ + 'driver' => 'dynamodb', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'), + 'endpoint' => env('DYNAMODB_ENDPOINT'), + ], + + 'octane' => [ + 'driver' => 'octane', + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Cache Key Prefix + |-------------------------------------------------------------------------- + | + | When utilizing the APC, database, memcached, Redis, and DynamoDB cache + | stores, there might be other applications using the same cache. For + | that reason, you may prefix every cache key to avoid collisions. + | + */ + + 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache_'), + +]; diff --git a/config/database.php b/config/database.php new file mode 100644 index 0000000..c676a91 --- /dev/null +++ b/config/database.php @@ -0,0 +1,182 @@ + env('DB_CONNECTION', 'sqlite'), + + /* + |-------------------------------------------------------------------------- + | Database Connections + |-------------------------------------------------------------------------- + | + | Below are all of the database connections defined for your application. + | An example configuration is provided for each database system which + | is supported by Laravel. You're free to add / remove connections. + | + */ + + 'connections' => [ + + 'sqlite' => [ + 'driver' => 'sqlite', + 'url' => env('DB_URL'), + 'database' => env('DB_DATABASE', database_path('database.sqlite')), + 'prefix' => '', + 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), + 'busy_timeout' => null, + 'journal_mode' => null, + 'synchronous' => null, + ], + + 'mysql' => [ + 'driver' => 'mysql', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => env('DB_CHARSET', 'utf8mb4'), + 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + + 'mariadb' => [ + 'driver' => 'mariadb', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => env('DB_CHARSET', 'utf8mb4'), + 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + + 'pgsql' => [ + 'driver' => 'pgsql', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '5432'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => env('DB_CHARSET', 'utf8'), + 'prefix' => '', + 'prefix_indexes' => true, + 'search_path' => 'public', + 'sslmode' => 'prefer', + ], + + 'sqlsrv' => [ + 'driver' => 'sqlsrv', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', 'localhost'), + 'port' => env('DB_PORT', '1433'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => env('DB_CHARSET', 'utf8'), + 'prefix' => '', + 'prefix_indexes' => true, + // 'encrypt' => env('DB_ENCRYPT', 'yes'), + // 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'), + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Migration Repository Table + |-------------------------------------------------------------------------- + | + | This table keeps track of all the migrations that have already run for + | your application. Using this information, we can determine which of + | the migrations on disk haven't actually been run on the database. + | + */ + + 'migrations' => [ + 'table' => 'migrations', + 'update_date_on_publish' => true, + ], + + /* + |-------------------------------------------------------------------------- + | Redis Databases + |-------------------------------------------------------------------------- + | + | Redis is an open source, fast, and advanced key-value store that also + | provides a richer body of commands than a typical key-value system + | such as Memcached. You may define your connection settings here. + | + */ + + 'redis' => [ + + 'client' => env('REDIS_CLIENT', 'phpredis'), + + 'options' => [ + 'cluster' => env('REDIS_CLUSTER', 'redis'), + 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), + 'persistent' => env('REDIS_PERSISTENT', false), + ], + + 'default' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'username' => env('REDIS_USERNAME'), + 'password' => env('REDIS_PASSWORD'), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_DB', '0'), + 'max_retries' => env('REDIS_MAX_RETRIES', 3), + 'backoff_algorithm' => env('REDIS_BACKOFF_ALGORITHM', 'decorrelated_jitter'), + 'backoff_base' => env('REDIS_BACKOFF_BASE', 100), + 'backoff_cap' => env('REDIS_BACKOFF_CAP', 1000), + ], + + 'cache' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'username' => env('REDIS_USERNAME'), + 'password' => env('REDIS_PASSWORD'), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_CACHE_DB', '1'), + 'max_retries' => env('REDIS_MAX_RETRIES', 3), + 'backoff_algorithm' => env('REDIS_BACKOFF_ALGORITHM', 'decorrelated_jitter'), + 'backoff_base' => env('REDIS_BACKOFF_BASE', 100), + 'backoff_cap' => env('REDIS_BACKOFF_CAP', 1000), + ], + + ], + +]; diff --git a/config/filesystems.php b/config/filesystems.php new file mode 100644 index 0000000..3d671bd --- /dev/null +++ b/config/filesystems.php @@ -0,0 +1,80 @@ + env('FILESYSTEM_DISK', 'local'), + + /* + |-------------------------------------------------------------------------- + | Filesystem Disks + |-------------------------------------------------------------------------- + | + | Below you may configure as many filesystem disks as necessary, and you + | may even configure multiple disks for the same driver. Examples for + | most supported storage drivers are configured here for reference. + | + | Supported drivers: "local", "ftp", "sftp", "s3" + | + */ + + 'disks' => [ + + 'local' => [ + 'driver' => 'local', + 'root' => storage_path('app/private'), + 'serve' => true, + 'throw' => false, + 'report' => false, + ], + + 'public' => [ + 'driver' => 'local', + 'root' => storage_path('app/public'), + 'url' => env('APP_URL').'/storage', + 'visibility' => 'public', + 'throw' => false, + 'report' => false, + ], + + 's3' => [ + 'driver' => 's3', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION'), + 'bucket' => env('AWS_BUCKET'), + 'url' => env('AWS_URL'), + 'endpoint' => env('AWS_ENDPOINT'), + 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false), + 'throw' => false, + 'report' => false, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Symbolic Links + |-------------------------------------------------------------------------- + | + | Here you may configure the symbolic links that will be created when the + | `storage:link` Artisan command is executed. The array keys should be + | the locations of the links and the values should be their targets. + | + */ + + 'links' => [ + public_path('storage') => storage_path('app/public'), + ], + +]; diff --git a/config/inertia.php b/config/inertia.php new file mode 100644 index 0000000..f75e7b8 --- /dev/null +++ b/config/inertia.php @@ -0,0 +1,55 @@ + [ + 'enabled' => true, + 'url' => 'http://127.0.0.1:13714', + // 'bundle' => base_path('bootstrap/ssr/ssr.mjs'), + + ], + + /* + |-------------------------------------------------------------------------- + | Testing + |-------------------------------------------------------------------------- + | + | The values described here are used to locate Inertia components on the + | filesystem. For instance, when using `assertInertia`, the assertion + | attempts to locate the component as a file relative to the paths. + | + */ + + 'testing' => [ + + 'ensure_pages_exist' => true, + + 'page_paths' => [ + resource_path('js/pages'), + ], + + 'page_extensions' => [ + 'js', + 'jsx', + 'svelte', + 'ts', + 'tsx', + 'vue', + ], + + ], + +]; diff --git a/config/logging.php b/config/logging.php new file mode 100644 index 0000000..8d94292 --- /dev/null +++ b/config/logging.php @@ -0,0 +1,132 @@ + env('LOG_CHANNEL', 'stack'), + + /* + |-------------------------------------------------------------------------- + | Deprecations Log Channel + |-------------------------------------------------------------------------- + | + | This option controls the log channel that should be used to log warnings + | regarding deprecated PHP and library features. This allows you to get + | your application ready for upcoming major versions of dependencies. + | + */ + + 'deprecations' => [ + 'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'), + 'trace' => env('LOG_DEPRECATIONS_TRACE', false), + ], + + /* + |-------------------------------------------------------------------------- + | Log Channels + |-------------------------------------------------------------------------- + | + | Here you may configure the log channels for your application. Laravel + | utilizes the Monolog PHP logging library, which includes a variety + | of powerful log handlers and formatters that you're free to use. + | + | Available drivers: "single", "daily", "slack", "syslog", + | "errorlog", "monolog", "custom", "stack" + | + */ + + 'channels' => [ + + 'stack' => [ + 'driver' => 'stack', + 'channels' => explode(',', env('LOG_STACK', 'single')), + 'ignore_exceptions' => false, + ], + + 'single' => [ + 'driver' => 'single', + 'path' => storage_path('logs/laravel.log'), + 'level' => env('LOG_LEVEL', 'debug'), + 'replace_placeholders' => true, + ], + + 'daily' => [ + 'driver' => 'daily', + 'path' => storage_path('logs/laravel.log'), + 'level' => env('LOG_LEVEL', 'debug'), + 'days' => env('LOG_DAILY_DAYS', 14), + 'replace_placeholders' => true, + ], + + 'slack' => [ + 'driver' => 'slack', + 'url' => env('LOG_SLACK_WEBHOOK_URL'), + 'username' => env('LOG_SLACK_USERNAME', 'Laravel Log'), + 'emoji' => env('LOG_SLACK_EMOJI', ':boom:'), + 'level' => env('LOG_LEVEL', 'critical'), + 'replace_placeholders' => true, + ], + + 'papertrail' => [ + 'driver' => 'monolog', + 'level' => env('LOG_LEVEL', 'debug'), + 'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class), + 'handler_with' => [ + 'host' => env('PAPERTRAIL_URL'), + 'port' => env('PAPERTRAIL_PORT'), + 'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'), + ], + 'processors' => [PsrLogMessageProcessor::class], + ], + + 'stderr' => [ + 'driver' => 'monolog', + 'level' => env('LOG_LEVEL', 'debug'), + 'handler' => StreamHandler::class, + 'formatter' => env('LOG_STDERR_FORMATTER'), + 'with' => [ + 'stream' => 'php://stderr', + ], + 'processors' => [PsrLogMessageProcessor::class], + ], + + 'syslog' => [ + 'driver' => 'syslog', + 'level' => env('LOG_LEVEL', 'debug'), + 'facility' => env('LOG_SYSLOG_FACILITY', LOG_USER), + 'replace_placeholders' => true, + ], + + 'errorlog' => [ + 'driver' => 'errorlog', + 'level' => env('LOG_LEVEL', 'debug'), + 'replace_placeholders' => true, + ], + + 'null' => [ + 'driver' => 'monolog', + 'handler' => NullHandler::class, + ], + + 'emergency' => [ + 'path' => storage_path('logs/laravel.log'), + ], + + ], + +]; diff --git a/config/mail.php b/config/mail.php new file mode 100644 index 0000000..756305b --- /dev/null +++ b/config/mail.php @@ -0,0 +1,116 @@ + env('MAIL_MAILER', 'log'), + + /* + |-------------------------------------------------------------------------- + | Mailer Configurations + |-------------------------------------------------------------------------- + | + | Here you may configure all of the mailers used by your application plus + | their respective settings. Several examples have been configured for + | you and you are free to add your own as your application requires. + | + | Laravel supports a variety of mail "transport" drivers that can be used + | when delivering an email. You may specify which one you're using for + | your mailers below. You may also add additional mailers if needed. + | + | Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2", + | "postmark", "resend", "log", "array", + | "failover", "roundrobin" + | + */ + + 'mailers' => [ + + 'smtp' => [ + 'transport' => 'smtp', + 'scheme' => env('MAIL_SCHEME'), + 'url' => env('MAIL_URL'), + 'host' => env('MAIL_HOST', '127.0.0.1'), + 'port' => env('MAIL_PORT', 2525), + 'username' => env('MAIL_USERNAME'), + 'password' => env('MAIL_PASSWORD'), + 'timeout' => null, + 'local_domain' => env('MAIL_EHLO_DOMAIN', parse_url(env('APP_URL', 'http://localhost'), PHP_URL_HOST)), + ], + + 'ses' => [ + 'transport' => 'ses', + ], + + 'postmark' => [ + 'transport' => 'postmark', + // 'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'), + // 'client' => [ + // 'timeout' => 5, + // ], + ], + + 'resend' => [ + 'transport' => 'resend', + ], + + 'sendmail' => [ + 'transport' => 'sendmail', + 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'), + ], + + 'log' => [ + 'transport' => 'log', + 'channel' => env('MAIL_LOG_CHANNEL'), + ], + + 'array' => [ + 'transport' => 'array', + ], + + 'failover' => [ + 'transport' => 'failover', + 'mailers' => [ + 'smtp', + 'log', + ], + ], + + 'roundrobin' => [ + 'transport' => 'roundrobin', + 'mailers' => [ + 'ses', + 'postmark', + ], + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Global "From" Address + |-------------------------------------------------------------------------- + | + | You may wish for all emails sent by your application to be sent from + | the same address. Here you may specify a name and address that is + | used globally for all emails that are sent by your application. + | + */ + + 'from' => [ + 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), + 'name' => env('MAIL_FROM_NAME', 'Example'), + ], + +]; diff --git a/config/queue.php b/config/queue.php new file mode 100644 index 0000000..116bd8d --- /dev/null +++ b/config/queue.php @@ -0,0 +1,112 @@ + env('QUEUE_CONNECTION', 'database'), + + /* + |-------------------------------------------------------------------------- + | Queue Connections + |-------------------------------------------------------------------------- + | + | Here you may configure the connection options for every queue backend + | used by your application. An example configuration is provided for + | each backend supported by Laravel. You're also free to add more. + | + | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" + | + */ + + 'connections' => [ + + 'sync' => [ + 'driver' => 'sync', + ], + + 'database' => [ + 'driver' => 'database', + 'connection' => env('DB_QUEUE_CONNECTION'), + 'table' => env('DB_QUEUE_TABLE', 'jobs'), + 'queue' => env('DB_QUEUE', 'default'), + 'retry_after' => (int) env('DB_QUEUE_RETRY_AFTER', 90), + 'after_commit' => false, + ], + + 'beanstalkd' => [ + 'driver' => 'beanstalkd', + 'host' => env('BEANSTALKD_QUEUE_HOST', 'localhost'), + 'queue' => env('BEANSTALKD_QUEUE', 'default'), + 'retry_after' => (int) env('BEANSTALKD_QUEUE_RETRY_AFTER', 90), + 'block_for' => 0, + 'after_commit' => false, + ], + + 'sqs' => [ + 'driver' => 'sqs', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), + 'queue' => env('SQS_QUEUE', 'default'), + 'suffix' => env('SQS_SUFFIX'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'after_commit' => false, + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => env('REDIS_QUEUE_CONNECTION', 'default'), + 'queue' => env('REDIS_QUEUE', 'default'), + 'retry_after' => (int) env('REDIS_QUEUE_RETRY_AFTER', 90), + 'block_for' => null, + 'after_commit' => false, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Job Batching + |-------------------------------------------------------------------------- + | + | The following options configure the database and table that store job + | batching information. These options can be updated to any database + | connection and table which has been defined by your application. + | + */ + + 'batching' => [ + 'database' => env('DB_CONNECTION', 'sqlite'), + 'table' => 'job_batches', + ], + + /* + |-------------------------------------------------------------------------- + | Failed Queue Jobs + |-------------------------------------------------------------------------- + | + | These options configure the behavior of failed queue job logging so you + | can control how and where failed jobs are stored. Laravel ships with + | support for storing failed jobs in a simple file or in a database. + | + | Supported drivers: "database-uuids", "dynamodb", "file", "null" + | + */ + + 'failed' => [ + 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'), + 'database' => env('DB_CONNECTION', 'sqlite'), + 'table' => 'failed_jobs', + ], + +]; diff --git a/config/services.php b/config/services.php new file mode 100644 index 0000000..27a3617 --- /dev/null +++ b/config/services.php @@ -0,0 +1,38 @@ + [ + 'token' => env('POSTMARK_TOKEN'), + ], + + 'ses' => [ + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + ], + + 'resend' => [ + 'key' => env('RESEND_KEY'), + ], + + 'slack' => [ + 'notifications' => [ + 'bot_user_oauth_token' => env('SLACK_BOT_USER_OAUTH_TOKEN'), + 'channel' => env('SLACK_BOT_USER_DEFAULT_CHANNEL'), + ], + ], + +]; diff --git a/config/session.php b/config/session.php new file mode 100644 index 0000000..ba0aa60 --- /dev/null +++ b/config/session.php @@ -0,0 +1,217 @@ + env('SESSION_DRIVER', 'database'), + + /* + |-------------------------------------------------------------------------- + | Session Lifetime + |-------------------------------------------------------------------------- + | + | Here you may specify the number of minutes that you wish the session + | to be allowed to remain idle before it expires. If you want them + | to expire immediately when the browser is closed then you may + | indicate that via the expire_on_close configuration option. + | + */ + + 'lifetime' => (int) env('SESSION_LIFETIME', 120), + + 'expire_on_close' => env('SESSION_EXPIRE_ON_CLOSE', false), + + /* + |-------------------------------------------------------------------------- + | Session Encryption + |-------------------------------------------------------------------------- + | + | This option allows you to easily specify that all of your session data + | should be encrypted before it's stored. All encryption is performed + | automatically by Laravel and you may use the session like normal. + | + */ + + 'encrypt' => env('SESSION_ENCRYPT', false), + + /* + |-------------------------------------------------------------------------- + | Session File Location + |-------------------------------------------------------------------------- + | + | When utilizing the "file" session driver, the session files are placed + | on disk. The default storage location is defined here; however, you + | are free to provide another location where they should be stored. + | + */ + + 'files' => storage_path('framework/sessions'), + + /* + |-------------------------------------------------------------------------- + | Session Database Connection + |-------------------------------------------------------------------------- + | + | When using the "database" or "redis" session drivers, you may specify a + | connection that should be used to manage these sessions. This should + | correspond to a connection in your database configuration options. + | + */ + + 'connection' => env('SESSION_CONNECTION'), + + /* + |-------------------------------------------------------------------------- + | Session Database Table + |-------------------------------------------------------------------------- + | + | When using the "database" session driver, you may specify the table to + | be used to store sessions. Of course, a sensible default is defined + | for you; however, you're welcome to change this to another table. + | + */ + + 'table' => env('SESSION_TABLE', 'sessions'), + + /* + |-------------------------------------------------------------------------- + | Session Cache Store + |-------------------------------------------------------------------------- + | + | When using one of the framework's cache driven session backends, you may + | define the cache store which should be used to store the session data + | between requests. This must match one of your defined cache stores. + | + | Affects: "apc", "dynamodb", "memcached", "redis" + | + */ + + 'store' => env('SESSION_STORE'), + + /* + |-------------------------------------------------------------------------- + | Session Sweeping Lottery + |-------------------------------------------------------------------------- + | + | Some session drivers must manually sweep their storage location to get + | rid of old sessions from storage. Here are the chances that it will + | happen on a given request. By default, the odds are 2 out of 100. + | + */ + + 'lottery' => [2, 100], + + /* + |-------------------------------------------------------------------------- + | Session Cookie Name + |-------------------------------------------------------------------------- + | + | Here you may change the name of the session cookie that is created by + | the framework. Typically, you should not need to change this value + | since doing so does not grant a meaningful security improvement. + | + */ + + 'cookie' => env( + 'SESSION_COOKIE', + Str::slug(env('APP_NAME', 'laravel'), '_').'_session' + ), + + /* + |-------------------------------------------------------------------------- + | Session Cookie Path + |-------------------------------------------------------------------------- + | + | The session cookie path determines the path for which the cookie will + | be regarded as available. Typically, this will be the root path of + | your application, but you're free to change this when necessary. + | + */ + + 'path' => env('SESSION_PATH', '/'), + + /* + |-------------------------------------------------------------------------- + | Session Cookie Domain + |-------------------------------------------------------------------------- + | + | This value determines the domain and subdomains the session cookie is + | available to. By default, the cookie will be available to the root + | domain and all subdomains. Typically, this shouldn't be changed. + | + */ + + 'domain' => env('SESSION_DOMAIN'), + + /* + |-------------------------------------------------------------------------- + | HTTPS Only Cookies + |-------------------------------------------------------------------------- + | + | By setting this option to true, session cookies will only be sent back + | to the server if the browser has a HTTPS connection. This will keep + | the cookie from being sent to you when it can't be done securely. + | + */ + + 'secure' => env('SESSION_SECURE_COOKIE'), + + /* + |-------------------------------------------------------------------------- + | HTTP Access Only + |-------------------------------------------------------------------------- + | + | Setting this value to true will prevent JavaScript from accessing the + | value of the cookie and the cookie will only be accessible through + | the HTTP protocol. It's unlikely you should disable this option. + | + */ + + 'http_only' => env('SESSION_HTTP_ONLY', true), + + /* + |-------------------------------------------------------------------------- + | Same-Site Cookies + |-------------------------------------------------------------------------- + | + | This option determines how your cookies behave when cross-site requests + | take place, and can be used to mitigate CSRF attacks. By default, we + | will set this value to "lax" to permit secure cross-site requests. + | + | See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value + | + | Supported: "lax", "strict", "none", null + | + */ + + 'same_site' => env('SESSION_SAME_SITE', 'lax'), + + /* + |-------------------------------------------------------------------------- + | Partitioned Cookies + |-------------------------------------------------------------------------- + | + | Setting this value to true will tie the cookie to the top-level site for + | a cross-site context. Partitioned cookies are accepted by the browser + | when flagged "secure" and the Same-Site attribute is set to "none". + | + */ + + 'partitioned' => env('SESSION_PARTITIONED_COOKIE', false), + +]; diff --git a/database/.gitignore b/database/.gitignore new file mode 100644 index 0000000..9b19b93 --- /dev/null +++ b/database/.gitignore @@ -0,0 +1 @@ +*.sqlite* diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php new file mode 100644 index 0000000..584104c --- /dev/null +++ b/database/factories/UserFactory.php @@ -0,0 +1,44 @@ + + */ +class UserFactory extends Factory +{ + /** + * The current password being used by the factory. + */ + protected static ?string $password; + + /** + * Define the model's default state. + * + * @return array + */ + public function definition(): array + { + return [ + 'name' => fake()->name(), + 'email' => fake()->unique()->safeEmail(), + 'email_verified_at' => now(), + 'password' => static::$password ??= Hash::make('password'), + 'remember_token' => Str::random(10), + ]; + } + + /** + * Indicate that the model's email address should be unverified. + */ + public function unverified(): static + { + return $this->state(fn (array $attributes) => [ + 'email_verified_at' => null, + ]); + } +} diff --git a/database/migrations/0001_01_01_000000_create_users_table.php b/database/migrations/0001_01_01_000000_create_users_table.php new file mode 100644 index 0000000..05fb5d9 --- /dev/null +++ b/database/migrations/0001_01_01_000000_create_users_table.php @@ -0,0 +1,49 @@ +id(); + $table->string('name'); + $table->string('email')->unique(); + $table->timestamp('email_verified_at')->nullable(); + $table->string('password'); + $table->rememberToken(); + $table->timestamps(); + }); + + Schema::create('password_reset_tokens', function (Blueprint $table) { + $table->string('email')->primary(); + $table->string('token'); + $table->timestamp('created_at')->nullable(); + }); + + Schema::create('sessions', function (Blueprint $table) { + $table->string('id')->primary(); + $table->foreignId('user_id')->nullable()->index(); + $table->string('ip_address', 45)->nullable(); + $table->text('user_agent')->nullable(); + $table->longText('payload'); + $table->integer('last_activity')->index(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('users'); + Schema::dropIfExists('password_reset_tokens'); + Schema::dropIfExists('sessions'); + } +}; diff --git a/database/migrations/0001_01_01_000001_create_cache_table.php b/database/migrations/0001_01_01_000001_create_cache_table.php new file mode 100644 index 0000000..b9c106b --- /dev/null +++ b/database/migrations/0001_01_01_000001_create_cache_table.php @@ -0,0 +1,35 @@ +string('key')->primary(); + $table->mediumText('value'); + $table->integer('expiration'); + }); + + Schema::create('cache_locks', function (Blueprint $table) { + $table->string('key')->primary(); + $table->string('owner'); + $table->integer('expiration'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('cache'); + Schema::dropIfExists('cache_locks'); + } +}; diff --git a/database/migrations/0001_01_01_000002_create_jobs_table.php b/database/migrations/0001_01_01_000002_create_jobs_table.php new file mode 100644 index 0000000..425e705 --- /dev/null +++ b/database/migrations/0001_01_01_000002_create_jobs_table.php @@ -0,0 +1,57 @@ +id(); + $table->string('queue')->index(); + $table->longText('payload'); + $table->unsignedTinyInteger('attempts'); + $table->unsignedInteger('reserved_at')->nullable(); + $table->unsignedInteger('available_at'); + $table->unsignedInteger('created_at'); + }); + + Schema::create('job_batches', function (Blueprint $table) { + $table->string('id')->primary(); + $table->string('name'); + $table->integer('total_jobs'); + $table->integer('pending_jobs'); + $table->integer('failed_jobs'); + $table->longText('failed_job_ids'); + $table->mediumText('options')->nullable(); + $table->integer('cancelled_at')->nullable(); + $table->integer('created_at'); + $table->integer('finished_at')->nullable(); + }); + + Schema::create('failed_jobs', function (Blueprint $table) { + $table->id(); + $table->string('uuid')->unique(); + $table->text('connection'); + $table->text('queue'); + $table->longText('payload'); + $table->longText('exception'); + $table->timestamp('failed_at')->useCurrent(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('jobs'); + Schema::dropIfExists('job_batches'); + Schema::dropIfExists('failed_jobs'); + } +}; diff --git a/database/migrations/2025_09_01_100000_create_event_types_table.php b/database/migrations/2025_09_01_100000_create_event_types_table.php new file mode 100644 index 0000000..ba1bad9 --- /dev/null +++ b/database/migrations/2025_09_01_100000_create_event_types_table.php @@ -0,0 +1,25 @@ +id(); + $table->json('name'); + $table->string('slug')->unique(); + $table->string('icon')->nullable(); + $table->json('settings')->nullable(); + $table->timestamps(); + }); + } + + public function down(): void + { + Schema::dropIfExists('event_types'); + } +}; + diff --git a/database/migrations/2025_09_01_100100_create_emotions_table.php b/database/migrations/2025_09_01_100100_create_emotions_table.php new file mode 100644 index 0000000..3b840ad --- /dev/null +++ b/database/migrations/2025_09_01_100100_create_emotions_table.php @@ -0,0 +1,34 @@ +id(); + $table->json('name'); + $table->string('icon', 50); + $table->string('color', 7); + $table->json('description')->nullable(); + $table->integer('sort_order')->default(0); + $table->boolean('is_active')->default(true); + $table->timestamps(); + }); + + Schema::create('emotion_event_type', function (Blueprint $table) { + $table->unsignedBigInteger('emotion_id'); + $table->unsignedBigInteger('event_type_id'); + $table->primary(['emotion_id', 'event_type_id']); + }); + } + + public function down(): void + { + Schema::dropIfExists('emotion_event_type'); + Schema::dropIfExists('emotions'); + } +}; + diff --git a/database/migrations/2025_09_01_100200_create_events_table.php b/database/migrations/2025_09_01_100200_create_events_table.php new file mode 100644 index 0000000..83aa704 --- /dev/null +++ b/database/migrations/2025_09_01_100200_create_events_table.php @@ -0,0 +1,29 @@ +id(); + $table->json('name'); + $table->json('description')->nullable(); + $table->date('date'); + $table->string('slug')->unique(); + $table->json('settings')->nullable(); + $table->unsignedBigInteger('event_type_id'); + $table->boolean('is_active')->default(true); + $table->string('default_locale', 5)->default('de'); + $table->timestamps(); + }); + } + + public function down(): void + { + Schema::dropIfExists('events'); + } +}; + diff --git a/database/migrations/2025_09_01_100300_create_tasks_table.php b/database/migrations/2025_09_01_100300_create_tasks_table.php new file mode 100644 index 0000000..f4297c0 --- /dev/null +++ b/database/migrations/2025_09_01_100300_create_tasks_table.php @@ -0,0 +1,29 @@ +id(); + $table->unsignedBigInteger('emotion_id'); + $table->unsignedBigInteger('event_type_id')->nullable(); + $table->json('title'); + $table->json('description'); + $table->json('example_text')->nullable(); + $table->enum('difficulty', ['easy','medium','hard'])->default('easy'); + $table->integer('sort_order')->default(0); + $table->boolean('is_active')->default(true); + $table->timestamps(); + }); + } + + public function down(): void + { + Schema::dropIfExists('tasks'); + } +}; + diff --git a/database/migrations/2025_09_01_100400_create_photos_and_likes_tables.php b/database/migrations/2025_09_01_100400_create_photos_and_likes_tables.php new file mode 100644 index 0000000..bf25a55 --- /dev/null +++ b/database/migrations/2025_09_01_100400_create_photos_and_likes_tables.php @@ -0,0 +1,40 @@ +id(); + $table->unsignedBigInteger('event_id'); + $table->unsignedBigInteger('emotion_id'); + $table->unsignedBigInteger('task_id')->nullable(); + $table->string('guest_name'); + $table->string('file_path'); + $table->string('thumbnail_path'); + $table->integer('likes_count')->default(0); + $table->boolean('is_featured')->default(false); + $table->json('metadata')->nullable(); + $table->timestamps(); + }); + + Schema::create('photo_likes', function (Blueprint $table) { + $table->id(); + $table->unsignedBigInteger('photo_id'); + $table->string('guest_name'); + $table->string('ip_address', 45)->nullable(); + $table->timestamp('created_at')->useCurrent(); + $table->unique(['photo_id','guest_name','ip_address']); + }); + } + + public function down(): void + { + Schema::dropIfExists('photo_likes'); + Schema::dropIfExists('photos'); + } +}; + diff --git a/database/migrations/2025_09_01_100500_create_legal_pages_table.php b/database/migrations/2025_09_01_100500_create_legal_pages_table.php new file mode 100644 index 0000000..07a9303 --- /dev/null +++ b/database/migrations/2025_09_01_100500_create_legal_pages_table.php @@ -0,0 +1,29 @@ +id(); + $table->string('slug', 32); + $table->json('title'); + $table->json('body_markdown'); + $table->string('locale_fallback', 5)->default('de'); + $table->integer('version')->default(1); + $table->timestamp('effective_from')->nullable(); + $table->boolean('is_published')->default(false); + $table->timestamps(); + $table->unique(['slug','version']); + }); + } + + public function down(): void + { + Schema::dropIfExists('legal_pages'); + } +}; + diff --git a/database/migrations/2025_09_01_101000_add_role_to_users_table.php b/database/migrations/2025_09_01_101000_add_role_to_users_table.php new file mode 100644 index 0000000..f5b64ba --- /dev/null +++ b/database/migrations/2025_09_01_101000_add_role_to_users_table.php @@ -0,0 +1,22 @@ +string('role')->default('super_admin')->after('password'); + }); + } + + public function down(): void + { + Schema::table('users', function (Blueprint $table) { + $table->dropColumn('role'); + }); + } +}; + diff --git a/database/migrations/2025_09_01_184839_create_personal_access_tokens_table.php b/database/migrations/2025_09_01_184839_create_personal_access_tokens_table.php new file mode 100644 index 0000000..40ff706 --- /dev/null +++ b/database/migrations/2025_09_01_184839_create_personal_access_tokens_table.php @@ -0,0 +1,33 @@ +id(); + $table->morphs('tokenable'); + $table->text('name'); + $table->string('token', 64)->unique(); + $table->text('abilities')->nullable(); + $table->timestamp('last_used_at')->nullable(); + $table->timestamp('expires_at')->nullable()->index(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('personal_access_tokens'); + } +}; diff --git a/database/migrations/2025_09_03_122009_create_task_collections_tables.php b/database/migrations/2025_09_03_122009_create_task_collections_tables.php new file mode 100644 index 0000000..bd790c2 --- /dev/null +++ b/database/migrations/2025_09_03_122009_create_task_collections_tables.php @@ -0,0 +1,29 @@ +id(); + $table->json('name'); + $table->json('description')->nullable(); + $table->timestamps(); + }); + + Schema::create('task_collection_task', function (Blueprint $table) { + $table->unsignedBigInteger('task_collection_id'); + $table->unsignedBigInteger('task_id'); + $table->primary(['task_collection_id','task_id']); + }); + } + + public function down(): void + { + Schema::dropIfExists('task_collection_task'); + Schema::dropIfExists('task_collections'); + } +}; \ No newline at end of file diff --git a/database/migrations/2025_09_03_122018_create_task_imports_table.php b/database/migrations/2025_09_03_122018_create_task_imports_table.php new file mode 100644 index 0000000..a6325cf --- /dev/null +++ b/database/migrations/2025_09_03_122018_create_task_imports_table.php @@ -0,0 +1,28 @@ +id(); + $table->string('disk')->default('local'); + $table->string('path'); + $table->string('source_filename'); + $table->enum('status', ['pending','processing','completed','failed'])->default('pending'); + $table->unsignedInteger('total_rows')->default(0); + $table->unsignedInteger('imported_rows')->default(0); + $table->json('errors')->nullable(); + $table->unsignedBigInteger('created_by')->nullable(); + $table->timestamps(); + }); + } + + public function down(): void + { + Schema::dropIfExists('task_imports'); + } +}; \ No newline at end of file diff --git a/database/migrations/2025_09_05_000001_add_two_factor_columns_to_users_table.php b/database/migrations/2025_09_05_000001_add_two_factor_columns_to_users_table.php new file mode 100644 index 0000000..27abf1e --- /dev/null +++ b/database/migrations/2025_09_05_000001_add_two_factor_columns_to_users_table.php @@ -0,0 +1,28 @@ +text('two_factor_secret')->nullable(); + $table->text('two_factor_recovery_codes')->nullable(); + $table->timestamp('two_factor_confirmed_at')->nullable(); + }); + } + + public function down(): void + { + Schema::table('users', function (Blueprint $table) { + $table->dropColumn([ + 'two_factor_secret', + 'two_factor_recovery_codes', + 'two_factor_confirmed_at', + ]); + }); + } +}; + diff --git a/database/migrations/2025_09_08_000100_create_tenants_table.php b/database/migrations/2025_09_08_000100_create_tenants_table.php new file mode 100644 index 0000000..eca11c2 --- /dev/null +++ b/database/migrations/2025_09_08_000100_create_tenants_table.php @@ -0,0 +1,42 @@ +id(); + $table->string('name'); + $table->string('slug')->unique(); + $table->string('domain')->nullable()->unique(); + + $table->string('contact_name')->nullable(); + $table->string('contact_email')->nullable(); + $table->string('contact_phone')->nullable(); + + // Simple event-credit based monetization (MVP) + $table->integer('event_credits_balance')->default(1); + $table->timestamp('free_event_granted_at')->nullable(); + + // Limits & quotas + $table->integer('max_photos_per_event')->default(500); + $table->integer('max_storage_mb')->default(1024); + + // Feature flags & misc + $table->json('features')->nullable(); + $table->timestamp('last_activity_at')->nullable(); + + $table->timestamps(); + }); + } + + public function down(): void + { + Schema::dropIfExists('tenants'); + } +}; + diff --git a/database/migrations/2025_09_08_000200_add_tenant_fields_to_users_table.php b/database/migrations/2025_09_08_000200_add_tenant_fields_to_users_table.php new file mode 100644 index 0000000..681fa18 --- /dev/null +++ b/database/migrations/2025_09_08_000200_add_tenant_fields_to_users_table.php @@ -0,0 +1,38 @@ +foreignId('tenant_id')->nullable()->after('id') + ->constrained('tenants')->nullOnDelete(); + } + if (! Schema::hasColumn('users', 'role')) { + $table->string('role', 32)->default('tenant_user')->after('password')->index(); + } + }); + } + + public function down(): void + { + Schema::table('users', function (Blueprint $table) { + if (Schema::hasColumn('users', 'tenant_id')) { + // Drop FK first if the driver supports it + try { $table->dropConstrainedForeignId('tenant_id'); } catch (\Throwable $e) { + try { $table->dropForeign(['tenant_id']); } catch (\Throwable $e2) {} + $table->dropColumn('tenant_id'); + } + } + if (Schema::hasColumn('users', 'role')) { + $table->dropColumn('role'); + } + }); + } +}; + diff --git a/database/migrations/2025_09_08_000300_add_tenant_id_to_events_table.php b/database/migrations/2025_09_08_000300_add_tenant_id_to_events_table.php new file mode 100644 index 0000000..0dff83c --- /dev/null +++ b/database/migrations/2025_09_08_000300_add_tenant_id_to_events_table.php @@ -0,0 +1,36 @@ +foreignId('tenant_id')->nullable()->after('id')->constrained('tenants')->nullOnDelete(); + } + if (Schema::hasColumn('events', 'slug')) { + // Optional: ensure index exists + try { $table->index('slug'); } catch (\Throwable $e) {} + } + }); + } + + public function down(): void + { + if (! Schema::hasTable('events')) return; + Schema::table('events', function (Blueprint $table) { + if (Schema::hasColumn('events', 'tenant_id')) { + try { $table->dropConstrainedForeignId('tenant_id'); } catch (\Throwable $e) { + try { $table->dropForeign(['tenant_id']); } catch (\Throwable $e2) {} + $table->dropColumn('tenant_id'); + } + } + }); + } +}; + diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php new file mode 100644 index 0000000..2f336b7 --- /dev/null +++ b/database/seeders/DatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + EventTypesSeeder::class, + EmotionsSeeder::class, + DemoEventSeeder::class, + TasksSeeder::class, + DemoAchievementsSeeder::class, + ]); + + // Optional: demo user + User::factory()->create([ + 'name' => 'Test User', + 'email' => 'test@example.com', + ]); + } +} diff --git a/database/seeders/DemoAchievementsSeeder.php b/database/seeders/DemoAchievementsSeeder.php new file mode 100644 index 0000000..9006250 --- /dev/null +++ b/database/seeders/DemoAchievementsSeeder.php @@ -0,0 +1,73 @@ +first(); + if (!$event) { + $event = Event::create([ + 'slug' => 'demo-wedding-2025', + 'name' => ['de' => 'Demo Hochzeit 2025', 'en' => 'Demo Wedding 2025'], + 'description' => ['de' => 'Demo-Event', 'en' => 'Demo event'], + 'date' => now()->toDateString(), + 'event_type_id' => null, + 'is_active' => true, + 'settings' => [], + 'default_locale' => 'de', + ]); + } + + $emotions = Emotion::query()->take(6)->get(); + + if (Task::count() === 0 && $emotions->isNotEmpty()) { + foreach (range(1, 10) as $i) { + $emo = $emotions->random(); + Task::create([ + 'title' => ['de' => "Aufgabe #$i", 'en' => "Task #$i"], + 'description' => ['de' => 'Kurzbeschreibung', 'en' => 'Short description'], + 'emotion_id' => $emo->id, + 'is_active' => true, + ]); + } + } + + $tasks = Task::inRandomOrder()->take(10)->get(); + if ($tasks->isEmpty()) { + return; // nothing to seed + } + + // Simple placeholder PNG (100x100) + $png = base64_decode('iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAGXRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4xLjM2qefiAAABVklEQVR4Xu3UQQrCMBRF0cK1J3YQyF5z6jYv3Q0W3gQ6b8IYc3ov2Jf6n8A0Yq1nG2mZfE8y2GQkAAAAAAAAAANhK0ZL8b3xP2m5b4+0O8S9I3o9b3r8CwV8u0aH3bX8wE4WqgX3m4v3zO2KJ6l4yT4xvCw0b1q2c2w8bqQO3vFf0u8wUo5L3a8b0n2l5yq9Kf4zvCw0f1q2s2w0bpQO7PFv0s8wco4b3a8b0n2k5yq9Kf4zvCw0f1q2s2w0bpQO7PFv0s8wYgAAAAAAAAAAAACw9wG0qN2b2l3cMQAAAABJRU5ErkJggg=='); + $guests = ['Alex', 'Marie', 'Lukas', 'Lena', 'Tom', 'Sophie', 'Jonas', 'Mia']; + + foreach (range(1, 24) as $i) { + $task = $tasks->random(); + $fileName = 'photo_demo_'.Str::random(6).'.png'; + $thumbName = 'thumb_demo_'.Str::random(6).'.png'; + Storage::disk('public')->put('photos/'.$fileName, $png); + Storage::disk('public')->put('thumbnails/'.$thumbName, $png); + + Photo::create([ + 'event_id' => $event->id, + 'emotion_id' => $task->emotion_id, + 'task_id' => $task->id, + 'guest_name' => $guests[array_rand($guests)], + 'file_path' => 'photos/'.$fileName, + 'thumbnail_path' => 'thumbnails/'.$thumbName, + 'likes_count' => rand(0, 7), + 'metadata' => ['seeded' => true], + 'created_at' => now()->subMinutes(rand(1, 180)), + 'updated_at' => now(), + ]); + } + } +} + diff --git a/database/seeders/DemoEventSeeder.php b/database/seeders/DemoEventSeeder.php new file mode 100644 index 0000000..72a5fa8 --- /dev/null +++ b/database/seeders/DemoEventSeeder.php @@ -0,0 +1,24 @@ +first(); + if(!$type){ return; } + Event::updateOrCreate(['slug'=>'demo-wedding-2025'], [ + 'name' => ['de'=>'Demo Hochzeit 2025','en'=>'Demo Wedding 2025'], + 'description' => ['de'=>'Demo-Event','en'=>'Demo event'], + 'date' => now()->addMonths(3)->toDateString(), + 'event_type_id' => $type->id, + 'is_active' => true, + 'settings' => [], + 'default_locale' => 'de', + ]); + } +} diff --git a/database/seeders/EmotionsSeeder.php b/database/seeders/EmotionsSeeder.php new file mode 100644 index 0000000..99f06b1 --- /dev/null +++ b/database/seeders/EmotionsSeeder.php @@ -0,0 +1,44 @@ +['de'=>'Liebe','en'=>'Love'], 'icon'=>'💖', 'color'=>'#ff6b9d', 'description'=>['de'=>'Romantische Momente','en'=>'Romantic moments'], 'sort_order'=>1], + ['name'=>['de'=>'Freude','en'=>'Joy'], 'icon'=>'😊', 'color'=>'#ffd93d', 'description'=>['de'=>'Fröhliche Augenblicke','en'=>'Happy moments'], 'sort_order'=>2], + ['name'=>['de'=>'Rührung','en'=>'Touched'], 'icon'=>'🥹', 'color'=>'#6bcf7f', 'description'=>['de'=>'Berührende Szenen','en'=>'Touching scenes'], 'sort_order'=>3], + ['name'=>['de'=>'Nostalgie','en'=>'Nostalgia'], 'icon'=>'🕰️', 'color'=>'#a78bfa', 'description'=>['de'=>'Erinnerungen','en'=>'Memories'], 'sort_order'=>4], + ['name'=>['de'=>'Überraschung','en'=>'Surprise'], 'icon'=>'😲', 'color'=>'#fb7185', 'description'=>['de'=>'Unerwartete Momente','en'=>'Unexpected moments'], 'sort_order'=>5], + ['name'=>['de'=>'Stolz','en'=>'Pride'], 'icon'=>'🏆', 'color'=>'#34d399', 'description'=>['de'=>'Triumphale Augenblicke','en'=>'Triumphal moments'], 'sort_order'=>6], + ['name'=>['de'=>'Teamgeist','en'=>'Team Spirit'], 'icon'=>'🤝', 'color'=>'#38bdf8', 'description'=>['de'=>'Zusammenhalt','en'=>'Team bonding'], 'sort_order'=>7], + ['name'=>['de'=>'Besinnlichkeit','en'=>'Contemplation'], 'icon'=>'🕯️', 'color'=>'#22c55e', 'description'=>['de'=>'Feierliche Stimmung','en'=>'Festive calm'], 'sort_order'=>8], + ]; + + $typeIds = EventType::pluck('id','slug'); + + foreach ($emotionData as $e) { + $emotion = Emotion::updateOrCreate(['name->de' => $e['name']['de']], $e); + // Link to types + $links = ['wedding','birthday','corporate','christmas']; + if ($e['name']['de'] === 'Teamgeist') { $links = ['corporate']; } + if ($e['name']['de'] === 'Besinnlichkeit') { $links = ['christmas']; } + foreach ($links as $slug) { + if (isset($typeIds[$slug])) { + DB::table('emotion_event_type')->updateOrInsert([ + 'emotion_id' => $emotion->id, + 'event_type_id' => $typeIds[$slug], + ], []); + } + } + } + } +} + diff --git a/database/seeders/EventTasksSeeder.php b/database/seeders/EventTasksSeeder.php new file mode 100644 index 0000000..80ca76c --- /dev/null +++ b/database/seeders/EventTasksSeeder.php @@ -0,0 +1,244 @@ + [ + ['Herzrahmen', 'Formt mit euren Händen ein Herz um das Paar.', 'Heart Frame', 'Make a heart with your hands around the couple.'], + ['Erster Blick', 'Fangt den Moment des ersten Blicks ein.', 'First Look', 'Capture the first look moment.'], + ['Kuss im Konfetti', 'Kussmoment mit Konfetti oder Blütenregen.', 'Kiss in Confetti', 'A kiss with confetti or petals.'], + ['Ringmoment', 'Nahaufnahme von Händen und Ringen.', 'Rings & Hands', 'Close‑up of hands and rings.'], + ['Schleierwind', 'Der Schleier weht – fangt Bewegung ein.', 'Veil in the Wind', 'Catch the veil in motion.'], + ['Liebesbrief', 'Lest euch eine kurze Botschaft vor.', 'Love Note', 'Read a short love note.'], + ['Umarmung von hinten', 'Eine Person umarmt die andere von hinten.', 'Back Hug', 'Back hug pose.'], + ['Sonnenuntergang', 'Silhouette im goldenen Licht.', 'Sunset Silhouette', 'Silhouette in golden light.'], + ['Nasenstupser', 'Forehead‑ oder Nose‑Touch.', 'Forehead Touch', 'Forehead or nose touch.'], + ['Händchenhalten', 'Hände greifen sich – Fokus auf Gefühl.', 'Holding Hands', 'Hands meeting – focus on feeling.'], + ['Tanz im Freien', 'Kurzer Tanzschritt unter freiem Himmel.', 'Dance Outside', 'A quick dance step outdoors.'], + ['Lächeln mit Augen', '„Smize“ – lächelt nur mit den Augen.', 'Smize', 'Smile with your eyes.'], + ['Gegensätze ziehen an', 'Stellt eure Unterschiede liebvoll dar.', 'Opposites Attract', 'Show your differences playfully.'], + ['Hinter dem Schleier', 'Kuss hinter dem Schleier.', 'Behind the Veil', 'Kiss behind the veil.'], + ['Hand aufs Herz', 'Hände auf Herz – echter Moment.', 'Hand on Heart', 'Hands on heart – genuine moment.'], + ['Namen schreiben', 'Schreibt Namen in die Luft (Lichtspur).', 'Name in Light', 'Write names in the air (light trail).'], + ['Blick zurück', 'Geht weg und schaut zurück zur Kamera.', 'Look Back', 'Walk away, look back to camera.'], + ['Gemeinsames Lachen', 'Bringt euch zum Lachen und klick.', 'Shared Laugh', 'Make each other laugh and snap.'], + ['Spiegelmoment', 'Euer Spiegelbild kreativ einbauen.', 'Mirror Moment', 'Use your reflection creatively.'], + ['Handkuss', 'Ein klassischer Handkuss.', 'Hand Kiss', 'A classic hand kiss.'], + ], + 'Freude' => [ + ['Lachwelle', 'Reihe bildet nacheinander eine Lachwelle.', 'Laugh Wave', 'Create a laugh wave one by one.'], + ['High‑Five‑Kette', 'Gebt euch reihum High‑Fives.', 'High‑Five Chain', 'High‑fives around the group.'], + ['Freudensprung', 'Springt gleichzeitig in die Luft.', 'Jump of Joy', 'Jump together.'], + ['Fotobomb', 'Huscht freundlich ins Bild.', 'Photobomb', 'Sneak into the shot (friendly!).'], + ['Überraschtes Gesicht', 'Überraschte Mimik – Hände hoch!', 'Surprised Face', 'Surprised faces – hands up!'], + ['Spiegel‑Lacher', 'Spiegelt exakt die Mimik.', 'Mirror Laugh', 'Mirror each other’s laugh.'], + ['Tanzender Eingang', 'Tanzend ins Bild laufen.', 'Dancing Entrance', 'Dance into the frame.'], + ['Konfetti‑Grinsen', 'Konfetti werfen & lachen.', 'Confetti Grin', 'Throw confetti & grin.'], + ['Witz erzählen', 'Schneller Witz – Klick beim Lachen.', 'Tell a Joke', 'Tell a joke, snap at the laugh.'], + ['Freunde‑Huddle', 'Köpfe zusammen, Grinsen groß.', 'Friends Huddle', 'Heads together, big grin.'], + ['Back‑to‑Back', 'Rücken an Rücken posieren.', 'Back to Back', 'Pose back‑to‑back.'], + ['V‑Zeichen', 'Peace‑Zeichen kreativ einsetzen.', 'Peace Sign', 'Use peace sign creatively.'], + ['Luftkuss', 'Kuss in die Kamera werfen.', 'Air Kiss', 'Blow a kiss to the camera.'], + ['Emoji‑Gesichter', 'Stellt Emojis nach.', 'Emoji Faces', 'Act out your favorite emojis.'], + ['Mini‑Choreo', '3‑Schritt‑Tanz, dann Foto.', 'Mini Choreo', '3‑step dance then photo.'], + ['Hut‑Tausch', 'Accessoires tauschen & posen.', 'Hat Swap', 'Swap props and pose.'], + ['Cheers!', 'Gläser/Tassen anstoßen.', 'Cheers!', 'Clink glasses/cups.'], + ['Zungenakrobatik', 'Zunge raus – Spaßpose.', 'Silly Tongue', 'Tongue out – silly pose.'], + ['Oh‑yeah‑Pose', 'Begeisterungs‑Pose mit Fäusten.', 'Oh‑Yeah Pose', 'Fists up “oh‑yeah” pose.'], + ['Händeschütteln', 'Übertriebenes Händeschütteln.', 'Epic Handshake', 'Over‑the‑top handshake.'], + ], + 'Rührung' => [ + ['Berührender Blick', 'Schaut euch sanft in die Augen.', 'Tender Look', 'Gently look into each other’s eyes.'], + ['Freudentränen', 'Ein Taschentuchmoment (authentisch).', 'Happy Tears', 'Capture a tissue moment.'], + ['Hände nah', 'Nahaufnahme ineinanderliegender Hände.', 'Hands Close', 'Close‑up of intertwined hands.'], + ['Dankesumarmung', 'Umarmt jemanden, dem ihr danken wollt.', 'Thank‑You Hug', 'Hug someone you want to thank.'], + ['Erinnerungsstück', 'Haltet ein Erinnerungsstück in die Kamera.', 'Keepsake', 'Show a meaningful keepsake.'], + ['Flüstern', 'Flüstert ein Kompliment ins Ohr.', 'Whisper Compliment', 'Whisper a compliment.'], + ['Ruhemoment', 'Schließt kurz die Augen, atmet ein.', 'Quiet Moment', 'Close eyes, breathe in.'], + ['Schulterblick', 'Kopf auf Schulter – Geborgenheit.', 'Head on Shoulder', 'Head on shoulder – warmth.'], + ['Verlobungsstory', 'Zeigt „so war’s“ mit Gesten.', 'Engagement Story', 'Act out “how it happened”.'], + ['Geschenk öffnen', 'Kleines Geschenk öffnen – Reaktion.', 'Open a Gift', 'Open a small gift – reaction.'], + ['Erste Erinnerung', 'Teilt eine kurze erste Erinnerung.', 'First Memory', 'Share a first memory.'], + ['Wunsch ans Paar', 'Flüstert einen Wunsch fürs Paar.', 'Wish for Couple', 'Whisper a wish for the couple.'], + ['Nahporträt', 'Sehr nahes Porträt – sanftes Licht.', 'Close Portrait', 'Very close portrait, soft light.'], + ['Schritt für Schritt', 'Langsam aufeinander zugehen.', 'Step by Step', 'Walk slowly towards each other.'], + ['Gedankenpose', 'Denkt an etwas Schönes – Klick.', 'Thoughtful Pose', 'Think of something lovely – click.'], + ['Ringkuss', 'Kuss auf die Hand mit Ring.', 'Ring Kiss', 'Kiss the hand with the ring.'], + ['Stille Freude', 'Leises Lächeln, geschlossene Augen.', 'Quiet Joy', 'Soft smile, eyes closed.'], + ['Vertrauter Halt', 'Arm einhaken, nah zusammen.', 'Linked Arms', 'Link arms, stand close.'], + ['„Danke“ zeigen', 'Schreibt „Danke“ mit Händen/Karte.', 'Show “Thank You”', 'Show “Thank You” with hands/card.'], + ['Ein Wort', 'Sagt gleichzeitig 1 Wort über den anderen.', 'One Word', 'Say one word about the other.'], + ], + 'Nostalgie' => [ + ['Altes Foto nachstellen', 'Stellt ein altes Familienfoto nach.', 'Recreate Old Photo', 'Recreate an old family photo.'], + ['Schwarzweiß', 'Tut so, als wäre es 1960 – s/w Look.', 'Black & White', 'Pretend it’s 1960 – b/w mood.'], + ['Tanz der Eltern', 'Imitiert den Tanz eurer Eltern.', 'Parents’ Dance', 'Imitate your parents’ dance.'], + ['Vintage‑Pose', 'Hände gefaltet, altmodische Pose.', 'Vintage Pose', 'Folded hands, old‑school pose.'], + ['Familienerbstück', 'Haltet ein Erbstück in die Kamera.', 'Heirloom', 'Show a family heirloom.'], + ['Erstes Treffen', 'Stellt euer erstes Treffen nach.', 'First Meeting', 'Reenact your first meeting.'], + ['Album aufschlagen', 'Album/Handy‑Galerie zeigen.', 'Open Album', 'Show an album/gallery.'], + ['Zeitreise', 'Pose wie in eurer Lieblingsdekade.', 'Time Travel', 'Pose from your favorite decade.'], + ['Brief an Zukunft', 'Haltet “Brief an uns” in Kamera.', 'Letter to Future', 'Hold “letter to us” to camera.'], + ['Requisiten retro', 'Retro‑Accessoires improvisieren.', 'Retro Props', 'Improvise retro props.'], + ['Polaroid‑Look', 'Haltet einen Rahmen wie Polaroid.', 'Polaroid Frame', 'Pose with a “polaroid” frame.'], + ['Kinderfoto', 'Haltet ein Kinderfoto – gleiche Pose.', 'Childhood Photo', 'Hold a childhood photo – same pose.'], + ['Alte Geste', 'Eine frühere Gewohnheit nachstellen.', 'Old Habit', 'Act out an old habit.'], + ['Telefon von früher', 'Imitierte Telefongesten von früher.', 'Old Phone', 'Old‑school phone gesture.'], + ['Hut & Handschuhe', 'Elegante 20er‑Jahre Geste.', 'Hat & Gloves', 'Elegant 1920s gesture.'], + ['Nostalgie‑Umarmung', 'Langsame, lange Umarmung.', 'Nostalgic Hug', 'Slow, long hug.'], + ['Erster Tanzschritt', 'Stellt den ersten Tanzschritt nach.', 'First Step', 'Reenact first dance step.'], + ['Alte Kamera', 'Tut so, als würdet ihr analog knipsen.', 'Old Camera', 'Pretend to shoot on film.'], + ['Kinoplakat', 'Stellt ein altes Filmplakat nach.', 'Movie Poster', 'Recreate a vintage movie poster.'], + ['Handschrift', 'Schreibt Vornamen mit schöner Schrift.', 'Handwriting', 'Write names in neat script.'], + ], + 'Überraschung' => [ + ['Konfetti‑Boom', 'Unerwarteter Konfettischwall – Klick!', 'Confetti Boom', 'Surprise confetti – snap!'], + ['Hinter dem Rücken', 'Zeigt etwas hinter dem Rücken vor.', 'Behind the Back', 'Reveal something from behind your back.'], + ['Gäste tauchen auf', 'Neue Person springt ins Bild.', 'Pop‑in Guest', 'A guest pops into frame.'], + ['Geschenk‑Reveal', 'Kleines Geschenk enthüllen.', 'Gift Reveal', 'Reveal a small gift.'], + ['Plötzlicher Tanz', 'Unerwarteter Tanzmove!', 'Sudden Dance', 'Do a surprise dance move.'], + ['Hand vor Mund', '„Oh!“‑Geste mit Augen groß.', 'Oh! Gesture', '“Oh!” gesture, big eyes.'], + ['Wechsel der Plätze', 'Springt schnell die Plätze.', 'Switch Places', 'Quickly switch places.'], + ['Falsche Richtung', 'Schaut alle woanders hin.', 'Look Away', 'Everyone looks elsewhere.'], + ['Flip‑Pose', 'Posenwechsel auf Kommando.', 'Flip Pose', 'Flip pose on cue.'], + ['Plötzliches Lachen', 'Lachen aus dem Nichts.', 'Sudden Laugh', 'Burst into laughter.'], + ['Versteckspiel', 'Versteckt euch hinter Deko.', 'Hide & Seek', 'Hide behind decor.'], + ['Schattenspiel', 'Schatten an der Wand formen.', 'Shadow Play', 'Make shadows on the wall.'], + ['Schnips‑Moment', 'Schnippt und friert ein.', 'Snap & Freeze', 'Snap fingers and freeze.'], + ['Unerwarteter Hut', 'Plötzlich Hut/Schal tauschen.', 'Surprise Hat', 'Swap hats/scarves.'], + ['Zaubertrick', 'Kleiner „Magic“‑Trick.', 'Magic Trick', 'A tiny “magic” trick.'], + ['Drehen & Stopp', 'Dreht euch – Stopp – Klick.', 'Spin & Stop', 'Spin and stop – snap.'], + ['Enger Zoom', 'Kamera ganz nah ran.', 'Tight Zoom', 'Get very close to the camera.'], + ['Falscher Start', 'Tut so, als wärt ihr schon fertig.', 'False Start', 'Pretend you finished already.'], + ['Mini‑Schreck', 'Erschreckt euch spielerisch.', 'Play Scare', 'Play a tiny scare.'], + ['Jubelruf', 'Unerwarteter Jubel – Arme hoch.', 'Cheer Burst', 'Sudden cheer – hands up.'], + ], + 'Stolz' => [ + ['Siegerpose', 'Stolze Siegerpose mit Pokalgesten.', 'Victory Pose', 'Proud victory pose.'], + ['Daumen hoch', 'Großer Daumen hoch zur Kamera.', 'Thumbs Up', 'Big thumbs up to camera.'], + ['„Das haben wir geschafft“', 'Zeigt auf euch und lächelt stolz.', 'We Did It', 'Point at yourselves, proud smile.'], + ['Orden anheften', 'Tut so, als würdet ihr Orden heften.', 'Pin a Medal', 'Pretend to pin a medal.'], + ['Haltung zeigen', 'Aufrecht stehen, Brust raus.', 'Stand Tall', 'Stand upright, chest out.'], + ['Meisterstück', 'Zeigt ein Ergebnis, auf das ihr stolz seid.', 'Masterpiece', 'Show a result you’re proud of.'], + ['Team‑Applaus', 'Applaus füreinander, dann in Kamera.', 'Applaud Each Other', 'Applaud each other, then camera.'], + ['Hand aufs Herz', 'Stolzer Blick, Hand aufs Herz.', 'Proud Heart', 'Hand on heart, proud look.'], + ['Stehende Welle', 'Alle nacheinander aufstehen – Klick.', 'Standing Wave', 'Stand up one by one – snap.'], + ['Schultern klopfen', 'Klopft euch freundlich auf die Schulter.', 'Pat on Back', 'Pat each other on the back.'], + ['Banner hoch', 'Hebt ein Schild „Yeah!“ hoch.', 'Banner Up', 'Hold up a “Yeah!” sign.'], + ['Heldenblick', 'Blick in die Ferne, Kinn hoch.', 'Hero Look', 'Look into distance, chin up.'], + ['Trophäe improvisiert', 'Impro‑Trophäe in die Höhe.', 'Impro Trophy', 'Raise an improvised trophy.'], + ['Da ist die Kamera', 'Selbstsicher direkt in die Linse.', 'Own the Lens', 'Confidently into the lens.'], + ['Spitzenleistung', 'Zeigt die “Nummer Eins”‑Geste.', 'Number One', 'Show a “number one” gesture.'], + ['Aufstellung', 'Stellt euch wie ein Teamfoto auf.', 'Line‑Up', 'Line up like a team photo.'], + ['Partnerpose', 'Zwei nebeneinander – stolz.', 'Partner Pose', 'Two side by side – proud.'], + ['Familienstolz', 'Familien‑Stolzpose mit Lächeln.', 'Family Pride', 'Family pride pose.'], + ['Freundesstolz', 'Freundes‑Stolzpose, Arm in Arm.', 'Friends’ Pride', 'Arms around – pride.'], + ['Applaus fürs Paar', 'Applaudiert dem Paar in Kamera.', 'Applause for Couple', 'Applaud the couple to camera.'], + ], + 'Teamgeist' => [ + ['Handkreis', 'Hände in der Mitte stapeln – Go!', 'Hand Circle', 'Hands stacked in the middle.'], + ['Conga‑Linie', 'Conga‑Schlange – Foto von vorn.', 'Conga Line', 'Conga line – shot from front.'], + ['Telefonkette', 'Flüstern nacheinander – letzter ruft’s.', 'Whisper Chain', 'Whisper chain – last says it.'], + ['Namensschrift', 'Formt den Namen des Paars.', 'Name Shape', 'Shape the couple’s name.'], + ['Brückenbau', 'Bildet eine Menschenbrücke.', 'Human Bridge', 'Form a human bridge.'], + ['Wimpelzug', 'Zieht imaginäre Wimpel hoch.', 'Pennant Pull', 'Pull up imaginary pennants.'], + ['Schulter an Schulter', 'Dicht zusammen – Teamblick.', 'Shoulder to Shoulder', 'Shoulder to shoulder.'], + ['Wellenlauf', 'Eine Person läuft durch Spalier.', 'Guard of Honor', 'Run through a guard of honor.'], + ['Spiegeln zu zweit', 'Zweier‑Teams spiegeln Posen.', 'Mirror in Pairs', 'Pairs mirror poses.'], + ['Huckepack', 'Jemand trägt jemanden – sicher!', 'Piggyback', 'Piggyback (safely!).'], + ['Doppel‑Cheers', 'Zweier‑“Cheers!” in Serie.', 'Double Cheers', 'Pairs do a quick cheers.'], + ['Timing‑Klatscher', 'Alle klatschen gleichzeitig.', 'Sync Clap', 'Clap in sync.'], + ['Zugseil', 'Tut so, als würdet ihr ein Seil ziehen.', 'Tug the Rope', 'Pretend tug of war.'], + ['Handshake‑Kette', 'Kette aus Handschlägen.', 'Handshake Chain', 'Chain of handshakes.'], + ['Formationsfoto', 'Stellt eine Form (Kreis/Herz).', 'Formation', 'Form a circle/heart.'], + ['Staffelstab', 'Imitiere Staffelstab‑Übergabe.', 'Relay Baton', 'Relay baton hand‑off.'], + ['Teamruf', 'Alle rufen denselben Teamruf.', 'Team Chant', 'Shout a team chant.'], + ['Wir‑Welle', '“Wir!”‑Ruf, Hände hoch.', 'We‑Wave', 'Shout “We!” hands up.'], + ['Gassenlauf', 'Gasse bilden – jemand läuft durch.', 'Lane Run', 'Form a lane – someone runs.'], + ['Schulterreihe', 'Schultern fassen, Reihe bilden.', 'Linked Row', 'Link shoulders, form a row.'], + ], + 'Besinnlichkeit' => [ + ['Kerzenlicht', 'Portrait im Kerzenlicht (vorsichtig).', 'Candle Light', 'Portrait by candlelight (careful).'], + ['Ruhepause', 'Augen schließen, tief atmen.', 'Quiet Pause', 'Close eyes, breathe deeply.'], + ['Hand aufs Herz', 'Innere Ruhe – Blick nach innen.', 'Hand on Heart', 'Look inward – calm.'], + ['Leises Lächeln', 'Ganz sanftes Lächeln.', 'Soft Smile', 'Very gentle smile.'], + ['Fensterlicht', 'Seitliches Fensterlicht nutzen.', 'Window Light', 'Use side window light.'], + ['Lesemoment', 'Jemand liest leise vor.', 'Reading Moment', 'Someone reads softly.'], + ['Gebet/Wunsch', 'Ein stiller Wunsch oder Gebet.', 'Silent Wish', 'A quiet wish or prayer.'], + ['Danke‑Geste', 'Dankbare Geste mit Blick zur Kamera.', 'Grateful Gesture', 'Grateful gesture to camera.'], + ['Nahaufnahme Augen', 'Fokus auf die Augen.', 'Eyes Close‑Up', 'Focus on the eyes.'], + ['Hand in Hand', 'Langsame Bewegung der Hände.', 'Hands Moving', 'Slow hand movement.'], + ['Anlehnen', 'Lehnt euch sanft aneinander.', 'Lean Gently', 'Lean gently together.'], + ['Still stehen', '30 Sekunden ganz ruhig stehen.', 'Stand Still', 'Stand very still.'], + ['Licht & Schatten', 'Sanftes Spiel aus Licht/Schatten.', 'Light & Shadow', 'Soft light/shadow play.'], + ['Aufrichtigkeit', 'Direkter, ruhiger Blick.', 'Sincere Look', 'Direct, calm look.'], + ['Hauch von Lächeln', 'Nur ein Hauch – subtil.', 'Hint of Smile', 'Just a hint – subtle.'], + ['Hände im Schoß', 'Entspannte Hände im Schoß.', 'Hands in Lap', 'Hands resting in lap.'], + ['Stiller Kreis', 'Kleiner Kreis, Köpfe zusammen.', 'Quiet Circle', 'Small circle, heads together.'], + ['Schulter‑Touch', 'Kurzer Schulterkontakt, Ruhe.', 'Shoulder Touch', 'Brief shoulder touch.'], + ['Atem zählen', 'Zählt 3 Atemzüge gemeinsam.', 'Count Breaths', 'Count 3 breaths together.'], + ['Augen schließen', 'Alle Augen schließen – Klick.', 'Eyes Closed', 'All close eyes – click.'], + ], + ]; + + // Difficulty rotation + $difficulties = ['easy','easy','medium','easy','medium','hard']; + + foreach (Emotion::all() as $emotion) { + $name = is_array($emotion->name) ? ($emotion->name['de'] ?? array_values($emotion->name)[0]) : (string) $emotion->name; + $list = $catalog[$name] ?? null; + if (!$list) continue; // skip unknown emotion labels + + $created = 0; $order = 1; + foreach ($list as $i => $row) { + [$deTitle, $deDesc, $enTitle, $enDesc] = $row; + + // Avoid duplicates: check same DE title within this emotion + $exists = Task::where('emotion_id', $emotion->id) + ->where('title->de', $deTitle) + ->exists(); + if ($exists) { $order++; continue; } + + Task::create([ + 'emotion_id' => $emotion->id, + 'event_type_id' => null, + 'title' => ['de' => $deTitle, 'en' => $enTitle], + 'description' => ['de' => $deDesc, 'en' => $enDesc], + 'example_text' => ['de' => null, 'en' => null], + 'difficulty' => $difficulties[$i % count($difficulties)], + 'sort_order' => $order++, + 'is_active' => true, + ]); + $created++; + } + + // Ensure at least 20: if list shorter (shouldn’t), cycle again with suffix + $i = 0; + while ($created < 20 && $i < count($list)) { + [$deTitle, $deDesc, $enTitle, $enDesc] = $list[$i]; + $suffix = ' #' . ($created + 1); + Task::create([ + 'emotion_id' => $emotion->id, + 'event_type_id' => null, + 'title' => ['de' => $deTitle.$suffix, 'en' => $enTitle.$suffix], + 'description' => ['de' => $deDesc, 'en' => $enDesc], + 'example_text' => ['de' => null, 'en' => null], + 'difficulty' => $difficulties[$created % count($difficulties)], + 'sort_order' => $order++, + 'is_active' => true, + ]); + $created++; $i++; + } + } + } +} + diff --git a/database/seeders/EventTypesSeeder.php b/database/seeders/EventTypesSeeder.php new file mode 100644 index 0000000..56648eb --- /dev/null +++ b/database/seeders/EventTypesSeeder.php @@ -0,0 +1,23 @@ + ['de'=>'Hochzeit','en'=>'Wedding'], 'slug'=>'wedding', 'icon'=>'💍'], + ['name' => ['de'=>'Weihnachten','en'=>'Christmas'], 'slug'=>'christmas', 'icon'=>'🎄'], + ['name' => ['de'=>'Geburtstag','en'=>'Birthday'], 'slug'=>'birthday', 'icon'=>'🎂'], + ['name' => ['de'=>'Firma','en'=>'Corporate'], 'slug'=>'corporate', 'icon'=>'🏢'], + ]; + foreach ($types as $t) { + EventType::updateOrCreate(['slug'=>$t['slug']], $t); + } + } +} + diff --git a/database/seeders/SuperAdminSeeder.php b/database/seeders/SuperAdminSeeder.php new file mode 100644 index 0000000..24f2ac7 --- /dev/null +++ b/database/seeders/SuperAdminSeeder.php @@ -0,0 +1,22 @@ +$email], [ + 'name' => 'Super Admin', + 'password' => Hash::make($password), + 'role' => 'super_admin', + ]); + } +} + diff --git a/database/seeders/TasksSeeder.php b/database/seeders/TasksSeeder.php new file mode 100644 index 0000000..7325872 --- /dev/null +++ b/database/seeders/TasksSeeder.php @@ -0,0 +1,48 @@ + [ + ['title'=>['de'=>'Kuss-Foto','en'=>'Kiss Photo'], 'description'=>['de'=>'Macht ein romantisches Kuss-Foto','en'=>'Take a romantic kiss photo'], 'difficulty'=>'easy'], + ], + 'Freude' => [ + ['title'=>['de'=>'Sprung-Foto','en'=>'Jump Photo'], 'description'=>['de'=>'Alle springen gleichzeitig!','en'=>'Everyone jump together!'], 'difficulty'=>'medium'], + ], + 'Teamgeist' => [ + ['title'=>['de'=>'High-Five-Runde','en'=>'High-Five Round'], 'description'=>['de'=>'Gebt euch High-Fives!','en'=>'Give each other high-fives!'], 'difficulty'=>'easy', 'event_type'=>'corporate'], + ], + 'Besinnlichkeit' => [ + ['title'=>['de'=>'Lichterglanz','en'=>'Glow of Lights'], 'description'=>['de'=>'Foto mit Lichterkette','en'=>'Photo with string lights'], 'difficulty'=>'easy', 'event_type'=>'christmas'], + ], + ]; + + $types = EventType::pluck('id','slug'); + + foreach ($seed as $emotionNameDe => $tasks) { + $emotion = Emotion::where('name->de', $emotionNameDe)->first(); + if (!$emotion) continue; + foreach ($tasks as $t) { + Task::updateOrCreate([ + 'emotion_id' => $emotion->id, + 'title->de' => $t['title']['de'] + ], [ + 'emotion_id' => $emotion->id, + 'event_type_id' => isset($t['event_type']) && isset($types[$t['event_type']]) ? $types[$t['event_type']] : null, + 'title' => $t['title'], + 'description' => $t['description'], + 'difficulty' => $t['difficulty'], + 'is_active' => true, + ]); + } + } + } +} + diff --git a/database/seeders/WeddingTasksSeeder.php b/database/seeders/WeddingTasksSeeder.php new file mode 100644 index 0000000..bf58762 --- /dev/null +++ b/database/seeders/WeddingTasksSeeder.php @@ -0,0 +1,107 @@ +first(); + if (!$weddingType) return; + + // Helper to resolve emotion by English name (more stable given encoding issues) + $by = fn(string $en) => Emotion::where('name->en', $en)->first(); + + $emLove = $by('Love'); + $emJoy = $by('Joy'); + $emTouched = $by('Touched'); + $emNostalgia = $by('Nostalgia'); + $emSurprise = $by('Surprise'); + $emPride = $by('Pride'); + + $tasks = [ + // Liebe (10) + [$emLove, 'Kuss-Foto', 'Kiss Photo', 'Macht ein romantisches Kuss-Foto.', 'Take a romantic kiss photo.', 'easy'], + [$emLove, 'Herz mit Haenden', 'Hands Heart', 'Formt ein Herz mit euren Haenden.', 'Make a heart with your hands.', 'easy'], + [$emLove, 'Brautstrauss im Fokus', 'Bouquet Close-up', 'Brautstrauss nah an die Kamera halten.', 'Hold the bouquet close to the camera.', 'easy'], + [$emLove, 'Stirnkuss', 'Forehead Kiss', 'Sanfter Stirnkuss – ganz verliebt.', 'A gentle forehead kiss.', 'easy'], + [$emLove, 'Herzensblick', 'Loving Gaze', 'Schaut euch nur in die Augen.', 'Look only into each other’s eyes.', 'easy'], + [$emLove, 'Schleiermoment', 'Veil Moment', 'Schleier ueber beide Koepfe legen.', 'Drape the veil over both of you.', 'medium'], + [$emLove, 'Ringnahaufnahme', 'Ring Macro', 'Zeigt eure Ringe nah an der Kamera.', 'Show your rings close to the camera.', 'easy'], + [$emLove, 'Hand in Hand', 'Holding Hands', 'Haende greifen, Kamera im Hintergrund.', 'Hold hands with the camera behind.', 'easy'], + [$emLove, 'Tanzschritt', 'First Dance Step', 'Ein kleiner Tanzschritt fuer das Foto.', 'A small dance step for the photo.', 'medium'], + [$emLove, 'Kuss hinter dem Strauss', 'Peek-a-boo Kiss', 'Kuss hinter dem Brautstrauss verstecken.', 'Hide a kiss behind the bouquet.', 'easy'], + + // Freude (10) + [$emJoy, 'Sprung-Foto', 'Jump Photo', 'Alle springen gleichzeitig!', 'Everyone jump together!', 'medium'], + [$emJoy, 'Lachendes Gruppenfoto', 'Laughing Group', 'Erzaehlt einen Witz und klick!', 'Tell a joke and click!', 'easy'], + [$emJoy, 'Konfetti-Moment', 'Confetti Moment', 'Konfetti werfen (oder so tun).', 'Throw confetti (or pretend).', 'easy'], + [$emJoy, 'Cheers!', 'Cheers!', 'Glaser anstossen in die Kamera.', 'Clink glasses toward the camera.', 'easy'], + [$emJoy, 'Freudensprung zu zweit', 'Couple Jump', 'Brautpaar springt gemeinsam.', 'Couple jumps together.', 'medium'], + [$emJoy, 'Luftkuesse', 'Blowing Kisses', 'Luftkuesse in Richtung Kamera.', 'Blow kisses toward the camera.', 'easy'], + [$emJoy, 'Scherzbrillen', 'Silly Glasses', 'Accessoires aufsetzen und lachen.', 'Wear props and laugh.', 'easy'], + [$emJoy, 'Freudige Umarmung', 'Happy Hug', 'Grosse Umarmung in der Runde.', 'Big group hug.', 'easy'], + [$emJoy, 'Daumen hoch', 'Thumbs Up', 'Alle Daumen nach oben!', 'Thumbs up, everyone!', 'easy'], + [$emJoy, 'Victory-Zeichen', 'Peace Sign', 'Peace-Zeichen in die Kamera.', 'Peace sign to the camera.', 'easy'], + + // Touched (8) + [$emTouched, 'Traenen des Gluecks', 'Tears of Joy', 'Sanftes Traenchen abtupfen.', 'Dab a happy tear.', 'easy'], + [$emTouched, 'Eltern-Umarmung', 'Parents’ Hug', 'Umarmung mit Eltern oder Trauzeugen.', 'Hug with parents or witnesses.', 'easy'], + [$emTouched, 'Hand auf’s Herz', 'Hand on Heart', 'Hand aufs Herz – ehrlicher Moment.', 'Hand on heart — a sincere moment.', 'easy'], + [$emTouched, 'Danke-Geste', 'Thank You Gesture', '„Danke“-Geste in die Kamera.', 'A “thank you” gesture to the camera.', 'easy'], + [$emTouched, 'Enger Nasenstups', 'Nose Boop', 'Stirn an Stirn, sanfter Nasenstups.', 'Forehead to forehead, a soft nose boop.', 'easy'], + [$emTouched, 'Geliebtes Andenken', 'Keepsake', 'Ein bedeutsames Andenken zeigen.', 'Show a meaningful keepsake.', 'easy'], + [$emTouched, 'Leise Worte', 'Whisper', 'Ein leises Kompliment ins Ohr.', 'Whisper a compliment.', 'easy'], + [$emTouched, 'Ruhe vor dem Sturm', 'Quiet Moment', 'Augen schliessen, tief durchatmen.', 'Close eyes and take a deep breath.', 'easy'], + + // Nostalgia (8) + [$emNostalgia, 'Altes Foto nachstellen', 'Recreate Old Photo', 'Ein altes Familienfoto nachstellen.', 'Recreate an old family photo.', 'medium'], + [$emNostalgia, 'Kindheits-Pose', 'Childhood Pose', 'Lieblingspose aus der Kindheit.', 'Favorite childhood pose.', 'easy'], + [$emNostalgia, 'Erste Nachricht', 'First Message', 'Handys mit erster Nachricht zeigen.', 'Show your first message on phones.', 'medium'], + [$emNostalgia, 'Ringbox Vintage', 'Vintage Ring Box', 'Ringbox im Vintage-Stil inszenieren.', 'Stage the vintage ring box.', 'easy'], + [$emNostalgia, 'Familienerbstueck', 'Family Heirloom', 'Ein Familienerbstueck ins Bild.', 'Feature a family heirloom.', 'easy'], + [$emNostalgia, 'Schwarzweiss', 'Black & White', 'Schwarzweiss-Pose fuer klassisches Foto.', 'Pose for a black & white shot.', 'easy'], + [$emNostalgia, 'Erster Tanz (Mini)', 'Mini First Dance', 'Ein Schritt vom ersten Tanz.', 'One step of the first dance.', 'easy'], + [$emNostalgia, 'Gastebuch-Moment', 'Guestbook Moment', 'Eintrag ins Gaestebuch festhalten.', 'Capture a guestbook entry.', 'easy'], + + // Surprise (7) + [$emSurprise, 'Photobomb!', 'Photobomb!', 'Ueberraschung im Hintergrund.', 'Surprise in the background.', 'easy'], + [$emSurprise, 'Erster Blick', 'First Look', 'Reaktion beim First Look nachstellen.', 'Recreate a first-look reaction.', 'medium'], + [$emSurprise, 'Ueberraschungs-Dip', 'Surprise Dip', 'Ueberraschender Tanz-Dip.', 'A surprise dance dip.', 'medium'], + [$emSurprise, 'Ballon-Pop', 'Balloon Pop', 'Ballon zerplatzen (oder so tun).', 'Pop a balloon (or pretend).', 'easy'], + [$emSurprise, 'Hutwechsel', 'Hat Swap', 'Huete/Accessoires spontan tauschen.', 'Swap hats/props on the fly.', 'easy'], + [$emSurprise, 'Versteckspiel', 'Peekaboo', 'Hinter Deko kurz verstecken.', 'Peek from behind decor.', 'easy'], + [$emSurprise, 'Gespiegelte Pose', 'Mirror Pose', 'Gegensaetzliche, gespiegelte Pose.', 'Opposite mirrored pose.', 'easy'], + + // Pride (7) + [$emPride, 'Just Married', 'Just Married', '„Just Married“-Schild zeigen.', 'Show a “Just Married” sign.', 'easy'], + [$emPride, 'Ring zeigen', 'Show the Ring', 'Ring zur Kamera strecken.', 'Stretch ring toward the camera.', 'easy'], + [$emPride, 'Brautkleid-Detail', 'Dress Detail', 'Lieblingsdetail am Kleid zeigen.', 'Show a favorite dress detail.', 'easy'], + [$emPride, 'Anzug-Detail', 'Suit Detail', 'Manschette/Knopfloch zeigen.', 'Show cuff/ boutonniere.', 'easy'], + [$emPride, 'Team Braut', 'Team Bride', '„Team Braut“-Gruppenpose.', '“Team Bride” group pose.', 'easy'], + [$emPride, 'Team Braeutigam', 'Team Groom', '„Team Braeutigam“-Gruppenpose.', '“Team Groom” group pose.', 'easy'], + [$emPride, 'Siegesschrei', 'Victory Cheer', 'Arme hoch, Jubel in die Kamera.', 'Arms up, cheer to the camera.', 'easy'], + ]; + + $sort = 1; + foreach ($tasks as [$emotion, $titleDe, $titleEn, $descDe, $descEn, $difficulty]) { + if (!$emotion) continue; + Task::updateOrCreate([ + 'emotion_id' => $emotion->id, + 'title->de' => $titleDe, + ], [ + 'emotion_id' => $emotion->id, + 'event_type_id' => $weddingType->id, + 'title' => ['de' => $titleDe, 'en' => $titleEn], + 'description' => ['de' => $descDe, 'en' => $descEn], + 'difficulty' => $difficulty, + 'sort_order' => $sort++, + 'is_active' => true, + ]); + } + } +} + diff --git a/docs/adr/ADR-0006-tenant-admin-pwa.md b/docs/adr/ADR-0006-tenant-admin-pwa.md new file mode 100644 index 0000000..1be28fa --- /dev/null +++ b/docs/adr/ADR-0006-tenant-admin-pwa.md @@ -0,0 +1,43 @@ +# ADR-0006: Tenant Administration as Store-Ready PWA + +- Status: Accepted +- Date: 2025-09-08 +- Deciders: Product, Engineering +- Related: PRP Addendum 2025-09-08 (Tenant Admin PWA) + +## Context + +The original PRP envisioned tenant administration via a Filament panel. We want a dedicated, installable experience for tenant admins and the ability to distribute through Google Play and Apple App Store. We also want a cleaner API-first separation and mobile-friendly capabilities (push, offline, background sync). + +## Decision + +- Implement a separate React/Vite PWA for tenant admins ("Tenant Admin PWA"). +- Distribute via: + - Android: Trusted Web Activity (TWA), bound to `admin.` via Digital Asset Links, or Capacitor when native plugins are necessary. + - iOS: Capacitor wrapper for App Store distribution. +- Keep Super Admin as a Filament 4 web panel only. +- Expose all tenant features through `/api/v1/tenant/*`, authenticated using Authorization Code + PKCE and refresh tokens. Tokens include `tenant_id` and roles. Enforce tenant isolation with global scopes and policies. +- MVP billing uses event credits; subscriptions are deferred. + +## Consequences + +- Filament resources for tenant admins in PRP are deprecated as implementation guidance. They remain as field/validation reference only. +- Backend must provide complete API coverage for tenant use cases and implement token-based auth with refresh and rotation. +- Mobile packaging CI is added (TWA/Capacitor), including assetlinks.json, fastlane lanes, and privacy manifests. + +## Implementation Notes + +- Repo layout additions: + - `apps/admin-pwa` (React/Vite) + - `packages/mobile` (Capacitor + TWA wrappers) + - Existing `apps/guest-pwa` and Filament-based Super Admin remain. +- Security: + - PKCE, refresh tokens, and secure storage. Rate limits per tenant and device. Audit logs for sensitive actions and impersonation. +- Offline: + - Service Worker with background sync; conflict resolution with ETag/If-Match. + +## Alternatives Considered + +- Keep tenant admin in Filament: faster initially but not store-distributable and poorer mobile UX. +- Native apps: higher cost and longer timeline; PWA + thin wrappers meet requirements. + diff --git a/docs/changes/2025-09-08-session.md b/docs/changes/2025-09-08-session.md new file mode 100644 index 0000000..bae0ccb --- /dev/null +++ b/docs/changes/2025-09-08-session.md @@ -0,0 +1,16 @@ +# Session Changes — 2025-09-08 + +Summary +- Split PRP into docs/prp/* and added addendum + ADR for Tenant Admin PWA. +- Guest PWA: routes/components scaffold, bottom nav, header + settings sheet, theme toggle; polling hooks; upload (client compress <1.5 MB), offline queue + BG sync; gallery filters + lightbox; likes API/UI; SW runtime cache. +- Super Admin (Filament 4): resources for Tenants, Events, Photos, Legal Pages; dashboard widgets; photo moderation; event toggle; join link + self‑hosted QR. +- CSV imports + templates for Emotions and Tasks with de/en localization; forms updated to JSON casts. +- Backend public API: stats/photos with ETag/304; upload endpoint; photo like. +- Tenant Admin PWA: auth shell (token), events list/create/edit, event detail (stats, QR, invite), photo moderation. +- Migrations: tenants table; users.tenant_id/role; events.tenant_id; model casts/relations added. +- Artisan: media:backfill-thumbnails; tenant:add-dummy; tenant:attach-demo-event. + +Notes +- Security hardening intentionally minimal per instruction (token login for tenant admin). +- QR codes generated server-side via simple-qrcode. +- No secrets committed. Local gogs.ini used only for pushing to Gogs. diff --git a/docs/prp-addendum-2025-09-08-tenant-admin-pwa.md b/docs/prp-addendum-2025-09-08-tenant-admin-pwa.md new file mode 100644 index 0000000..2d9393f --- /dev/null +++ b/docs/prp-addendum-2025-09-08-tenant-admin-pwa.md @@ -0,0 +1,45 @@ +# PRP Addendum (2025-09-08): Tenant Admin PWA + +This addendum supersedes tenant-facing Filament guidance in `fotospiel_prp.md`. Super Admin remains Filament (web-only). Tenant administration now lives in a separate, store-ready PWA. + +## Summary + +- Separate React/Vite PWA for tenant admins. +- Distribution: Android via TWA, iOS via Capacitor; PWA install (A2HS) supported. +- API-first backend: `/api/v1/tenant/*` endpoints cover all tenant operations. +- Auth: Authorization Code + PKCE + refresh tokens; access token includes `tenant_id` and roles. +- Tenancy: global scope + policies; host-based resolution remains for guest PWA. +- Billing: Event credits MVP; subscriptions deferred. + +## Architecture Changes + +- Replace tenant Filament panel with PWA + API. +- Add `BelongsToTenant` trait and composite uniques including `tenant_id`. +- Introduce `apps/admin-pwa` and `packages/mobile` directories; keep `apps/super-admin` for Filament. + +## Mobile Packaging + +- Android (TWA): bind to `admin.` with `/.well-known/assetlinks.json`. +- iOS (Capacitor): native wrapper, push notifications, secure storage. + +## Offline & Sync + +- Service Worker caches app shell and essentials. +- Background sync queues mutations; conflicts resolved via ETag/If-Match. + +## API Surface (Tenant) + +- Auth: `/oauth/authorize` (PKCE), `/oauth/token`, `/oauth/token/refresh`. +- Entities: events, galleries, members, uploads, settings, purchases. +- Conventions: pagination, filtering, 429 rate limits, trace IDs in errors. + +## Security + +- Token storage in Keychain/Keystore (mobile) and IndexedDB (web) with rotation. +- Audit logs for destructive actions and impersonation. + +## Migration Notes + +- Treat Filament tenant resources in PRP as deprecated examples. Use them to inform field definitions and validation only. +- Future task: convert `fotospiel_prp.md` to UTF-8 and merge this addendum into the main PRP. + diff --git a/docs/prp/01-architecture.md b/docs/prp/01-architecture.md new file mode 100644 index 0000000..0637daa --- /dev/null +++ b/docs/prp/01-architecture.md @@ -0,0 +1,15 @@ +# 01 — Architecture Overview + +- Backend: Laravel 12 (PHP 8.3), API-first. +- Super Admin: Filament 4 web panel (platform operations only). +- Tenant Admin: Separate React/Vite PWA, store-ready (Android TWA, iOS Capacitor). See ADR-0006. +- Guest PWA: React/Vite, anonymous session for attendees. +- Storage: S3-compatible object storage, signed URLs, CDN in front. +- Queues: Redis + Horizon for media processing and async jobs. +- DB: Single database, row-level multi-tenancy using `tenant_id` and policies. + +Components +- API (`/api/v1`) with OAuth2 PKCE for tenant apps; session auth for Super Admin. +- Media pipeline: upload -> scan -> transform (EXIF/orientation/sizes) -> store -> CDN. +- Notifications: Web Push (VAPID); Capacitor push for iOS wrapper when needed. +- Observability: request ID, structured logs, audit trails for admin actions. diff --git a/docs/prp/02-tenancy.md b/docs/prp/02-tenancy.md new file mode 100644 index 0000000..4672d2a --- /dev/null +++ b/docs/prp/02-tenancy.md @@ -0,0 +1,21 @@ +# 02 — Tenancy Model + +Approach +- Single database, row-level scoping via `tenant_id` on tenant-owned tables. +- Global scope (BelongsToTenant trait) for all tenant-owned models; bypass for Super Admin. +- Policies enforce `tenant_admin` and `member` roles; guest upload uses signed, limited-scope tokens. + +Keys & Indexes +- Composite uniques include `tenant_id` (e.g., `events`: unique `tenant_id, slug`). +- Foreign keys cascade/delete or null-on-delete based on data retention needs. + +Tenant Resolution +- Tenant Admin PWA: resolve from authenticated token claim (`tenant_id`). +- Guest PWA/custom domains: resolve from host/subdomain; map to event and tenant. + +Impersonation +- Super Admin can impersonate tenant users; all actions audited with actor + target + reason. + +Backups & Export +- Backups include tenant partitions by `tenant_id`. +- Export endpoints provide per-tenant data bundles (photos metadata + links), respecting rate limits. diff --git a/docs/prp/03-api.md b/docs/prp/03-api.md new file mode 100644 index 0000000..cb7bd63 --- /dev/null +++ b/docs/prp/03-api.md @@ -0,0 +1,30 @@ +# 03 — API Contract + +- Base URL: `/api/v1` +- Auth + - Tenant apps: OAuth2 Authorization Code + PKCE, refresh tokens. + - Super Admin: session-authenticated Filament (web only). +- Common + - Pagination: `page`, `per_page` (max 100). + - Errors: `{ error: { code, message, trace_id }, details?: {...} }`. + - Rate limits: per-tenant and per-device for tenant apps; 429 with `x-rate-limit-*` headers. + +Key Endpoints (abridged) +- Auth: `/oauth/authorize`, `/oauth/token`, `/oauth/token/refresh`. +- Tenants (Super Admin only): list/read; no create via API for MVP. +- Events (tenant): CRUD, publish, archive; unique by `tenant_id + slug`. +- Photos (tenant): signed upload URL, create, list, moderate, feature. +- Emotions & Tasks: list, tenant overrides; task library scoping. +- Purchases & Ledger: create purchase intent, webhook ingest, ledger list. +- Settings: read/update tenant theme, limits, legal page links. + +Guest Polling (no WebSockets in v1) +- GET `/events/{slug}/stats` — lightweight counters for Home info bar. + - Response: `{ online_guests: number, tasks_solved: number, latest_photo_at: ISO8601 }`. + - Cache: `Cache-Control: no-store`; include `ETag` for conditional requests. +- GET `/events/{slug}/photos?since=` — incremental gallery refresh. + - Response: `{ data: Photo[], next_cursor?: string, latest_photo_at: ISO8601 }`. + - Use `If-None-Match` or `If-Modified-Since` to return `304 Not Modified` when unchanged. + +Webhooks +- Payment provider events, media pipeline status, and deletion callbacks. All signed with shared secret per provider. diff --git a/docs/prp/04-data-model-migrations.md b/docs/prp/04-data-model-migrations.md new file mode 100644 index 0000000..d5673e9 --- /dev/null +++ b/docs/prp/04-data-model-migrations.md @@ -0,0 +1,213 @@ +# 04 — Data Model & Portable Migrations + +Use Laravel Schema builder; avoid database-specific ENUM/DDL. Composite unique indexes include `tenant_id` for tenant-owned data. + +## Core (Tenants, Users, Events, Settings, Analytics, Purchases, Ledger) + +```php +use Illuminate\\Database\\Migrations\\Migration; +use Illuminate\\Database\\Schema\\Blueprint; +use Illuminate\\Support\\Facades\\Schema; + +// Tenants +Schema::create('tenants', function (Blueprint $table) { + $table->id(); + $table->string('name'); + $table->string('slug')->unique(); + $table->string('domain')->nullable()->unique(); + $table->string('contact_name'); + $table->string('contact_email'); + $table->string('contact_phone')->nullable(); + $table->integer('event_credits_balance')->default(1); + $table->timestamp('free_event_granted_at')->nullable(); + $table->integer('max_photos_per_event')->default(500); + $table->integer('max_storage_mb')->default(1024); + $table->json('features')->nullable(); + $table->timestamp('last_activity_at')->nullable(); + $table->timestamps(); +}); + +// Users: tenancy + role (portable — avoid DB ENUM) +Schema::table('users', function (Blueprint $table) { + $table->foreignId('tenant_id')->nullable()->constrained()->nullOnDelete(); + $table->string('role', 32)->default('tenant_user')->index(); +}); + +// Events: include tenant_id and composite unique +Schema::table('events', function (Blueprint $table) { + $table->foreignId('tenant_id')->constrained()->cascadeOnDelete(); + $table->unique(['tenant_id', 'slug']); +}); + +// System settings +Schema::create('system_settings', function (Blueprint $table) { + $table->id(); + $table->string('key')->unique(); + $table->text('value')->nullable(); + $table->text('description')->nullable(); + $table->boolean('is_public')->default(false); + $table->timestamps(); +}); + +// Platform analytics +Schema::create('platform_analytics', function (Blueprint $table) { + $table->id(); + $table->foreignId('tenant_id')->nullable()->constrained()->nullOnDelete(); + $table->string('metric_name', 100); + $table->bigInteger('metric_value'); + $table->date('metric_date'); + $table->json('metadata')->nullable(); + $table->timestamps(); + $table->index(['metric_date', 'metric_name']); + $table->index(['tenant_id', 'metric_date']); +}); + +// Event purchases (event credits) +Schema::create('event_purchases', function (Blueprint $table) { + $table->id(); + $table->foreignId('tenant_id')->constrained()->cascadeOnDelete(); + $table->unsignedInteger('events_purchased')->default(1); + $table->decimal('amount', 10, 2); + $table->string('currency', 3)->default('EUR'); + $table->string('provider', 32); // app enum: app_store|play_store|stripe|paypal + $table->string('external_receipt_id')->nullable(); + $table->string('status', 16)->default('pending'); // app enum + $table->timestamp('purchased_at')->nullable(); + $table->timestamps(); + $table->index(['tenant_id', 'purchased_at']); +}); + +// Credits ledger +Schema::create('event_credits_ledger', function (Blueprint $table) { + $table->id(); + $table->foreignId('tenant_id')->constrained()->cascadeOnDelete(); + $table->integer('delta'); + $table->string('reason', 32); // app enum + $table->foreignId('related_purchase_id')->nullable()->constrained('event_purchases')->nullOnDelete(); + $table->text('note')->nullable(); + $table->timestamps(); + $table->index(['tenant_id', 'created_at']); +}); +``` + +## Domain (Event Types, Events, Emotions, Tasks, Photos, Likes) + +```php +use Illuminate\\Database\\Migrations\\Migration; +use Illuminate\\Database\\Schema\\Blueprint; +use Illuminate\\Support\\Facades\\Schema; + +// Event types (global) +Schema::create('event_types', function (Blueprint $table) { + $table->id(); + $table->json('name'); + $table->string('slug', 100)->unique(); + $table->string('icon', 64)->nullable(); + $table->json('settings')->nullable(); + $table->timestamps(); +}); + +// Events (tenant-scoped) +Schema::create('events', function (Blueprint $table) { + $table->id(); + $table->foreignId('tenant_id')->constrained()->cascadeOnDelete(); + $table->json('name'); + $table->date('date'); + $table->string('slug'); + $table->json('description')->nullable(); + $table->json('settings')->nullable(); + $table->foreignId('event_type_id')->constrained('event_types'); + $table->boolean('is_active')->default(true); + $table->string('default_locale', 5)->default('de'); + $table->timestamps(); + $table->unique(['tenant_id', 'slug']); +}); + +// Emotions (global library) +Schema::create('emotions', function (Blueprint $table) { + $table->id(); + $table->json('name'); + $table->string('icon', 50); + $table->string('color', 7); + $table->json('description')->nullable(); + $table->integer('sort_order')->default(0); + $table->boolean('is_active')->default(true); +}); + +// Pivot: emotion x event_type +Schema::create('emotion_event_type', function (Blueprint $table) { + $table->foreignId('emotion_id')->constrained('emotions')->cascadeOnDelete(); + $table->foreignId('event_type_id')->constrained('event_types')->cascadeOnDelete(); + $table->primary(['emotion_id', 'event_type_id']); +}); + +// Tasks (with optional tenant/event scoping) +Schema::create('tasks', function (Blueprint $table) { + $table->id(); + $table->foreignId('emotion_id')->constrained('emotions'); + $table->foreignId('event_type_id')->nullable()->constrained('event_types')->nullOnDelete(); + $table->json('title'); + $table->json('description'); + $table->string('difficulty', 16)->default('easy'); // app enum + $table->json('example_text')->nullable(); + $table->integer('sort_order')->default(0); + $table->boolean('is_active')->default(true); + $table->foreignId('tenant_id')->nullable()->constrained('tenants')->nullOnDelete(); + $table->string('scope', 16)->default('global'); // global|tenant|event + $table->foreignId('event_id')->nullable()->constrained('events')->nullOnDelete(); + $table->timestamps(); + $table->unique(['tenant_id', 'emotion_id', 'title']); +}); + +// Photos +Schema::create('photos', function (Blueprint $table) { + $table->id(); + $table->foreignId('event_id')->constrained('events')->cascadeOnDelete(); + $table->foreignId('emotion_id')->constrained('emotions'); + $table->foreignId('task_id')->nullable()->constrained('tasks')->nullOnDelete(); + $table->string('guest_name'); + $table->string('file_path'); + $table->string('thumbnail_path'); + $table->unsignedInteger('likes_count')->default(0); + $table->boolean('is_featured')->default(false); + $table->json('metadata')->nullable(); + $table->timestamps(); + $table->index(['event_id', 'created_at']); +}); + +// Photo likes +Schema::create('photo_likes', function (Blueprint $table) { + $table->id(); + $table->foreignId('photo_id')->constrained('photos')->cascadeOnDelete(); + $table->string('guest_name'); + $table->string('ip_address', 45)->nullable(); + $table->timestamp('created_at')->useCurrent(); + $table->unique(['photo_id', 'guest_name', 'ip_address']); +}); +``` + +## Legal Pages + +```php +use Illuminate\\Database\\Schema\\Blueprint; +use Illuminate\\Support\\Facades\\Schema; + +Schema::create('legal_pages', function (Blueprint $table) { + $table->id(); + $table->foreignId('tenant_id')->nullable()->constrained('tenants')->nullOnDelete(); + $table->string('slug', 32); // imprint|privacy|terms|custom + $table->json('title'); + $table->json('body_markdown'); + $table->string('locale_fallback', 5)->default('de'); + $table->unsignedInteger('version')->default(1); + $table->timestamp('effective_from')->nullable(); + $table->boolean('is_published')->default(false); + $table->timestamps(); + $table->unique(['slug', 'tenant_id', 'version']); +}); +``` + +## Notes +- Prefer app-level enums (string columns + validation) over DB `ENUM`. +- Use `cascadeOnDelete()` only where child data must be removed with parent; otherwise `nullOnDelete()`. +- Every tenant-owned table should include `tenant_id` and appropriate composite indexes. diff --git a/docs/prp/05-admin-superadmin.md b/docs/prp/05-admin-superadmin.md new file mode 100644 index 0000000..25cdc78 --- /dev/null +++ b/docs/prp/05-admin-superadmin.md @@ -0,0 +1,10 @@ +# 05 — Super Admin (Filament) + +Scope +- Platform operations only: tenants, legal pages, global settings, billing insights, monitoring. +- No tenant admin functions; those live in the Tenant Admin PWA. + +Notes +- Keep to Filament 4 confirmed APIs; avoid pseudo namespaces. +- Impersonation must create an audit trail with actor, target, timestamp, reason. +- Read-only mode switch for maintenance; reflected in API `Retry-After` headers. diff --git a/docs/prp/06-tenant-admin-pwa.md b/docs/prp/06-tenant-admin-pwa.md new file mode 100644 index 0000000..fad1701 --- /dev/null +++ b/docs/prp/06-tenant-admin-pwa.md @@ -0,0 +1,22 @@ +# 06 — Tenant Admin PWA (Store-Ready) + +Packaging +- Android: Trusted Web Activity (TWA) bound to `admin.`; fallback Capacitor if native plugins needed. +- iOS: Capacitor wrapper with push notifications and secure storage. +- Installable PWA (A2HS) with offline and background sync. + +Auth & Tenancy +- OAuth2 Authorization Code + PKCE; refresh tokens; secure storage (Keychain/Keystore). +- Tokens carry `tenant_id` and roles; backend enforces scoping. + +Capabilities +- Manage events, galleries, members, settings, legal pages, purchases. +- Notifications: Web Push (Android TWA) and Capacitor push (iOS). +- Conflict handling: ETag/If-Match; audit changes. + +Distribution & CI +- Play: assetlinks.json at `/.well-known/assetlinks.json`. +- App Store: fastlane lanes; privacy manifests. +- Version alignment with backend; feature flags synced on login. + +See also: docs/adr/ADR-0006-tenant-admin-pwa.md diff --git a/docs/prp/07-guest-pwa-routes-components.md b/docs/prp/07-guest-pwa-routes-components.md new file mode 100644 index 0000000..1de27f6 --- /dev/null +++ b/docs/prp/07-guest-pwa-routes-components.md @@ -0,0 +1,153 @@ +# 07a — Guest PWA Routes & Components + +This scaffold describes recommended routes, guards, directories, and components for the Guest PWA. It is framework-leaning (React Router v6 + Vite), but adaptable. + +Routing Principles +- Event routes require an event token (from QR/PIN). Guard redirects to Landing when missing/invalid. +- Use route-level code splitting for camera/lightbox/slideshow. +- Prefer modal routes (photo detail) layered over the gallery. + +Route Map (proposed) +- `/` — Landing (QR/PIN input; deep-link handler) +- `/setup` — Profile Setup (name/avatar; skippable) +- `/e/:slug` — Home/Feed (default gallery view + info bar) +- `/e/:slug/tasks` — Task Picker (random/emotion) +- `/e/:slug/tasks/:taskId` — Task Detail (card) +- `/e/:slug/upload` — Upload Picker (camera/library + tagging) +- `/e/:slug/queue` — Upload Queue (progress/retry) +- `/e/:slug/gallery` — Gallery index (alias of Home or dedicated page) +- `/e/:slug/photo/:photoId` — Photo Lightbox (modal over gallery) +- `/e/:slug/achievements` — Achievements (optional) +- `/e/:slug/slideshow` — Slideshow (optional, read-only) +- `/settings` — Settings (language/theme/cache/legal) +- `/legal/:page` — Legal pages (imprint/privacy/terms) +- `*` — NotFound + +Guards & Loaders +- `EventGuard` — verifies event token in storage; attempts refresh; otherwise redirects to `/`. +- `PrefetchEvent` — loads event metadata/theme on `:slug` routes. +- `OfflineFallback` — surfaces offline banner and queues mutations. + +Suggested Directory Structure +``` +apps/guest-pwa/ + src/ + routes/ + index.tsx // router config + guards + pages/ + LandingPage.tsx + ProfileSetupPage.tsx + HomePage.tsx + TaskPickerPage.tsx + TaskDetailPage.tsx + UploadPage.tsx + UploadQueuePage.tsx + GalleryPage.tsx + PhotoLightbox.tsx // modal route + AchievementsPage.tsx + SlideshowPage.tsx + SettingsPage.tsx + LegalPage.tsx + NotFoundPage.tsx + components/ + Header.tsx + InfoBar.tsx + BottomNav.tsx + QRPinForm.tsx + CTAButtons.tsx + EmotionPickerGrid.tsx + TaskCard.tsx + CameraPicker.tsx // photos only; no video capture + UploadPreviewList.tsx + UploadQueueList.tsx + GalleryMasonry.tsx + PhotoCard.tsx + FiltersBar.tsx + Toast.tsx + stores/ + useEventStore.ts // tenant/event token, theme + useProfileStore.ts // name/avatar (local) + useUploadQueue.ts // IndexedDB-backed queue + services/ + apiClient.ts // fetch wrapper + trace id + eventsApi.ts // GET event meta + photosApi.ts // list/finalize/like + uploadService.ts // request signed URL, do PUT, finalize; photo only + sw.ts // service worker register helpers + hooks/ + useOnline.ts + useA2HS.ts + usePollStats.ts // polls /events/:slug/stats every 10s + usePollGalleryDelta.ts // polls /events/:slug/photos?since=... + i18n/ + de.json + en.json + main.tsx + App.tsx +``` + +Router Sketch (React Router v6) +```tsx +import { createBrowserRouter } from 'react-router-dom'; +import EventGuard from './routes/EventGuard'; +import PrefetchEvent from './routes/PrefetchEvent'; + +export const router = createBrowserRouter([ + { path: '/', element: }, + { path: '/setup', element: }, + { + path: '/e/:slug', + element: ( + + + + + + ), + children: [ + { index: true, element: }, + { path: 'tasks', element: }, + { path: 'tasks/:taskId', element: }, + { path: 'upload', element: }, + { path: 'queue', element: }, + { path: 'gallery', element: }, + { path: 'photo/:photoId', element: }, + { path: 'achievements', element: }, + { path: 'slideshow', element: }, + ], + }, + { path: '/settings', element: }, + { path: '/legal/:page', element: }, + { path: '*', element: }, +]); +``` + +Component Checklist +- Layout + - `Header`, `InfoBar` (X Gäste online • Y Aufgaben gelöst), `BottomNav`, `Toast`. +- Entry + - `QRPinForm` (QR deep link or PIN fallback), `ProfileForm` (name/avatar). +- Home/Feed + - `CTAButtons` (Random Task, Emotion Picker, Quick Photo), `GalleryMasonry`, `FiltersBar`, `PhotoCard`. +- Tasks + - `EmotionPickerGrid`, `TaskCard` (shows duration, group size, actions). +- Capture/Upload (photos only) + - `CameraPicker`, `UploadPreviewList`, `UploadQueueList`. +- Photo View + - `PhotoLightbox` (modal), like/share controls, emotion tags. +- Settings & Legal + - `SettingsPage` sections, `LegalPage` renderer. + +State & Data +- TanStack Query for server data (events, photos); optimistic updates for likes. +- Zustand store for local-only state (profile, queue, banners). +- IndexedDB for upload queue; CacheStorage for shell/assets. + - Polling: focus-aware intervals (10s stats, 30s gallery); use document visibility to pause; backoff on failures. + +Accessibility & Performance +- Focus management on modal open/close; trap focus. +- Color contrast and minimum tap target sizes (44px). +- Code-split camera/lightbox/slideshow; prefetch next gallery page. + +Out of Scope +- Video capture/upload is not supported. diff --git a/docs/prp/07-guest-pwa.md b/docs/prp/07-guest-pwa.md new file mode 100644 index 0000000..64705fc --- /dev/null +++ b/docs/prp/07-guest-pwa.md @@ -0,0 +1,119 @@ +# 07 — Guest PWA + +Goal +- Delight guests with a frictionless, installable photo experience that works offline, respects privacy, and requires no account. + +Non-Goals (MVP) +- No comments or chat. No facial recognition. No public profiles. No videos. + +Personas +- Guest (attendee) — scans QR, uploads photos, browses and likes. +- Host (tenant) — optionally shares event PIN with guests; moderates via Tenant Admin PWA. + +Top Journeys +- Join: Scan QR → Open event → Accept terms → Optional PIN → Land on Gallery. +- Upload: Add photos → Review → Submit → Background upload → Success/Retry. +- Browse: Infinite gallery → Filter (emotion/task) → Open photo → Like/Share → Back. + +Core Features +- Event access + - Access token embedded in QR/link (short-lived, event-scoped); optional PIN challenge. + - Token refresh if event remains open; server can revoke/close event at any time. +- Offline-first + - App shell + last N gallery items cached; uploads queued with Background Sync. + - Conflict-safe retries; user can pause/cancel queued uploads. +- Capture & upload + - Choose from camera or library; limit file size; show remaining upload cap. + - Client-side resize to sane max (e.g., 2560px longest edge); EXIF stripped client-side if available. + - Assign optional emotion/task before submit; default to “Uncategorized”. +- Gallery + - Masonry grid, lazy-load, pull-to-refresh; open photo lightbox with swipe. + - Like (heart) with optimistic UI; share system sheet (URL to CDN variant). + - Filters: emotion, featured, mine (local-only tag for items uploaded from this device). +- Safety & abuse controls + - Rate limits per device and IP; content-length checks; mime/type sniffing. + - Upload moderation state: pending → approved/hidden; show local status. +- Privacy & legal + - First run shows legal links (imprint/privacy); consent for push if enabled. + - No PII stored; guest name is optional free text and not required by default. + +Screens +- Splash/Loading: event lookup + token validation; friendly skeleton. +- Terms & PIN: legal links, optional PIN input; remember choice per event. +- Gallery: grid of approved photos; toolbar with filter, upload, settings. +- Upload Picker: camera/library, selection preview, emotion/task tagging. +- Upload Queue: items with progress, retry, remove; background sync toggle. +- Photo Lightbox: zoom, like, share; show emotion tags. +- Settings: language, theme (system), clear cache, legal pages. + +Wireframes +- See wireframes file at docs/wireframes/guest-pwa.md for low-fidelity layouts and flows. + +Core Pages (Pflichtseiten) +- Landing / Einstieg + - Purpose: Entry to event via QR/PIN; lowest friction. + - UI: Single input (QR deep link preferred, fallback PIN field) and Join button. + - States: invalid/expired token, event closed, offline (allow PIN entry and queue attempt). +- Profil-Setup (Name/Avatar) + - Purpose: Optional personalization for likes/attribution. + - UI: Name text field, optional avatar picker; one-time before first entry to event. + - Behavior: Skippable; editable later in Settings. +- Startseite (Home/Feed) + - Purpose: Central hub; show event title/subheadline and CTAs. + - Header: Event name + subheadline (e.g., “Dein Fotospiel zur Hochzeit”). + - Info bar: “X Gäste online • Y Aufgaben gelöst”. + - CTAs: „Aufgabe ziehen“ (random), „Wie fühlst du dich?“ (emotion picker), small link “Einfach ein Foto machen”. + - Content: Gallery/Feed with photos + likes. +- Aufgaben-Flow + - Aufgaben-Picker: Choose random task or emotion mood. + - Aufgaben-Detail (Karte): Task text, emoji tag, estimated duration, suggested group size; actions: take photo, new task (same mood), change mood. +- Foto-Interaktion + - Kamera/Upload: Capture or pick; progress + success message on completion; background sync. + - Galerie/Übersicht: Grid/Feed; filters: Neueste, Beliebt, Meine; Like hearts. + - Foto-Detailansicht: Fullscreen; likes/reactions; linked task + (optional) uploader name. +- Motivation & Spiel + - Achievements/Erfolge: Badges (e.g., Erstes Foto, 5 Aufgaben, Beliebtestes Foto); personal progress. +- Optionale Ergänzungen + - Slideshow/Präsentationsmodus: Auto-rotating gallery for TV/Beamer with likes/task overlay. + - Onboarding: 1–2 “So funktioniert das Spiel” hints the first time. + - Event-Abschluss: “Danke fürs Mitmachen”, summary stats, link/QR to online gallery. + +Technical Notes +- Installability: PWA manifest + service worker; prompt A2HS on supported browsers. +- Storage: IndexedDB for queue + cache; `CacheStorage` for shell/assets. +- Background Sync: use Background Sync API when available; fallback to retry on app open. +- Accessibility: large tap targets, high contrast, keyboard support, reduced motion. +- i18n: default `de`, fallback `en`; all strings in locale files; RTL not in MVP. +- Media types: Photos only (no videos) — decision locked for MVP and v1. +- Realtime model: periodic polling (no WebSockets). Home counters every 10s; gallery delta every 30s with exponential backoff when tab hidden or offline. + +API Touchpoints +- GET `/api/v1/events/{slug}` — public event metadata (when open) + theme. +- GET `/api/v1/events/{slug}/photos` — paginated gallery (approved only). +- POST `/api/v1/events/{slug}/photos` — signed upload initiation; returns URL + fields. +- POST (S3) — direct upload to object storage; then backend finalize call. +- POST `/api/v1/photos/{id}/like` — idempotent like with device token. + +Limits (MVP defaults) +- Max uploads per device per event: 50 +- Max file size (after client resize): 6 MB per photo +- Max resolution: 2560px longest edge per photo + +Edge Cases +- Token expired/invalid → Show “Event closed/invalid link”; link to retry. +- No connectivity → Queue actions; show badge; retry policy with backoff. +- Storage full → Offer to clear cache or deselect files. +- Permission denied (camera/photos) → Explain and offer system shortcut. + +Decisions +- Videos are not supported (capture/upload strictly photos). + +Appendix: Page-to-Feature Mapping +- Landing: Access, validation, join; deep-link handling. +- Profile Setup: Local profile persistence; optional avatar assets. +- Home: Header, info bar, CTAs, feed preview. +- Tasks: Picker (random/emotion), detail card actions. +- Capture/Upload: Camera permissions, client resize, queue handling. +- Gallery: Filters, pagination, lightbox. +- Achievements: Local badges (MVP), server-backed later. +- Slideshow (optional): Read-only, auto-advance, idle-safe. diff --git a/docs/prp/08-billing.md b/docs/prp/08-billing.md new file mode 100644 index 0000000..58cf2f3 --- /dev/null +++ b/docs/prp/08-billing.md @@ -0,0 +1,7 @@ +# 08 — Billing (MVP: Event Credits) + +- Model: one-off purchases that grant event credits; no subscriptions in MVP. +- Tables: `event_purchases`, `event_credits_ledger` (see 04-data-model-migrations.md). +- Providers: Stripe (server-side checkout + webhooks); store receipts deferred. +- Idempotency: purchase intents keyed; ledger writes idempotent; retries safe. +- Limits: enforce `event_credits_balance >= 1` to create an event; ledger decrements on event creation. diff --git a/docs/prp/09-security-compliance.md b/docs/prp/09-security-compliance.md new file mode 100644 index 0000000..595cc46 --- /dev/null +++ b/docs/prp/09-security-compliance.md @@ -0,0 +1,8 @@ +# 09 — Security & Compliance + +- Roles: `super_admin`, `tenant_admin`, `member`; guest upload via signed tokens. +- Policies: all tenant-owned models gated; Super Admin bypass via explicit ability. +- Audit: record impersonation and destructive actions with actor, target, reason. +- Logging: structured, no PII; add request/trace IDs; redact secrets. +- GDPR: retention settings per tenant; deletion workflows; legal pages managed via CMS-like resource. +- Rate limits: per-tenant, per-user, per-device; protect upload and admin mutations. diff --git a/docs/prp/10-storage-media-pipeline.md b/docs/prp/10-storage-media-pipeline.md new file mode 100644 index 0000000..0ae0fbb --- /dev/null +++ b/docs/prp/10-storage-media-pipeline.md @@ -0,0 +1,7 @@ +# 10 — Storage & Media Pipeline + +- Storage: S3-compatible bucket with server-side encryption; path pattern `tenants/{tenant_uuid}/events/{event_uuid}/photos/{photo_uuid}/`. +- Variants: original + derived sizes in `variants/` with content hashing for cache-busting. +- Processing: queue jobs for EXIF strip, orientation, resize (multiple sizes), and virus scan; idempotent by UUID. +- Delivery: signed URLs for admin; CDN public for guest gallery variants. +- Deletion: soft-delete metadata, schedule object purge respecting retention policies. diff --git a/docs/prp/11-ops-ci-cd.md b/docs/prp/11-ops-ci-cd.md new file mode 100644 index 0000000..e248f0f --- /dev/null +++ b/docs/prp/11-ops-ci-cd.md @@ -0,0 +1,7 @@ +# 11 — Ops, Environments, CI/CD + +- Environments: local (Docker), staging, production. Feature flags managed in DB. +- CI: PHPStan/Larastan, PHPUnit/Pest, Pint, ESLint/TypeScript, build PWAs. +- Releases: semantic versioning; changelog from PRs; migration notes required. +- Observability: uptime checks, queue health (Horizon), error tracking. +- Mobile: fastlane lanes for Capacitor iOS; TWA build pipeline for Android. diff --git a/docs/prp/12-i18n.md b/docs/prp/12-i18n.md new file mode 100644 index 0000000..a8c200d --- /dev/null +++ b/docs/prp/12-i18n.md @@ -0,0 +1,6 @@ +# 12 — Internationalization + +- Default locale `de`, fallback `en`. +- Translatable fields stored as JSON (`name`, `description`, `title`, `body_markdown`). +- PWA copy managed via i18n files; glossary maintained centrally. +- Date/number formatting per locale; right-to-left not in MVP. diff --git a/docs/prp/99-glossary.md b/docs/prp/99-glossary.md new file mode 100644 index 0000000..c9d1178 --- /dev/null +++ b/docs/prp/99-glossary.md @@ -0,0 +1,7 @@ +# 99 — Glossary + +- Tenant: Paying customer account (e.g., a couple, company). +- Event: A photo session context under a tenant (wedding, party, etc.). +- Guest PWA: Public attendee interface, anonymous by default. +- Tenant Admin PWA: Store-ready management app for tenants. +- Super Admin: Platform-level operator; Filament web panel only. diff --git a/docs/prp/README.md b/docs/prp/README.md new file mode 100644 index 0000000..2c12215 --- /dev/null +++ b/docs/prp/README.md @@ -0,0 +1,24 @@ +# Event Photo Platform — Product Requirement Plan (PRP) + +Status: Active (split version) +Date: 2025-09-08 + +This directory supersedes the legacy `fotospiel_prp.md`. Content is split into small, reviewable documents. See ADR-0006 for the Tenant Admin PWA decision. + +- 01-architecture.md — System overview and components +- 02-tenancy.md — Multi-tenant model and enforcement +- 03-api.md — API-first contract and auth +- 04-data-model-migrations.md — Portable migration intent (Schema builder) +- 05-admin-superadmin.md — Super Admin web console (Filament) +- 06-tenant-admin-pwa.md — Store-ready Tenant Admin PWA +- 07-guest-pwa.md — Guest (event attendee) PWA +- 08-billing.md — Event credits MVP, ledger, purchases +- 09-security-compliance.md — RBAC, audit, GDPR +- 10-storage-media-pipeline.md — Object storage, processing, CDN +- 11-ops-ci-cd.md — CI, releases, environments +- 12-i18n.md — Languages, locales, copy strategy +- 99-glossary.md — Terms and roles + +Notes +- The original `fotospiel_prp.md` remains as historical reference and will not be edited further. +- Any divergence should be resolved here; update ADRs when major decisions change. diff --git a/docs/wireframes/guest-pwa.md b/docs/wireframes/guest-pwa.md new file mode 100644 index 0000000..17221fc --- /dev/null +++ b/docs/wireframes/guest-pwa.md @@ -0,0 +1,185 @@ +# Guest PWA — Wireframes (Low-Fi) + +Navigation Flow + +```mermaid +flowchart TD + A[Scan QR / Open Link] --> B[Token Validate] + B -->|ok| C[Terms / Optional PIN] + B -->|invalid| Z[Error: Event Closed] + C --> D[Gallery] + D --> E[Upload Picker] + E --> F[Upload Queue] + D --> G[Photo Lightbox] + D --> H[Filters] + D --> I[Settings] + F --> D + G --> D +``` + +Gallery (mobile) + +``` ++--------------------------------------------------+ +| Toolbar: [Scan?] [Filter] [Upload] [Menu] | ++--------------------------------------------------+ +| ▢ ▢▢ ▢ ▢▢▢ ▢▢ ▢ ▢▢ Masonry grid | +| ▢▢ ▢ ▢▢ ▢ ▢ ▢▢ ▢ | +| ▢ ▢▢ ▢ ▢▢ ▢▢ ▢ ▢ | ++--------------------------------------------------+ +| Pull to refresh ▲ new items | ++--------------------------------------------------+ +``` + +Upload Queue (mobile) + +``` ++---------------- Uploads -------------------------+ +| [ ] IMG_1234.jpg 75% ||||||||||\____ [X] | +| [!] IMG_1235.jpg retry network error [↻] | +| [ ] IMG_0002.jpg queued | +| | +| Background sync: (On) • Pause • Clear all | ++--------------------------------------------------+ +``` + +Lightbox + +``` ++------------------ Photo -------------------------+ +| < back ❤ 128 likes Share ⤴ | +| | +| [ image ] | +| | +| Emotion: 🎉 Party Task: Jump shot | ++--------------------------------------------------+ +``` + +States & Messages +- Empty gallery: “Be the first to upload a photo!” + CTA button. +- Event closed: explain and provide contact hint. +- Offline: banner “You’re offline — viewing cached photos. Uploads will resume automatically.” + +Notes +- Keep wireframes platform-agnostic; exact visuals handled by design system. + - Photos only; video capture/upload is not supported. + +Additional Screens (from PWA_Wireframes.txt) + +Landing / Einstieg + +``` ++---------------- Landing -------------------------+ +| Willkommen bei Fotochallenge 🎉 | +| | +| [ QR/PIN eingeben ] [ Event beitreten ] | +| | +| Fehler: Ungültiger Code / Event geschlossen | ++-------------------------------------------------+ +``` + +Profil-Setup + +``` ++---------------- Profil --------------------------+ +| Profil erstellen | +| [ Dein Name ] | +| ( ) Avatar wählen (Rund-Icons) | +| [ Starten ] [ Überspringen ] | ++--------------------------------------------------+ +``` + +Home / Feed (mit Info-Bar) + +``` ++---------------- Home ----------------------------+ +| Eventtitel | +| Dein Fotospiel zur Hochzeit | +| ———————————————————————————————— | +| X Gäste online ✅ Y Aufgaben gelöst | +| | +| [ Aufgabe ziehen ] [ Wie fühlst du dich? ] | +| (klein) Einfach ein Foto machen | +| | +| [Masonry Feed …] | ++--------------------------------------------------+ +``` + +Aufgaben-Picker (Emotionen) + +``` ++-------------- Stimmung wählen -------------------+ +| Albern Energetisch Herzlich Cool Gemeinsam | +| Kreativ Ruhig Mutig | +| [ Aufgabe anzeigen ] | ++--------------------------------------------------+ +``` + +Aufgaben-Detail (Karte) + +``` ++---------------- Aufgabe -------------------------+ +| Stimmung: Albern [X] | +| Aufgabe: Selfie in falsche Richtung | +| Dauer: <1 Min Gruppe: 2–5 | +| [ Los geht’s ] [ Neue Aufgabe ] [ Stimmung ] | ++--------------------------------------------------+ +``` + +Kamera / Upload + +``` ++--------------- Kamera/Upload --------------------+ +| [ Kamera öffnen ] [ Foto hochladen ] | +| ✔ Foto erfolgreich hochgeladen | +| [ Galerie ansehen ] | ++--------------------------------------------------+ +``` + +Galerie / Filter + +``` ++---------------- Galerie -------------------------+ +| [ Neueste ] [ Beliebt ] [ Meine ] | +| ❤️12 [Foto] | +| ❤️ 5 [Foto] | +| ❤️21 [Foto] | ++--------------------------------------------------+ +``` + +Foto-Detailansicht + +``` ++--------------- Foto-Detail ----------------------+ +| [X] | +| [ Vollbild-Foto ] | +| ❤️ 23 🎉 4 Reaktionen | +| Aufgabe: Gruppenfoto (>=5) | +| Hochgeladen von: Lisa | +| [ ❤️ Like ] | ++--------------------------------------------------+ +``` + +Erfolge / Achievements + +``` ++--------------- Erfolge --------------------------+ +| Erstes Foto 5 Aufgaben Beliebtestes Foto | +| Gruppenfoto-König | +| Fortschritt: [██████▁▁▁] (6/10) | ++--------------------------------------------------+ +``` + +Optionale: Slideshow & Abschluss + +``` ++------------- Slideshow (optional) ---------------+ +| Vollbild-Wechsel alle 5s, Likes & Aufgabe-Overlay| ++--------------------------------------------------+ + ++--------------- Event-Abschluss ------------------+ +| Danke fürs Mitmachen! | +| Fotos: 120 Aufgaben: 45 Likes: 900 | +| QR/Link zur Online-Galerie | ++--------------------------------------------------+ +``` diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..a136d22 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,44 @@ +import js from '@eslint/js'; +import prettier from 'eslint-config-prettier'; +import react from 'eslint-plugin-react'; +import reactHooks from 'eslint-plugin-react-hooks'; +import globals from 'globals'; +import typescript from 'typescript-eslint'; + +/** @type {import('eslint').Linter.Config[]} */ +export default [ + js.configs.recommended, + ...typescript.configs.recommended, + { + ...react.configs.flat.recommended, + ...react.configs.flat['jsx-runtime'], // Required for React 17+ + languageOptions: { + globals: { + ...globals.browser, + }, + }, + rules: { + 'react/react-in-jsx-scope': 'off', + 'react/prop-types': 'off', + 'react/no-unescaped-entities': 'off', + }, + settings: { + react: { + version: 'detect', + }, + }, + }, + { + plugins: { + 'react-hooks': reactHooks, + }, + rules: { + 'react-hooks/rules-of-hooks': 'error', + 'react-hooks/exhaustive-deps': 'warn', + }, + }, + { + ignores: ['vendor', 'node_modules', 'public', 'bootstrap/ssr', 'tailwind.config.js'], + }, + prettier, // Turn off all rules that might conflict with Prettier +]; diff --git a/fotospiel_prp.bak b/fotospiel_prp.bak new file mode 100644 index 0000000..ad0f986 --- /dev/null +++ b/fotospiel_prp.bak @@ -0,0 +1,3740 @@ +## 🏗️ **Multi-Tenant System-Architektur** + +Note: Event Type-aware UI +- Theme colors can come from `event_types.settings.palette` to skin headers/buttons per type. +- Emotion picker fetches type-filtered emotions via `/api/events/:slug/emotions`. +- Random task generator and gallery filters respect event type automatically via API. + + +``` +┌─────────────────────────────────────────────────────────────────────────┐ +│ SYSTEM OVERVIEW (Multi-Tenant) │ +├─────────────────────────────────────────────────────────────────────────┤ +│ │ +│ 🔧 SUPER ADMIN 👰🤵 BRAUTPAARE 📱 GÄSTE PWA │ +│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ +│ │ System Admin │ │ Customer Admin │ │ React PWA │ │ +│ │ Panel │◄──►│ Panel │◄──►│ Event Photos │ │ +│ │ │ │ │ │ │ │ +│ │ • User Mgmt │ │ • Event Setup │ │ • Take Photos │ │ +│ │ • System Config │ │ • Photo Review │ │ • Upload Share │ │ +│ │ • Billing │ │ • Gallery Build │ │ • Live Feed │ │ +│ │ • Analytics │ │ • Export │ │ • Like/Comment │ │ +│ │ • Monitoring │ │ │ │ │ │ +│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ +│ │ │ │ │ +│ └───────────────────────┼───────────────────────┘ │ +│ │ │ +│ ┌─────────────────────────────────────────────────────────────────────┐│ +│ │ LARAVEL BACKEND API (Multi-Tenant) ││ +│ │ • Tenant Isolation • User Management • Billing System ││ +│ │ • System Monitoring • Global Analytics • Platform Administration ││ +│ └─────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────────────────────────────────────────────────┘ +``` + +## 👑 **Super Admin System (Platform Management)** + +### **Multi-Tenant Database Schema:** +```sql +-- Tenant/Customer Management +CREATE TABLE tenants ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name VARCHAR(255) NOT NULL, -- "Familie Müller" + slug VARCHAR(255) UNIQUE NOT NULL, -- "familie-mueller" + domain VARCHAR(255) UNIQUE, -- Optional: custom domain + + -- Contact Information + contact_name VARCHAR(255) NOT NULL, + contact_email VARCHAR(255) NOT NULL, + contact_phone VARCHAR(255), + + -- Event-basierte Monetarisierung (keine Subscriptions) + event_credits_balance INTEGER DEFAULT 1, + free_event_granted_at TIMESTAMP, + + -- Limits & Quotas + max_photos_per_event INTEGER DEFAULT 500, + max_storage_mb INTEGER DEFAULT 1024, -- 1GB + + -- Feature Flags + features JSON, -- {"custom_branding": true, "api_access": false} + + -- Metadata + last_activity_at TIMESTAMP, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +-- Erweiterte User-Tabelle für Multi-Tenancy +ALTER TABLE users ADD COLUMN tenant_id INTEGER; +ALTER TABLE users ADD COLUMN role ENUM('super_admin', 'tenant_admin', 'tenant_user') DEFAULT 'tenant_user'; +ALTER TABLE users ADD CONSTRAINT fk_users_tenant_id FOREIGN KEY (tenant_id) REFERENCES tenants(id); + +-- Events gehören zu Tenants +ALTER TABLE events ADD COLUMN tenant_id INTEGER NOT NULL; +ALTER TABLE events ADD CONSTRAINT fk_events_tenant_id FOREIGN KEY (tenant_id) REFERENCES tenants(id); + +-- System-weite Konfiguration +CREATE TABLE system_settings ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + key VARCHAR(255) UNIQUE NOT NULL, + value TEXT, + description TEXT, + is_public BOOLEAN DEFAULT 0, -- Für öffentliche API settings + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +-- Platform Analytics +CREATE TABLE platform_analytics ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + tenant_id INTEGER, + metric_name VARCHAR(100) NOT NULL, -- 'photos_uploaded', 'events_created' + metric_value INTEGER NOT NULL, + metric_date DATE NOT NULL, + metadata JSON, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + + FOREIGN KEY (tenant_id) REFERENCES tenants(id), + INDEX idx_analytics_date_metric (metric_date, metric_name), + INDEX idx_analytics_tenant (tenant_id, metric_date) +); + +-- Event Purchases (one-time) und Guthaben-Ledger +CREATE TABLE event_purchases ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + tenant_id INTEGER NOT NULL, + events_purchased INTEGER NOT NULL DEFAULT 1, + amount DECIMAL(10,2) NOT NULL, + currency VARCHAR(3) DEFAULT 'EUR', + provider ENUM('app_store', 'play_store', 'stripe', 'paypal') NOT NULL, + external_receipt_id VARCHAR(255), + status ENUM('pending', 'paid', 'failed', 'refunded', 'cancelled') DEFAULT 'pending', + purchased_at TIMESTAMP, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + + FOREIGN KEY (tenant_id) REFERENCES tenants(id), + INDEX idx_event_purchases_tenant (tenant_id, purchased_at) +); + +CREATE TABLE event_credits_ledger ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + tenant_id INTEGER NOT NULL, + delta INTEGER NOT NULL, + reason ENUM('initial_free','purchase','manual_adjustment','event_created','refund') NOT NULL, + related_purchase_id INTEGER, + note TEXT, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + + FOREIGN KEY (tenant_id) REFERENCES tenants(id), + FOREIGN KEY (related_purchase_id) REFERENCES event_purchases(id), + INDEX idx_ledger_tenant (tenant_id, created_at) +); +``` + +## 🛠️ **Super Admin Panel (Separate Filament Panel)** + +Note (Filament 4): +- Forms/Infolists components live under `Filament\Schema\Components` (updated below). +- Table row actions use `recordActions()`; actions are unified under `Filament\Actions`. +- Keep `Tables\Columns`/`Tables\Filters` as-is; columns/filters remain in Tables. + +### **Super Admin Panel Provider:** +```php +id('super-admin') + ->path('super-admin') + ->login() + ->colors([ + 'primary' => Color::Indigo, + 'secondary' => Color::Slate, + ]) + ->brandName('Fotobox Platform Admin') + ->brandLogo(asset('images/platform-logo.png')) + ->discoverResources(in: app_path('Filament/SuperAdmin/Resources'), for: 'App\\Filament\\SuperAdmin\\Resources') + ->discoverPages(in: app_path('Filament/SuperAdmin/Pages'), for: 'App\\Filament\\SuperAdmin\\Pages') + ->pages([ + Pages\Dashboard::class, + ]) + ->widgets([ + \App\Filament\SuperAdmin\Widgets\PlatformStatsWidget::class, + \App\Filament\SuperAdmin\Widgets\RevenueChartWidget::class, + \App\Filament\SuperAdmin\Widgets\TenantActivityWidget::class, + ]) + ->navigationGroups([ + 'Customer Management', + 'Platform Configuration', + 'Legal & Compliance', + 'Billing & Events', + 'System Monitoring', + 'Content Management' + ]) + ->authMiddleware([ + \App\Http\Middleware\SuperAdminOnly::class, + ]); + } +} +``` + +## 👥 **Tenant Management Resource** + +```php +schema([ + Schema\\Components\\Section::make('Kunden-Details') + ->schema([ + Schema\\Components\\TextInput::make('name') + ->label('Kundenname') + ->required() + ->maxLength(255), + + Schema\\Components\\TextInput::make('slug') + ->required() + ->unique(Tenant::class, 'slug', ignoreRecord: true) + ->helperText('Eindeutige URL für den Kunden'), + + Schema\\Components\\TextInput::make('domain') + ->label('Custom Domain (optional)') + ->url() + ->unique(Tenant::class, 'domain', ignoreRecord: true), + + Schema\\Components\\TextInput::make('contact_name') + ->label('Ansprechpartner') + ->required(), + + Schema\\Components\\TextInput::make('contact_email') + ->label('E-Mail') + ->email() + ->required(), + + Schema\\Components\\TextInput::make('contact_phone') + ->label('Telefon') + ->tel(), + ]) + ->columns(2), + + Schema\\Components\\Section::make('Subscription Management') + ->schema([ + Schema\\Components\\Select::make('plan_type') + ->label('Plan') + ->options([ + 'free' => 'Free (Testversion)', + 'basic' => 'Basic (29€/Monat)', + 'premium' => 'Premium (49€/Monat)', + 'enterprise' => 'Enterprise (Custom)' + ]) + ->required() + ->live(), + + Schema\\Components\\Select::make('subscription_status') + ->options([ + 'trial' => 'Trial', + 'active' => 'Aktiv', + 'suspended' => 'Suspendiert', + 'cancelled' => 'Gekündigt' + ]) + ->required(), + + Schema\\Components\\DateTimePicker::make('subscription_starts_at') + ->label('Abo Start'), + + Schema\\Components\\DateTimePicker::make('subscription_ends_at') + ->label('Abo Ende'), + + Schema\\Components\\DateTimePicker::make('trial_ends_at') + ->label('Trial Ende') + ->visible(fn ($get) => $get('subscription_status') === 'trial'), + ]) + ->columns(2), + + Schema\\Components\\Section::make('Limits & Kontingente') + ->schema([ + Schema\\Components\\TextInput::make('max_events') + ->label('Max. Events') + ->numeric() + ->default(1), + + Schema\\Components\\TextInput::make('max_photos_per_event') + ->label('Max. Fotos pro Event') + ->numeric() + ->default(500), + + Schema\\Components\\TextInput::make('max_storage_mb') + ->label('Max. Speicher (MB)') + ->numeric() + ->default(1024), + ]) + ->columns(3), + + Schema\\Components\\Section::make('Feature Flags') + ->schema([ + Schema\\Components\\KeyValue::make('features') + ->label('Aktivierte Features') + ->keyLabel('Feature') + ->valueLabel('Aktiviert') + ->default([ + 'custom_branding' => false, + 'api_access' => false, + 'advanced_analytics' => false, + 'white_label' => false + ]), + ]), + ]); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\TextColumn::make('name') + ->searchable() + ->sortable(), + + Tables\Columns\TextColumn::make('contact_email') + ->label('Kontakt') + ->searchable(), + + Tables\Columns\TextColumn::make('event_credits_balance') + ->label('Event-Guthaben') + ->badge() + + + + Tables\Columns\TextColumn::make('events_count') + ->label('Events') + ->counts('events'), + + Tables\Columns\TextColumn::make('total_photos_count') + ->label('Gesamt Fotos') + ->getStateUsing(fn ($record) => + $record->events()->withCount('photos')->get()->sum('photos_count') + ), + + Tables\Columns\TextColumn::make('free_event_granted_at') + ->label('Kostenloses Event am') + ->date('d.m.Y') + ->sortable(), + + Tables\Columns\TextColumn::make('last_activity_at') + ->label('Letzte Aktivität') + ->since() + ->sortable(), + ]) + ->filters([ + Tables\Filters\SelectFilter::make('plan_type') + ->options([ + 'free' => 'Free', + 'basic' => 'Basic', + 'premium' => 'Premium', + 'enterprise' => 'Enterprise' + ]), + + Tables\Filters\SelectFilter::make('subscription_status') + ->options([ + 'trial' => 'Trial', + 'active' => 'Aktiv', + 'suspended' => 'Suspendiert', + 'cancelled' => 'Gekündigt' + ]), + + Tables\Filters\Filter::make('expiring_soon') + ->label('Läuft bald ab') + ->query(fn ($query) => $query->where('subscription_ends_at', '<=', now()->addDays(30))), + ]) + ->recordActions([ + Actions\\ViewAction::make(), + Actions\\EditAction::make(), + Actions\\Action::make('login_as') + ->label('Als Kunde anmelden') + ->icon('heroicon-o-arrow-right-on-rectangle') + ->url(fn ($record) => "/admin/impersonate/{$record->id}") + ->openUrlInNewTab(), + + ]) + ->bulkActions([ + Actions\\BulkAction::make('send_notification') + ->label('Benachrichtigung senden') + ->icon('heroicon-o-envelope') + ->form([ + Schema\\Components\\TextInput::make('subject') + ->label('Betreff') + ->required(), + Schema\\Components\\Textarea::make('message') + ->label('Nachricht') + ->required() + ->rows(4), + ]) + ->action(function (array $data, Collection $records) { + // Send bulk notification to selected customers + foreach ($records as $tenant) { + // Send email notification + } + }), + ]) + ->defaultSort('created_at', 'desc'); + } + + public static function getPages(): array + { + return [ + 'index' => Pages\ListTenants::route('/'), + 'create' => Pages\CreateTenant::route('/create'), + 'edit' => Pages\EditTenant::route('/{record}/edit'), + 'view' => Pages\ViewTenant::route('/{record}'), + ]; + } +} +``` + +## 💰 **Subscription Plans Resource** + +```php +schema([ + Schema\\Components\\Section::make('Plan Details') + ->schema([ + Schema\\Components\\TextInput::make('name') + ->required() + ->maxLength(100), + + Schema\\Components\\TextInput::make('slug') + ->required() + ->unique(SubscriptionPlan::class, 'slug', ignoreRecord: true), + + Schema\\Components\\TextInput::make('price_monthly') + ->label('Monatspreis (€)') + ->numeric() + ->prefix('€'), + + Schema\\Components\\TextInput::make('price_yearly') + ->label('Jahrespreis (€)') + ->numeric() + ->prefix('€'), + + Schema\\Components\\Toggle::make('is_active') + ->label('Plan aktiv') + ->default(true), + ]) + ->columns(2), + + Schema\\Components\\Section::make('Plan Limits') + ->schema([ + Schema\\Components\\TextInput::make('max_events') + ->label('Max. Events') + ->numeric() + ->required(), + + Schema\\Components\\TextInput::make('max_photos_per_event') + ->label('Max. Fotos pro Event') + ->numeric() + ->required(), + + Schema\\Components\\TextInput::make('max_storage_gb') + ->label('Max. Speicher (GB)') + ->numeric() + ->required(), + ]) + ->columns(3), + + Schema\\Components\\Section::make('Features') + ->schema([ + Schema\\Components\\KeyValue::make('features') + ->label('Plan Features') + ->keyLabel('Feature') + ->valueLabel('Enthalten') + ->default([ + 'custom_branding' => false, + 'api_access' => false, + 'advanced_analytics' => false, + 'priority_support' => false, + 'white_label' => false, + 'custom_domain' => false + ]), + ]), + ]); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\TextColumn::make('name') + ->searchable() + ->sortable(), + + Tables\Columns\TextColumn::make('price_monthly') + ->label('Monatlich') + ->money('EUR'), + + Tables\Columns\TextColumn::make('price_yearly') + ->label('Jährlich') + ->money('EUR'), + + Tables\Columns\TextColumn::make('max_events') + ->label('Events'), + + Tables\Columns\TextColumn::make('max_photos_per_event') + ->label('Fotos/Event'), + + Tables\Columns\TextColumn::make('max_storage_gb') + ->label('Storage (GB)'), + + Tables\Columns\TextColumn::make('subscribers_count') + ->label('Kunden') + ->getStateUsing(fn ($record) => $record->tenants()->count()), + + Tables\Columns\IconColumn::make('is_active') + ->boolean(), + ]) + ->recordActions([ + Actions\\EditAction::make(), + Actions\\Action::make('duplicate') + ->label('Duplizieren') + ->icon('heroicon-o-document-duplicate') + ->action(function ($record) { + $newPlan = $record->replicate(); + $newPlan->name = $record->name . ' (Kopie)'; + $newPlan->slug = $record->slug . '-copy'; + $newPlan->save(); + }), + ]); + } +} +``` + +## 📊 **System Settings Resource** + +```php +schema([ + Schema\\Components\\Section::make('Setting Details') + ->schema([ + Schema\\Components\\TextInput::make('key') + ->required() + ->unique(SystemSetting::class, 'key', ignoreRecord: true) + ->helperText('Eindeutiger Key für die Einstellung'), + + Schema\\Components\\Textarea::make('value') + ->required() + ->rows(3) + ->helperText('JSON, String oder andere Werte'), + + Schema\\Components\\Textarea::make('description') + ->rows(2) + ->helperText('Beschreibung der Einstellung'), + + Schema\\Components\\Toggle::make('is_public') + ->label('Öffentlich verfügbar') + ->helperText('Über öffentliche API abrufbar'), + ]), + ]); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\TextColumn::make('key') + ->searchable() + ->sortable(), + + Tables\Columns\TextColumn::make('value') + ->limit(50) + ->searchable(), + + Tables\Columns\TextColumn::make('description') + ->limit(100), + + Tables\Columns\IconColumn::make('is_public') + ->boolean(), + + Tables\Columns\TextColumn::make('updated_at') + ->label('Zuletzt geändert') + ->dateTime('d.m.Y H:i') + ->sortable(), + ]) + ->filters([ + Tables\Filters\TernaryFilter::make('is_public') + ->label('Öffentliche Einstellungen'), + ]) + ->actions([ + Actions\\EditAction::make(), + ]) + ->groups([ + 'category' => Tables\Grouping\Group::make('key') + ->label('Kategorie') + ->getDescriptionFromRecordUsing(fn ($record) => explode('.', $record->key)[0]) + ]); + } + + // Predefined System Settings + public static function getDefaultSettings(): array + { + return [ + 'platform.max_file_size' => '10485760', // 10MB + 'platform.allowed_image_types' => 'jpeg,jpg,png,webp', + // Event-basierte Preisgestaltung + 'pricing.event_price_eur' => '9.99', + 'pricing.free_event_on_app_purchase' => 'true', + 'email.from_address' => 'noreply@fotobox-platform.de', + 'email.support_address' => 'support@fotobox-platform.de', + 'analytics.google_analytics_id' => '', + 'features.maintenance_mode' => 'false', + 'features.new_registrations' => 'true', + 'storage.default_disk' => 'local', + 'storage.cdn_url' => '', + ]; + } +} +``` + +## 📊 **Super Admin Widgets** + +### **Platform Statistics Widget:** +```php +count()) + ->description('Mindestens ein Event vorhanden') + ->descriptionIcon('heroicon-m-building-office') + ->color('success'), + + Stat::make('Gesamt Events', Event::count()) + ->description('Alle Events auf der Platform') + ->descriptionIcon('heroicon-m-calendar-days') + ->color('primary'), + + Stat::make('Gesamt Fotos', Photo::count()) + ->description('Hochgeladene Fotos') + ->descriptionIcon('heroicon-m-photo') + ->color('warning'), + + Stat::make('Monthly Recurring Revenue', + Tenant::where('subscription_status', 'active') + ->whereIn('plan_type', ['basic', 'premium']) + ->get() + ->sum(fn($tenant) => match($tenant->plan_type) { + 'basic' => 29, + 'premium' => 49, + default => 0 + }) + ) + ->description('€ MRR') + ->descriptionIcon('heroicon-m-currency-euro') + ->color('success'), + ]; + } +} +``` + +### **Revenue Chart Widget:** +```php +where('created_at', '>=', now()->subYear()) + ->selectRaw('DATE_FORMAT(created_at, "%Y-%m") as month, SUM(amount) as revenue') + ->groupBy('month') + ->orderBy('month') + ->get(); + + return [ + 'datasets' => [ + [ + 'label' => 'Umsatz (€)', + 'data' => $data->pluck('revenue'), + 'borderColor' => 'rgb(99, 102, 241)', + 'backgroundColor' => 'rgba(99, 102, 241, 0.1)', + ], + ], + 'labels' => $data->pluck('month'), + ]; + } + + protected function getType(): string + { + return 'line'; + } +} +``` + +## 🔐 **Super Admin Middleware** + +```php +check() || auth()->user()->role !== 'super_admin') { + abort(403, 'Access denied. Super Admin privileges required.'); + } + + return $next($request); + } +} +``` + +## 🏢 **Tenant Scoping Middleware** + +```php +user()->role === 'super_admin') { + return $next($request); // Super Admin bypasses tenant scoping + } + + $tenant = auth()->user()->tenant; + + if (!$tenant) { + abort(403, 'No tenant associated with user.'); + } + + // Set global tenant scope + config(['app.current_tenant' => $tenant]); + + return $next($request); + } +} +``` + +## 🎯 **Super Admin Navigation Struktur** + +``` +🏠 Dashboard +├── 📊 Platform Overview +├── 💰 Revenue Summary +└── 🚨 System Alerts + +👥 Customer Management +├── 🏢 Tenants/Kunden +├── 👤 User Management +├── 📞 Support Tickets +└── 📧 Bulk Communications + +💳 Billing & Subscriptions +├── 💰 Subscription Plans +├── 🧾 Invoices & Payments +├── 📊 Revenue Analytics +└── 🎁 Promotions & Discounts + +⚙️ Platform Configuration +├── 🔧 System Settings +├── 🎨 Global Themes +├── # Hochzeits-Fotobox App - Project Requirements & Prompt (PRP) + +## 📋 Projekt-Übersicht + +**Projektname:** Emotionen-Fotobox für Deutsche Hochzeiten +**Ziel:** Eine Progressive Web App (PWA), die Hochzeitsgäste spielerisch dazu motiviert, emotionale Fotos zu erstellen und zu teilen +**Tech-Stack:** Laravel 12.x + Filament 4.x (Admin) + Vite + React + SQLite + Tailwind CSS +> Versions as of 2025-09-01: Laravel 12 (latest 12.21.x), Filament 4 (stable). If you must stay on Filament v3 for compatibility, pin to 3.3.x. +**Zielgruppe:** Deutsche Hochzeitsgäste aller Altersgruppen + +## 🎯 Kern-Funktionalitäten + +### 1. Emotions-basiertes Foto-System +- **6 Haupt-Emotionen:** Liebe 💕, Freude 😂, Rührung 🥺, Nostalgie 📸, Überraschung 😲, Stolz 🏆 +- **Aufgaben-Generator:** Pro Emotion 8-12 verschiedene Foto-Aufgaben +- **Schwierigkeitsgrade:** Easy (Einzelperson), Medium (Gruppe), Hard (Kreativ/Nachstellung) + +### 2. Social Media-inspiriertes UI +- **Instagram Stories-Layout:** Horizontale Emotion-Bubbles +- **TikTok-Style Kamera:** Vollbild mit Overlay-Aufgaben +- **Feed-Design:** Kachel-Grid mit Like-Funktion +- **Swipe-Navigation:** Intuitive Bedienung + +### 3. Real-time Features +- **Live-Photo-Feed:** Neue Fotos erscheinen sofort bei allen Gästen +- **Kollaborative Galerie:** Gemeinsame Fotosortierung nach Emotionen +- **Like-System:** Herzchen für beliebte Fotos + +## 🏗️ Technische Architektur + +### Backend: Laravel 12.x (PHP 8.4) + +#### Database Schema (SQLite) +```sql +-- Event Types (wedding, christmas, birthday, corporate, ...) +CREATE TABLE event_types ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, -- JSON (translatable: {"de":"Hochzeit","en":"Wedding"}) + slug VARCHAR(100) UNIQUE NOT NULL, + icon VARCHAR(64), + settings JSON, -- e.g., {"palette": {...}} + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +-- Events (Veranstaltungen) +CREATE TABLE events ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, -- JSON (translatable) + date DATE NOT NULL, + slug VARCHAR(255) UNIQUE NOT NULL, + description TEXT, -- JSON (translatable) + settings JSON, -- Konfiguration für Emotionen, Farben etc. + event_type_id INTEGER NOT NULL, + is_active BOOLEAN DEFAULT 1, + default_locale VARCHAR(5) DEFAULT 'de', + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (event_type_id) REFERENCES event_types(id) +); + +-- Emotionen-Kategorien (reusable; linked to event types via pivot) +CREATE TABLE emotions ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, -- JSON (translatable) + icon VARCHAR(50) NOT NULL, -- Emoji oder Icon-Klasse + color VARCHAR(7) NOT NULL, -- Hex-Farbe + description TEXT, -- JSON (translatable) + sort_order INTEGER DEFAULT 0, + is_active BOOLEAN DEFAULT 1 +); + +-- Emotion↔EventType Zuordnung (many-to-many) +CREATE TABLE emotion_event_type ( + emotion_id INTEGER NOT NULL, + event_type_id INTEGER NOT NULL, + PRIMARY KEY (emotion_id, event_type_id), + FOREIGN KEY (emotion_id) REFERENCES emotions(id), + FOREIGN KEY (event_type_id) REFERENCES event_types(id) +); + +CREATE TABLE tasks ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + emotion_id INTEGER NOT NULL, + event_type_id INTEGER, -- optional: directly target a type + title TEXT NOT NULL, -- JSON (translatable) + description TEXT NOT NULL, -- JSON (translatable) + difficulty ENUM('easy', 'medium', 'hard') DEFAULT 'easy', + example_text TEXT, -- JSON (translatable) + sort_order INTEGER DEFAULT 0, + is_active BOOLEAN DEFAULT 1, + -- multi-tenant scoping additions (see Tenant-Defined Tasks section) + tenant_id INTEGER, + scope TEXT DEFAULT 'global', -- 'global' | 'tenant' | 'event' + event_id INTEGER, + FOREIGN KEY (emotion_id) REFERENCES emotions(id) + -- optional FKs for scoping + ,FOREIGN KEY (event_type_id) REFERENCES event_types(id) + ,FOREIGN KEY (tenant_id) REFERENCES tenants(id) + ,FOREIGN KEY (event_id) REFERENCES events(id) +); + +-- Hochgeladene Fotos +CREATE TABLE photos ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + event_id INTEGER NOT NULL, + emotion_id INTEGER NOT NULL, + task_id INTEGER, + guest_name VARCHAR(255) NOT NULL, + file_path VARCHAR(255) NOT NULL, + thumbnail_path VARCHAR(255) NOT NULL, + likes_count INTEGER DEFAULT 0, + is_featured BOOLEAN DEFAULT 0, -- Für Highlights + metadata JSON, -- EXIF-Daten, Gerätinfo etc. + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (event_id) REFERENCES events(id), + FOREIGN KEY (emotion_id) REFERENCES emotions(id), + FOREIGN KEY (task_id) REFERENCES tasks(id) +); + +-- Photo-Likes (für Gast-Interaktion) +CREATE TABLE photo_likes ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + photo_id INTEGER NOT NULL, + guest_name VARCHAR(255) NOT NULL, + ip_address VARCHAR(45), + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (photo_id) REFERENCES photos(id), + UNIQUE(photo_id, guest_name, ip_address) +); +``` + +#### Laravel Models + +**Event Model:** +```php + +Event model additions (event type): +```php +// In App\Models\Event +protected $fillable = ["name","date","slug","description","settings","event_type_id","is_active"]; +public function type(){ return $this->belongsTo(\App\Models\EventType::class, "event_type_id"); } +``` + + 'date', + 'settings' => 'array', + 'is_active' => 'boolean' + ]; + + public function photos() + { + return $this->hasMany(Photo::class)->latest(); + } + + public function getRouteKeyName() + { + return 'slug'; + } +} +``` + +**Photo Model:** +```php + 'array' + ]; + + public function event() + { + return $this->belongsTo(Event::class); + } + + public function emotion() + { + return $this->belongsTo(Emotion::class); + } + + public function task() + { + return $this->belongsTo(Task::class); + } + + public function likes() + { + return $this->hasMany(PhotoLike::class); + } +} +``` + +#### API Routes (routes/api.php) +```php +middleware(['throttle:60,1'])->group(function () { + // Event-Details + Route::get('/', [EventController::class, 'show']); + + // Emotionen laden (per Event-Typ gefiltert + universal) + Route::get('/emotions', [EmotionController::class, 'index']); + + // Aufgaben pro Emotion + Route::get('/tasks/{emotion}', [TaskController::class, 'getByEmotion']); + Route::get('/tasks/random/{emotion}', [TaskController::class, 'getRandomTask']); + + // Foto-Management + Route::get('/photos', [PhotoController::class, 'index']); + Route::post('/photos', [PhotoController::class, 'store']); + Route::get('/photos/{photo}', [PhotoController::class, 'show']); + Route::post('/photos/{photo}/like', [PhotoController::class, 'toggleLike']); + + // Live-Feed für Real-time Updates + Route::get('/feed/latest', [LiveFeedController::class, 'getLatest']); + Route::get('/feed/stream', [LiveFeedController::class, 'stream']); // SSE +}); + +// Admin Routes (für Hochzeits-Setup) +Route::prefix('admin')->middleware(['auth:sanctum'])->group(function () { + Route::apiResource('events', EventController::class); + Route::apiResource('emotions', EmotionController::class); + Route::apiResource('tasks', TaskController::class); +}); +``` + +#### Controller-Beispiele + +**PhotoController:** +```php +validate([ + 'photo' => 'required|image|mimes:jpeg,png,jpg|max:10240', // 10MB + 'emotion_id' => 'required|exists:emotions,id', + 'task_id' => 'nullable|exists:tasks,id', + 'guest_name' => 'required|string|max:100|min:2' + ]); + + $photo = $request->file('photo'); + $filename = uniqid('photo_') . '.' . $photo->getClientOriginalExtension(); + + // Original-Bild speichern + $originalPath = $photo->storeAs('photos', $filename, 'public'); + + // Thumbnail erstellen (300x300 quadratisch) + $thumbnailPath = 'thumbnails/' . $filename; + $thumbnail = Image::make($photo) + ->fit(300, 300, function ($constraint) { + $constraint->upsize(); + }) + ->encode('jpg', 85); + + Storage::disk('public')->put($thumbnailPath, $thumbnail); + + // Metadata sammeln + $metadata = [ + 'original_name' => $photo->getClientOriginalName(), + 'size' => $photo->getSize(), + 'mime_type' => $photo->getMimeType(), + 'ip_address' => $request->ip(), + 'user_agent' => $request->userAgent() + ]; + + // In Datenbank speichern + $photoRecord = Photo::create([ + 'event_id' => $event->id, + 'emotion_id' => $request->emotion_id, + 'task_id' => $request->task_id, + 'guest_name' => $request->guest_name, + 'file_path' => $originalPath, + 'thumbnail_path' => $thumbnailPath, + 'metadata' => $metadata + ]); + + // Response mit Relations + $photoRecord->load(['emotion', 'task']); + + // Optional: Broadcasting für Live-Updates + // broadcast(new PhotoUploaded($photoRecord)); + + return response()->json([ + 'success' => true, + 'data' => $photoRecord, + 'message' => 'Foto erfolgreich hochgeladen!' + ], 201); + } + + public function index(Request $request, Event $event) + { + $query = $event->photos()->with(['emotion', 'task', 'likes']); + + // Filter nach Emotion + if ($request->has('emotion_id')) { + $query->where('emotion_id', $request->emotion_id); + } + + // Sortierung + $sortBy = $request->get('sort', 'latest'); + switch ($sortBy) { + case 'popular': + $query->withCount('likes')->orderByDesc('likes_count'); + break; + case 'oldest': + $query->oldest(); + break; + default: + $query->latest(); + } + + $photos = $query->paginate(20); + + return response()->json($photos); + } + + public function toggleLike(Request $request, Event $event, Photo $photo) + { + $request->validate([ + 'guest_name' => 'required|string|max:100' + ]); + + $like = PhotoLike::where([ + 'photo_id' => $photo->id, + 'guest_name' => $request->guest_name, + 'ip_address' => $request->ip() + ])->first(); + + if ($like) { + $like->delete(); + $photo->decrement('likes_count'); + $liked = false; + } else { + PhotoLike::create([ + 'photo_id' => $photo->id, + 'guest_name' => $request->guest_name, + 'ip_address' => $request->ip() + ]); + $photo->increment('likes_count'); + $liked = true; + } + + return response()->json([ + 'liked' => $liked, + 'likes_count' => $photo->fresh()->likes_count + ]); + } +} +``` + +### Frontend: React + Vite PWA + +Note: Event Type-aware UI +- Theme colors can come from `event_types.settings.palette` to skin headers/buttons per type. +- Emotion picker fetches type-filtered emotions via `/api/events/:slug/emotions`. +- Random task generator and gallery filters respect event type automatically via API. + +#### Projekt-Struktur +``` +resources/js/ +├── src/ +│ ├── components/ +│ │ ├── Camera/ +│ │ │ ├── CameraCapture.jsx +│ │ │ ├── PhotoPreview.jsx +│ │ │ └── TaskOverlay.jsx +│ │ ├── Emotions/ +│ │ │ ├── EmotionPicker.jsx +│ │ │ ├── EmotionBubble.jsx +│ │ │ └── TaskGenerator.jsx +│ │ ├── Gallery/ +│ │ │ ├── PhotoGrid.jsx +│ │ │ ├── PhotoModal.jsx +│ │ │ └── PhotoCard.jsx +│ │ ├── Layout/ +│ │ │ ├── Header.jsx +│ │ │ ├── Navigation.jsx +│ │ │ └── LoadingSpinner.jsx +│ │ └── Forms/ +│ │ ├── GuestNameForm.jsx +│ │ └── PhotoUpload.jsx +│ ├── pages/ +│ │ ├── GeneralLandingPage.jsx +│ │ ├── EventSpecificLandingPage.jsx +│ │ ├── HomePage.jsx +│ │ ├── CameraPage.jsx +│ │ ├── GalleryPage.jsx +│ ├── hooks/ +│ │ ├── useCamera.js +│ │ ├── usePhotoUpload.js +│ │ ├── useLocalStorage.js +│ │ └── useRealTimeFeed.js +│ ├── services/ +│ │ ├── api.js +│ │ ├── imageUtils.js +│ │ └── cacheManager.js +│ ├── context/ +│ │ ├── AppContext.jsx +│ │ └── EventContext.jsx +│ └── utils/ +│ ├── constants.js +│ ├── helpers.js +│ └── validation.js +``` + +#### Vite Configuration (vite.config.js) +```javascript +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' +import { VitePWA } from 'vite-plugin-pwa' +import path from 'path' + +export default defineConfig({ + plugins: [ + react(), + VitePWA({ + registerType: 'prompt', + includeAssets: ['favicon.ico', 'apple-touch-icon.png', 'safari-pinned-tab.svg'], + manifest: { + name: 'Hochzeits-Fotobox', + short_name: 'Fotobox', + description: 'Emotionale Hochzeitsfotos für unvergessliche Momente', + theme_color: '#ff6b9d', + background_color: '#ffffff', + display: 'standalone', + orientation: 'portrait-primary', + start_url: '/', + scope: '/', + icons: [ + { + src: '/icons/pwa-192x192.png', + sizes: '192x192', + type: 'image/png' + }, + { + src: '/icons/pwa-512x512.png', + sizes: '512x512', + type: 'image/png' + } + ] + }, + workbox: { + globPatterns: ['**/*.{js,css,html,ico,png,svg,woff2}'], + runtimeCaching: [ + { + urlPattern: /^\/api\//, + handler: 'NetworkFirst', + options: { + cacheName: 'api-cache', + expiration: { + maxEntries: 100, + maxAgeSeconds: 60 * 60 * 24 // 24 hours + } + } + }, + { + urlPattern: /\.(png|jpg|jpeg|svg|gif)$/, + handler: 'CacheFirst', + options: { + cacheName: 'images-cache', + expiration: { + maxEntries: 200, + maxAgeSeconds: 60 * 60 * 24 * 7 // 1 week + } + } + } + ] + } + }) + ], + resolve: { + alias: { + '@': path.resolve(__dirname, './resources/js/src') + } + }, + build: { + outDir: 'public/build', + emptyOutDir: true, + manifest: true, + rollupOptions: { + input: 'resources/js/app.jsx' + } + }, + server: { + host: true, + hmr: { + host: 'localhost' + } + } +}) +``` + +#### React Haupt-Komponenten + +**App.jsx (Routing & Context)** +```jsx +import React from 'react' +import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom' +import { QueryClient, QueryClientProvider } from '@tanstack/react-query' +import { EventProvider } from '@/context/EventContext' +import { AppProvider } from '@/context/AppContext' + +// Pages +import EventLanding from '@/pages/EventLanding' +import HomePage from '@/pages/HomePage' +import CameraPage from '@/pages/CameraPage' +import GalleryPage from '@/pages/GalleryPage' + +// Layout +import Layout from '@/components/Layout/Layout' + +const queryClient = new QueryClient({ + defaultOptions: { + queries: { + staleTime: 1000 * 60 * 5, // 5 minutes + cacheTime: 1000 * 60 * 30, // 30 minutes + retry: 2 + } + } +}) + +function App() { + return ( + + + + + {/* Event Selection */} + } /> + + {/* Main App (requires event context) */} + + + + } /> + } /> + } /> + } /> + } /> + } /> + + + + } /> + + + + + ) +} + +export default App +``` + + +**GeneralLandingPage.jsx** +```jsx +import React from 'react'; +import { useNavigate } from 'react-router-dom'; + +function GeneralLandingPage() { + const navigate = useNavigate(); + + const handleQRScan = () => { + // Trigger device camera to scan QR code + // This would use a library like jsQR or react-qr-reader + console.log("Opening QR scanner..."); + }; + + const handleManualEntry = () => { + // Open modal for manual code entry + const code = prompt("Bitte gib den Event-Code ein:"); + if (code) { + // Validate and redirect to event + navigate(`/event/${code}`); + } + }; + + return ( +

    + {/* Minimalist Header */} +
    +
    Event Date
    +
    Branding Logo
    +
    + + {/* Main Content */} +
    +
    +

    Willkommen bei der Fotobox! 🎉

    +

    Dein Schlüssel zu unvergesslichen Hochzeitsmomenten.

    +
    + + {/* Central Card for Actions */} +
    + {/* QR Code Scanner Emphasis */} +
    +
    + +
    + + {/* Manual Code Entry (Fallback) */} +
    + +
    +
    +
    + + {/* Minimalist Footer */} +
    + © {new Date().getFullYear()} Emotionen-Fotobox +
    +
    + ); +} + +export default GeneralLandingPage; +``` + +**EventSpecificLandingPage.jsx** +```jsx +import React, { useState } from 'react'; +import { useNavigate, useParams } from 'react-router-dom'; + +function EventSpecificLandingPage() { + const { eventSlug } = useParams(); + const navigate = useNavigate(); + const [guestName, setGuestName] = useState(''); + + const handleSubmit = (e) => { + e.preventDefault(); + if (guestName.trim()) { + // Store guest name in context or localStorage + localStorage.setItem('guestName', guestName); + // Redirect to main event page + navigate(`/event/${eventSlug}`); + } + }; + + return ( +
    + {/* Header */} +
    +
    ❤️📸
    {/* Heart with Camera Icon */} +
    01.01.2025
    {/* Event Date */} +
    + + {/* Main Content - Vertically Centered */} +
    + {/* Title Section */} +
    +

    HOCHZEIT VON

    +

    MARIE & LUKAS

    +

    Fangt die schönsten Momente ein!

    +
    + + {/* Input Section */} +
    +

    Bereit für Emotionen?

    +
    + setGuestName(e.target.value)} + className="w-full p-3 mb-4 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-pink-300" + required + /> + +
    +
    +
    + + {/* Footer */} +
    +
    ❤️
    +

    Emotionen-Fotobox

    +
    +
    + ); +} + +export default EventSpecificLandingPage; +``` + +**SettingsSheet.jsx (gear icon → bottom sheet)** +```jsx +import React from "react" +import { Link } from "react-router-dom" +import { useTranslation } from "react-i18next" + +export default function SettingsSheet({ open, onClose, onLangChange, currentLang }) { + const { t } = useTranslation() + if (!open) return null + return ( +
    +
    +
    +
    +
    +

    {t("ui:settings")}

    + +
    +
    +
    +
    {t("ui:language")}
    +
    + + +
    +
    +
    +
    {t("ui:legal")}
    +
      +
    • Impressum
    • +
    • Datenschutzerklärung
    • +
    • AGB
    • +
    +
    +
    +
    +
    +
    + ) +} +``` + +**LegalPage.jsx (renders platform-managed markdown)** +```jsx +import React from "react" +import { useParams } from "react-router-dom" +import { useQuery } from "@tanstack/react-query" +import ReactMarkdown from "react-markdown" +import rehypeSanitize from "rehype-sanitize" +import { useTranslation } from "react-i18next" + +export default function LegalPage(){ + const { slug } = useParams() + const { i18n } = useTranslation() + const lang = i18n.language || "de" + + const { data, isLoading, error } = useQuery({ + queryKey: ["legal", slug, lang], + queryFn: async () => { + const res = await fetch(`/api/legal/${slug}?lang=${lang}`) + if(!res.ok) throw new Error("Failed to load legal page") + return res.json() + } + }) + + if (isLoading) return
    Loading…
    + if (error) return
    Error loading content.
    + + return ( +
    +

    {data.title}

    +
    + {data.updated_at ? new Date(data.updated_at).toLocaleDateString(lang) : null} +
    + + {data.body_markdown || ""} + +
    + ) +} +``` +**Header.jsx (gear button opens SettingsSheet and changes language)** +```jsx +import React from "react" +import { Settings } from "lucide-react" +import { useTranslation } from "react-i18next" +import SettingsSheet from "@/components/Layout/SettingsSheet" + +export default function Header() { + const { i18n } = useTranslation() + const [open, setOpen] = React.useState(false) + + const onLangChange = (lng) => { + i18n.changeLanguage(lng) + localStorage.setItem("lang", lng) + setOpen(false) + } + + return ( +
    +
    +
    Fotobox
    + +
    + setOpen(false)} + onLangChange={onLangChange} + currentLang={i18n.language || "de"} + /> +
    + ) +} +``` +## 🌍 Internationalization (i18n) + +### Goals & Locales +- Support multi-lingual content across admin, API, and PWA. +- Initial locales: `de` (default) and `en`; easily extendable. + +### Backend (Laravel 12 + PHP 8.4) +- Dependency: `spatie/laravel-translatable` for JSON translations. +- App config (`config/app.php`): set `locale`, `fallback_locale`, and optionally `APP_SUPPORTED_LOCALES=de,en`. + +#### i18n Data Model +- Store translatable fields as JSON: + - `event_types.name` + - `events.name`, `events.description` + - `emotions.name`, `emotions.description` + - `tasks.title`, `tasks.description`, `tasks.example_text` + +#### Model Setup +```php +schema([ + Schema\Components\Select::make('slug') + ->label('Type')->options([ + 'imprint' => 'Impressum', + 'privacy' => 'Datenschutzerklärung', + 'terms' => 'AGB', + 'custom' => 'Custom', + ])->required(), + + Schema\Components\Tabs::make('Translations')->tabs([ + Schema\Components\Tabs\Tab::make('Deutsch')->schema([ + Schema\Components\TextInput::make('title.de')->label('Titel (DE)')->required(), + Schema\Components\Textarea::make('body_markdown.de')->label('Inhalt (DE)')->rows(12)->required(), + ]), + Schema\Components\Tabs\Tab::make('English')->schema([ + Schema\Components\TextInput::make('title.en')->label('Title (EN)')->required(), + Schema\Components\Textarea::make('body_markdown.en')->label('Content (EN)')->rows(12)->required(), + ]), + ])->columnSpanFull(), + + Schema\Components\Grid::make(3)->schema([ + Schema\Components\TextInput::make('version')->numeric()->default(1), + Schema\Components\DateTimePicker::make('effective_from'), + Schema\Components\Toggle::make('is_published')->label('Published'), + ]), + ]); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\BadgeColumn::make('slug')->label('Type')->colors([ + 'primary' => 'imprint','success'=>'privacy','warning'=>'terms','gray'=>'custom' + ]), + Tables\Columns\TextColumn::make('title')->label('Title')->formatStateUsing(fn($r)=>$r->getTranslation('title', app()->getLocale()))->limit(40), + Tables\Columns\TextColumn::make('version')->sortable(), + Tables\Columns\IconColumn::make('is_published')->boolean(), + Tables\Columns\TextColumn::make('updated_at')->dateTime('d.m.Y H:i')->sortable(), + ]) + ->headerActions([ + Actions\CreateAction::make(), + ]) + ->recordActions([ + Actions\EditAction::make(), + Actions\Action::make('preview')->label('Preview')->url(fn($r)=>url("/legal/{$r->slug}?lang=".app()->getLocale()))->openUrlInNewTab(), + Actions\DeleteAction::make(), + ]); + } +} +``` + +### API (public) +```php +// routes/api.php +use App\Http\Controllers\Api\LegalController; +Route::get('/legal/{slug}', [LegalController::class, 'show']); +``` + +```php +getLocale(); + $page = LegalPage::query() + ->where('slug', $slug) + ->where('is_published', true) + ->orderByDesc('version') + ->firstOrFail(); + + return response()->json([ + 'slug' => $page->slug, + 'title' => $page->getTranslation('title', $locale), + 'body_markdown' => $page->getTranslation('body_markdown', $locale), + 'version' => $page->version, + 'effective_from' => $page->effective_from, + 'updated_at' => $page->updated_at, + 'locale' => $locale, + ]); + } +} +``` + +### PWA UX +- Header gear icon opens a Settings sheet with: + - Language: DE/EN toggle + - Legal: Impressum, Datenschutzerklärung, AGB (links) +- Footer links (public pages): “Impressum · Datenschutz · AGB” (DE labels in DE locale) for easy/direct access. +- Routes: `/legal/imprint`, `/legal/privacy`, `/legal/terms` → render via API. + +React components (sketch): +```jsx +// routes +} /> + +// components/SettingsSheet.jsx (triggered by gear button) +// shows language selector and links to /legal/... routes +``` + +Workbox caching (vite-plugin-pwa): add runtime cache for `/api/legal/*` (CacheFirst with revalidate). + +Compliance (DE): ensure “Impressum” is labeled in German and reachable within ≤2 clicks; show last updated date; include provider details (name, address, contact, VAT/registry) in content. + +#### Locale Resolution (API) +- Precedence: `?lang` → `Accept-Language` → `event.default_locale` → fallback. +- Set `Content-Language` header. +```php +class SetLocale { /* see middleware example above */ } +``` + +### Admin (Filament v4) Forms +- Use Tabs for per-locale inputs (Spatie accepts arrays): +```php +Schema\Components\Tabs::make('Translations')->tabs([ + Schema\Components\Tabs\Tab::make('Deutsch')->schema([ + Schema\Components\TextInput::make('title.de')->label('Titel (DE)')->required(), + Schema\Components\Textarea::make('description.de')->label('Beschreibung (DE)')->rows(3), + Schema\Components\TextInput::make('example_text.de')->label('Beispiel (DE)'), + ]), + Schema\Components\Tabs\Tab::make('English')->schema([ + Schema\Components\TextInput::make('title.en')->label('Title (EN)'), + Schema\Components\Textarea::make('description.en')->label('Description (EN)')->rows(3), + Schema\Components\TextInput::make('example_text.en')->label('Example (EN)'), + ]), +]) +``` + +### CSV (Localized Fields) +- Extra headers allowed: `title:de`, `title:en`, `description:de`, `description:en`, `example_text:de`, `example_text:en`. +- If only base columns exist, treat them as the active import locale. +```csv +emotion,title:de,title:en,description:de,description:en,difficulty,is_active,scope,event_type +Freude,Sprung-Foto,Jump Photo,Alle springen!,Everyone jump!,medium,1,tenant,corporate +``` + +### Frontend (React PWA) +- Dependencies: `i18next`, `react-i18next`, `i18next-browser-languagedetector`. +- Initialize in `resources/js/src/i18n.js` and pass locale to API via `?lang=`. + +**HomePage.jsx (Emotions-Picker)** +```jsx +import React from 'react' +import { useNavigate } from 'react-router-dom' +import { useQuery } from '@tanstack/react-query' +import { useEvent } from '@/context/EventContext' +import { useApp } from '@/context/AppContext' +import EmotionBubble from '@/components/Emotions/EmotionBubble' +import PhotoGrid from '@/components/Gallery/PhotoGrid' +import LoadingSpinner from '@/components/Layout/LoadingSpinner' + +function HomePage() { + const navigate = useNavigate() + const { eventSlug, apiService } = useEvent() + const { guestName, setGuestName } = useApp() + + // Emotionen laden + const { data: emotions, isLoading: emotionsLoading } = useQuery({ + queryKey: ['emotions', eventSlug], + queryFn: () => apiService.getEmotions(), + enabled: !!eventSlug + }) + + // Neueste Fotos laden + const { data: recentPhotos, isLoading: photosLoading } = useQuery({ + queryKey: ['photos', eventSlug, 'recent'], + queryFn: () => apiService.getPhotos({ limit: 8, sort: 'latest' }), + enabled: !!eventSlug, + refetchInterval: 30000 // Alle 30 Sekunden aktualisieren + }) + + const handleEmotionClick = (emotionId) => { + if (!guestName) { + // Gast-Namen abfragen wenn noch nicht gesetzt + const name = prompt('Wie sollen wir dich nennen?', '') + if (name?.trim()) { + setGuestName(name.trim()) + } else { + return + } + } + navigate(`/event/${eventSlug}/camera/${emotionId}`) + } + + if (emotionsLoading) { + return + } + + return ( +
    + {/* Header */} +
    +

    + Willkommen zur Fotobox! 📸 +

    + {guestName && ( +

    + Hallo, {guestName}! 👋 +

    + )} +
    + + {/* Emotions-Picker */} +
    +
    + {emotions?.map((emotion) => ( + handleEmotionClick(emotion.id)} + className="flex-shrink-0" + /> + ))} +
    +
    + + {/* "Alle anzeigen" Button */} +
    + +
    + + {/* Recent Photos Feed */} +
    +

    + Neueste Momente +

    + + {photosLoading ? ( +
    + {[...Array(4)].map((_, i) => ( +
    + ))} +
    + ) : ( + + )} +
    +
    + ) +} + +export default HomePage +``` + +**CameraPage.jsx (Foto-Aufnahme)** +```jsx +import React, { useState, useRef, useCallback } from 'react' +import { useParams, useNavigate } from 'react-router-dom' +import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query' +import { useEvent } from '@/context/EventContext' +import { useApp } from '@/context/AppContext' +import CameraCapture from '@/components/Camera/CameraCapture' +import TaskOverlay from '@/components/Camera/TaskOverlay' +import PhotoPreview from '@/components/Camera/PhotoPreview' + +function CameraPage() { + const { emotionId } = useParams() + const navigate = useNavigate() + const { eventSlug, apiService } = useEvent() + const { guestName } = useApp() + const queryClient = useQueryClient() + + const [capturedPhoto, setCapturedPhoto] = useState(null) + const [currentTask, setCurrentTask] = useState(null) + const cameraRef = useRef(null) + + // Aktueller Task laden + const { data: tasks, refetch: refetchTasks } = useQuery({ + queryKey: ['tasks', eventSlug, emotionId], + queryFn: () => apiService.getRandomTask(emotionId), + enabled: !!emotionId && !!eventSlug, + onSuccess: (data) => { + if (data && !currentTask) { + setCurrentTask(data) + } + } + }) + + // Foto-Upload Mutation + const uploadMutation = useMutation({ + mutationFn: (photoData) => apiService.uploadPhoto(photoData), + onSuccess: () => { + // Cache invalidieren für sofortige Updates + queryClient.invalidateQueries(['photos', eventSlug]) + + // Zurück zur Startseite + navigate(`/event/${eventSlug}`) + }, + onError: (error) => { + console.error('Upload failed:', error) + alert('Upload fehlgeschlagen. Bitte versuche es erneut.') + } + }) + + const handleCapture = useCallback((photoBlob) => { + setCapturedPhoto(photoBlob) + }, []) + + const handleRetake = useCallback(() => { + setCapturedPhoto(null) + }, []) + + const handleUpload = useCallback(() => { + if (!capturedPhoto || !guestName || !currentTask) return + + const formData = new FormData() + formData.append('photo', capturedPhoto, 'photo.jpg') + formData.append('emotion_id', emotionId) + formData.append('task_id', currentTask.id) + formData.append('guest_name', guestName) + + uploadMutation.mutate(formData) + }, [capturedPhoto, guestName, emotionId, currentTask, uploadMutation]) + + const handleNewTask = useCallback(() => { + refetchTasks().then((result) => { + if (result.data) { + setCurrentTask(result.data) + } + }) + }, [refetchTasks]) + + // Redirect wenn kein Gast-Name gesetzt + React.useEffect(() => { + if (!guestName) { + navigate(`/event/${eventSlug}`) + } + }, [guestName, navigate, eventSlug]) + + if (!currentTask) { + return ( +
    +
    +
    +

    Aufgabe wird geladen...

    +
    +
    + ) + } + + return ( +
    + {!capturedPhoto ? ( + <> + {/* Live-Kamera */} + + + {/* Task-Overlay */} + navigate(`/event/${eventSlug}`)} + /> + + ) : ( + /* Foto-Vorschau */ + + )} +
    + ) +} + +export default CameraPage +``` + +#### PWA Service Worker Features + +**Offline-Funktionalität:** +```javascript +// public/sw.js (Custom Service Worker) +const CACHE_NAME = 'fotobox-v1' +const OFFLINE_URL = '/offline.html' + +// Offline-Queue für Photo-Uploads +class PhotoUploadQueue { + constructor() { + this.queue = [] + this.isProcessing = false + } + + async add(photoData) { + this.queue.push(photoData) + await this.process() + } + + async process() { + if (this.isProcessing || this.queue.length === 0) return + + this.isProcessing = true + + while (this.queue.length > 0) { + const photoData = this.queue.shift() + + try { + const response = await fetch(photoData.url, { + method: 'POST', + body: photoData.formData + }) + + if (response.ok) { + // Upload erfolgreich - Cache invalidieren + await caches.delete('api-cache') + + // Client benachrichtigen + self.clients.matchAll().then(clients => { + clients.forEach(client => { + client.postMessage({ + type: 'PHOTO_UPLOADED', + data: photoData + }) + }) + }) + } else { + // Fehlgeschlagen - zurück in die Queue + this.queue.unshift(photoData) + break + } + } catch (error) { + // Netzwerkfehler - zurück in die Queue + this.queue.unshift(photoData) + break + } + } + + this.isProcessing = false + } +} + +const uploadQueue = new PhotoUploadQueue() + +// Network-first für API-Calls +self.addEventListener('fetch', event => { + if (event.request.url.includes('/api/')) { + event.respondWith( + fetch(event.request) + .then(response => { + // Response klonen für Cache + const responseClone = response.clone() + caches.open(CACHE_NAME).then(cache => { + cache.put(event.request, responseClone) + }) + return response + }) + .catch(() => { + // Fallback auf Cache + return caches.match(event.request) + }) + ) + } +}) +``` + +## 🎨 UI/UX Design-Spezifikationen + +### Farbschema +```javascript +// tailwind.config.js - Custom Colors +module.exports = { + theme: { + extend: { + colors: { + emotions: { + love: '#ff6b9d', // Liebe - Pink + joy: '#ffd93d', // Freude - Gelb + touched: '#6bcf7f', // Rührung - Grün + nostalgia: '#a78bfa', // Nostalgie - Lila + surprise: '#fb7185', // Überraschung - Rosa + pride: '#34d399' // Stolz - Türkis + }, + wedding: { + primary: '#ff6b9d', + secondary: '#a78bfa', + accent: '#ffd93d', + neutral: '#6b7280', + success: '#10b981', + error: '#ef4444' + } + }, + fontFamily: { + 'wedding': ['Poppins', 'Inter', 'sans-serif'] + }, + animation: { + 'bounce-soft': 'bounce 2s infinite', + 'pulse-slow': 'pulse 3s infinite', + 'wiggle': 'wiggle 1s ease-in-out infinite', + 'fade-in': 'fadeIn 0.5s ease-in-out', + 'slide-up': 'slideUp 0.3s ease-out' + } + } + } +} +``` + +### Responsive Breakpoints +- **Mobile First:** 320px - 768px (Hauptzielgruppe) +- **Tablet:** 768px - 1024px (Landscape-Modus) +- **Desktop:** 1024px+ (Admin-Interface) + +### Gestaltungs-Prinzipien +1. **Thumb-Friendly:** Alle wichtigen Buttons in Daumen-Reichweite +2. **High Contrast:** Gute Lesbarkeit auch bei schlechtem Licht +3. **Emotional Colors:** Jede Emotion hat eigene Farb-Identität +4. **Micro-Animations:** Subtile Feedback-Animationen +5. **Progressive Disclosure:** Komplexität schrittweise aufbauen + +## 📱 Komponenten-Spezifikationen + +### EmotionBubble Component +```jsx +import React from 'react' +import { motion } from 'framer-motion' + +const EmotionBubble = ({ emotion, onClick, isActive, className }) => { + return ( + onClick(emotion.id)} + > + {/* Emoji Icon */} + {emotion.icon} + + {/* Name */} + + {emotion.name} + + + {/* Pulse Animation für aktive Emotion */} + {isActive && ( + + )} + + ) +} +``` + +### CameraCapture Component +```jsx +import React, { useRef, useEffect, useState } from 'react' +import { Camera, RotateCcw, Zap, ZapOff } from 'lucide-react' + +const CameraCapture = React.forwardRef(({ onCapture }, ref) => { + const videoRef = useRef(null) + const canvasRef = useRef(null) + const [stream, setStream] = useState(null) + const [hasFlash, setHasFlash] = useState(false) + const [isFlashOn, setIsFlashOn] = useState(false) + const [facingMode, setFacingMode] = useState('user') // 'user' oder 'environment' + + // Kamera initialisieren + useEffect(() => { + startCamera() + return () => { + stopCamera() + } + }, [facingMode]) + + const startCamera = async () => { + try { + const constraints = { + video: { + facingMode: facingMode, + width: { ideal: 1080 }, + height: { ideal: 1920 } + } + } + + const mediaStream = await navigator.mediaDevices.getUserMedia(constraints) + setStream(mediaStream) + + if (videoRef.current) { + videoRef.current.srcObject = mediaStream + } + + // Flash-Unterstützung prüfen + const videoTrack = mediaStream.getVideoTracks()[0] + const capabilities = videoTrack.getCapabilities() + setHasFlash(capabilities.torch === true) + + } catch (error) { + console.error('Kamera-Zugriff fehlgeschlagen:', error) + alert('Kamera-Zugriff nicht möglich. Bitte Berechtigungen prüfen.') + } + } + + const stopCamera = () => { + if (stream) { + stream.getTracks().forEach(track => track.stop()) + setStream(null) + } + } + + const toggleFlash = async () => { + if (!hasFlash || !stream) return + + const videoTrack = stream.getVideoTracks()[0] + try { + await videoTrack.applyConstraints({ + advanced: [{ torch: !isFlashOn }] + }) + setIsFlashOn(!isFlashOn) + } catch (error) { + console.error('Flash toggle fehlgeschlagen:', error) + } + } + + const switchCamera = () => { + setFacingMode(prev => prev === 'user' ? 'environment' : 'user') + } + + const capturePhoto = () => { + if (!videoRef.current || !canvasRef.current) return + + const video = videoRef.current + const canvas = canvasRef.current + const ctx = canvas.getContext('2d') + + // Canvas-Größe an Video anpassen + canvas.width = video.videoWidth + canvas.height = video.videoHeight + + // Video-Frame auf Canvas zeichnen + ctx.drawImage(video, 0, 0, canvas.width, canvas.height) + + // Canvas zu Blob konvertieren + canvas.toBlob((blob) => { + if (blob && onCapture) { + onCapture(blob) + } + }, 'image/jpeg', 0.9) + } + + return ( +
    + {/* Video Stream */} +
    + ) +}) + +export default CameraCapture +``` + +### TaskOverlay Component +```jsx +import React from 'react' +import { motion } from 'framer-motion' +import { Shuffle, ArrowLeft, HelpCircle } from 'lucide-react' + +const TaskOverlay = ({ task, onNewTask, onBack, onShowHelp }) => { + if (!task) return null + + return ( + + {/* Background Gradient */} +
    + + {/* Header Controls */} +
    + + +
    + + +
    +
    + + {/* Task Content */} +
    + {/* Emotion Badge */} +
    + {task.emotion?.icon} + {task.emotion?.name} +
    + + {/* Task Title */} +

    + {task.title} +

    + + {/* Task Description */} +

    + {task.description} +

    + + {/* Difficulty Indicator */} +
    + {[...Array(3)].map((_, i) => ( +
    + ))} + + {task.difficulty} + +
    + + {/* Example Hint */} + {task.example_text && ( + +

    + 💡 {task.example_text} +

    +
    + )} +
    +
    + + ) +} + +const getDifficultyLevel = (difficulty) => { + switch (difficulty) { + case 'easy': return 1 + case 'medium': return 2 + case 'hard': return 3 + default: return 1 + } +} + +export default TaskOverlay +``` + +## 🧩 Tenant-Defined Tasks & CSV Import + +### Goals +- Allow tenants (customers) to create and manage their own photo tasks. +- Support CSV import for bulk task creation for both Tenant Admins and Super Admin. +- Keep global (platform) task templates that tenants can also use. + +### Schema Changes (Tenant Scoping for Tasks) +```sql +-- Extend tasks to support tenant/event scoping +ALTER TABLE tasks ADD COLUMN tenant_id INTEGER NULL; -- owner tenant for custom tasks +ALTER TABLE tasks ADD COLUMN scope TEXT DEFAULT 'global' CHECK (scope IN ('global','tenant','event')); +ALTER TABLE tasks ADD COLUMN event_id INTEGER NULL; -- optional link for event-specific tasks +ALTER TABLE tasks ADD CONSTRAINT fk_tasks_tenant_id FOREIGN KEY (tenant_id) REFERENCES tenants(id); +ALTER TABLE tasks ADD CONSTRAINT fk_tasks_event_id FOREIGN KEY (event_id) REFERENCES events(id); + +-- Prevent duplicate titles per emotion within the same tenant (optional) +CREATE UNIQUE INDEX IF NOT EXISTS idx_tasks_unique_per_tenant ON tasks(tenant_id, emotion_id, title); +``` + +Notes: +- Use `scope='global'` for Super Admin library tasks, `tenant` for customer-defined, and `event` for per-event overrides. +- `tenant_id`/`event_id` are NULL for `global` tasks. + +### CSV Format +- Encoding: UTF-8, delimiter: comma. +- Header columns: + - emotion (name or ID) + - title + - description + - difficulty (easy|medium|hard) + - example_text (optional) + - is_active (1|0, optional; default 1) + - sort_order (integer, optional) + - scope (global|tenant|event, optional; default depends on UI context) + - event_slug (required if scope=event)`n - event_type (slug, optional; defaults to current event type or chosen library type) + +Example: +```csv +emotion,title,description,difficulty,example_text,is_active,sort_order,scope,event_type,event_slug +Freude,Sprung-Foto,Alle springen gleichzeitig in die Luft!,medium,,1,10,tenant,corporate, +Liebe,Kuss-Foto,Macht ein romantisches Kuss-Foto,easy,Einfach küssen und lächeln!,1,5,global,wedding, +Überraschung,Plötzlicher Jubel,Erschreckt das Brautpaar mit Jubel,hard,,1,20,event,,mueller-hochzeit-2025 +``` + +Validation rules: +- emotion must exist (map by name → ID considering tenant visibility). +- difficulty in allowed set; length limits per model. +- If scope=event, event_slug must resolve to a tenant-owned event. + +### Filament v4 — Tenant Admin Task Resource (with CSV Import) +```php +schema([ + Schema\Components\Section::make('Aufgabe') + ->schema([ + Schema\Components\Select::make('emotion_id') + ->label('Emotion') + ->relationship('emotion', 'name') + ->required(), + Schema\Components\TextInput::make('title')->required()->maxLength(255), + Schema\Components\Textarea::make('description')->required()->rows(3), + Schema\Components\Select::make('difficulty') + ->options(['easy'=>'Easy','medium'=>'Medium','hard'=>'Hard'])->required(), + Schema\Components\TextInput::make('example_text'), + Schema\Components\Toggle::make('is_active')->default(true), + Schema\Components\TextInput::make('sort_order')->numeric()->default(0), + ])->columns(2), + ]); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\TextColumn::make('emotion.name')->label('Emotion')->sortable()->searchable(), + Tables\Columns\TextColumn::make('title')->searchable(), + Tables\Columns\BadgeColumn::make('difficulty')->colors(['easy'=>'success','medium'=>'warning','hard'=>'danger']), + Tables\Columns\IconColumn::make('is_active')->boolean(), + Tables\Columns\TextColumn::make('sort_order')->sortable(), + ]) + ->filters([ + Tables\Filters\SelectFilter::make('event_type_id') + ->label('Event Type') + ->options(fn () => \App\Models\EventType::orderBy('name')->pluck('name', 'id')->all()) + ->query(function ($query, $state) { + if (! $state) { return; } + $query->where(function($q) use ($state) { + $q->where('event_type_id', $state) + ->orWhereExists(function($sub) use ($state) { + $sub->selectRaw(1) + ->from('emotion_event_type as eet') + ->whereColumn('eet.emotion_id', 'tasks.emotion_id') + ->where('eet.event_type_id', $state); + }); + }); + }), + ]) + ->headerActions([ + Actions\CreateAction::make(), + Actions\Action::make('importCsv') + ->label('CSV Import') + ->icon('heroicon-o-arrow-up-tray') + ->form([ + Schema\Components\FileUpload::make('csv')->acceptedFileTypes(['text/csv','text/plain'])->required(), + Schema\Components\Select::make('scope')->options(['tenant'=>'Tenant','event'=>'Event'])->default('tenant')->required(), + Schema\Components\Select::make('event_id') + ->label('Event (für Scope=Event)') + ->relationship('event', 'name') + ->searchable() + ->visible(fn ($get) => $get('scope') === 'event'), + ]) + ->action(function(array $data) { + $path = $data['csv']; + $full = storage_path('app/public/'.$path); + $csv = Reader::createFromPath($full, 'r'); + $csv->setHeaderOffset(0); + DB::transaction(function() use ($csv, $data) { + foreach ($csv->getRecords() as $row) { + $emotion = Emotion::query()->where('name', $row['emotion'] ?? '')->first(); + if (! $emotion) { continue; } + Task::create([ + 'tenant_id' => auth()->user()->tenant_id, + 'event_id' => $data['scope'] === 'event' ? ($data['event_id'] ?? null) : null, + 'scope' => $data['scope'], + 'emotion_id' => $emotion->id, + 'title' => trim($row['title'] ?? ''), + 'description' => trim($row['description'] ?? ''), + 'difficulty' => $row['difficulty'] ?? 'easy', + 'example_text' => $row['example_text'] ?? null, + 'is_active' => (int)($row['is_active'] ?? 1) === 1, + 'sort_order' => (int)($row['sort_order'] ?? 0), + ]); + } + }); + }) + ->requiresConfirmation(), + ]) + ->recordActions([ + Actions\EditAction::make(), + Actions\DeleteAction::make(), + ]); + } + + public static function getEloquentQuery() + { + // Tenant scoping for tasks: show global + tenant-owned + return parent::getEloquentQuery()->where(function($q){ + $tenantId = auth()->user()->tenant_id; + $q->whereNull('tenant_id')->where('scope','global') + ->orWhere('tenant_id', $tenantId); + }); + } +} +``` + +**EmotionController (filtered by event type):** +```php +event_type_id; + $emotions = Emotion::query() + ->where('is_active', true) + ->where(function($q) use ($typeId) { + $q->whereIn('id', function($sub) use ($typeId) { + $sub->from('emotion_event_type') + ->select('emotion_id') + ->where('event_type_id', $typeId); + }); + }) + ->orderBy('sort_order') + ->get(); + + return response()->json($emotions); + } +} +``` + +**TaskController (respect event type and scope precedence):** +```php +user())->tenant_id; // optional auth + $typeId = $event->event_type_id; + + $query = Task::query() + ->where('emotion_id', $emotionId) + ->where('is_active', true) + ->where(function($q) use ($event, $tenantId, $typeId) { + $q->where('scope', 'event')->where('event_id', $event->id) + ->orWhere(function($q2) use ($tenantId, $typeId) { + $q2->where('scope','tenant') + ->where('tenant_id', $tenantId) + ->where(function($qq) use ($typeId){ + $qq->whereNull('event_type_id')->orWhere('event_type_id', $typeId); + }); + }) + ->orWhere(function($q3) use ($typeId) { + $q3->where('scope','global') + ->where(function($qq) use ($typeId){ + $qq->whereNull('event_type_id')->orWhere('event_type_id', $typeId); + }); + }); + }) + ->orderByRaw("CASE WHEN scope='event' THEN 1 WHEN scope='tenant' THEN 2 ELSE 3 END") + ->orderBy('sort_order') + ->get(); + + return response()->json($query); + } + + public function getRandomTask(Request $request, Event $event, $emotionId) + { + $request->merge(['limit' => 1]); + $tasks = $this->getByEmotion($request, $event, $emotionId)->getData(); + // pick a random from top precedence group + $collection = collect($tasks); + $topScope = $collection->min(fn($t) => $t->scope === 'event' ? 1 : ($t->scope === 'tenant' ? 2 : 3)); + $pool = $collection->filter(fn($t) => ($t->scope === 'event' ? 1 : ($t->scope === 'tenant' ? 2 : 3)) === $topScope); + return response()->json($pool->random()); + } +} +``` + + +### Super Admin — Event Types Resource +```php +columns([ + Tables\\Columns\\TextColumn::make("name")->searchable()->sortable(), + Tables\\Columns\\TextColumn::make("icon"), + Tables\\Columns\\TextColumn::make("color"), + ]) + ->filters([ + Tables\\Filters\\SelectFilter::make("event_type") + ->label("Event Type") + ->options(fn () => EventType::orderBy("name")->pluck("name","id")->all()) + ->query(function($query, $state){ + if (! $state) { return; } + $query->whereIn("id", function($sub) use ($state) { + $sub->from("emotion_event_type") + ->select("emotion_id") + ->where("event_type_id", $state); + }); + }), + ]) + ->recordActions([ + Actions\\EditAction::make(), + Actions\\DeleteAction::make(), + ]) + ->headerActions([ Actions\\CreateAction::make() ]); + } +} +``` + +// app/Filament/SuperAdmin/Resources/EventTypeResource.php + +namespace App\\Filament\\SuperAdmin\\Resources; + +use App\\Models\\EventType; +use Filament\\Resources\\Resource; +use Filament\\Tables; +use Filament\\Tables\\Table; +use Filament\\Forms\\Form; +use Filament\\Schema as Schema; +use Filament\\Actions; + +class EventTypeResource extends Resource +{ + protected static ?string $model = EventType::class; + protected static ?string $navigationIcon = "heroicon-o-rectangle-stack"; + protected static ?string $navigationGroup = "Platform Configuration"; + protected static ?string $label = "Event Types"; + + public static function form(Form $form): Form + { + return $form->schema([ + Schema\\Components\\TextInput::make("name")->required()->maxLength(100), + Schema\\Components\\TextInput::make("slug")->required()->maxLength(100)->unique(ignoreRecord: true), + Schema\\Components\\TextInput::make("icon")->maxLength(64), + Schema\\Components\\KeyValue::make("settings")->keyLabel("Key")->valueLabel("Value"), + ]); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\\Columns\\TextColumn::make("name")->searchable()->sortable(), + Tables\\Columns\\TextColumn::make("slug")->searchable(), + Tables\\Columns\\TextColumn::make("icon"), + ]) + ->recordActions([ + Actions\\EditAction::make(), + Actions\\DeleteAction::make(), + ]) + ->headerActions([ Actions\\CreateAction::make() ]); + } +} +``` + +### Filament v4 — Super Admin Global Task Library (with CSV Import) +```php +columns([ + Tables\Columns\TextColumn::make('scope')->badge(), + Tables\Columns\TextColumn::make('tenant.name')->label('Tenant')->toggleable(isToggledHidden: true), + Tables\Columns\TextColumn::make('emotion.name')->label('Emotion'), + Tables\Columns\TextColumn::make('title')->limit(60), + Tables\Columns\BadgeColumn::make('difficulty'), + Tables\Columns\IconColumn::make('is_active')->boolean(), + ] ->filters([ + Tables\\Filters\\SelectFilter::make('event_type_id') + ->label('Event Type') + ->options(fn () => \\App\\Models\\EventType::orderBy('name')->pluck('name','id')->all()) + ->query(function (,){ + if(! ){ return; } + ->where(function() use (){ + ->where('event_type_id',) + ->orWhereExists(function() use (){ + ->selectRaw(1) + ->from('emotion_event_type as eet') + ->whereColumn('eet.emotion_id','tasks.emotion_id') + ->where('eet.event_type_id',); + }); + }); + }), + ]) +) + ->headerActions([ + Actions\Action::make('importCsv') + ->label('CSV Import') + ->icon('heroicon-o-arrow-up-tray') + ->form([ + Schema\Components\FileUpload::make('csv')->acceptedFileTypes(['text/csv','text/plain'])->required(), + Schema\Components\Select::make('scope')->options(['global'=>'Global','tenant'=>'Tenant','event'=>'Event'])->default('global')->required(), + Schema\Components\Select::make('tenant_id')->relationship('tenant','name')->visible(fn($get)=>$get('scope')!=='global'), + Schema\Components\Select::make('event_id')->label('Event')->relationship('event','name')->visible(fn($get)=>$get('scope')==='event'), + ]) + ->action(function(array $data){ + $path = $data['csv']; + $full = storage_path('app/public/'.$path); + $csv = Reader::createFromPath($full, 'r'); + $csv->setHeaderOffset(0); + DB::transaction(function() use ($csv, $data) { + foreach ($csv->getRecords() as $row) { + $emotion = Emotion::query()->where('name', $row['emotion'] ?? '')->first(); + if (! $emotion) { continue; } + Task::create([ + 'scope' => $data['scope'], + 'tenant_id' => $data['scope']!=='global' ? ($data['tenant_id'] ?? null) : null, + 'event_id' => $data['scope']==='event' ? ($data['event_id'] ?? null) : null, + 'emotion_id' => $emotion->id, + 'title' => trim($row['title'] ?? ''), + 'description' => trim($row['description'] ?? ''), + 'difficulty' => $row['difficulty'] ?? 'easy', + 'example_text' => $row['example_text'] ?? null, + 'is_active' => (int)($row['is_active'] ?? 1) === 1, + 'sort_order' => (int)($row['sort_order'] ?? 0), + ]); + } + }); + }) + ->requiresConfirmation(), + ]); + } +} +``` + +Implementation notes: +- Add policies to restrict Tenant Admins from editing global tasks. +- When importing with scope=tenant/event in Super Admin, enforce that referenced tenant/event exist. +- Consider a background Job for large CSV files and a progress UI. + +## 🚀 Deployment & Setup-Anweisungen + +### Entwicklungs-Setup + +#### 1. Laravel Backend Setup +```bash +# Neues Laravel-Projekt erstellen +composer create-project laravel/laravel:^12.0 hochzeits-fotobox +cd hochzeits-fotobox + +# Abhängigkeiten installieren +composer require intervention/image +composer require pusher/pusher-php-server +composer require laravel/sanctum +composer require filament/filament:^4.0 -W +# Falls Filament v3 benoetigt wird (Kompatibilitaet): +# composer require filament/filament:^3.3 -W +composer require league/csv:^9.15 # CSV parsing for task imports +composer require spatie/laravel-translatable # JSON-based field translations (i18n) + +# Environment konfigurieren +cp .env.example .env +# Datenbankverbindung auf SQLite ändern: +# DB_CONNECTION=sqlite +# DB_DATABASE=/absolute/path/to/database/database.sqlite + +# SQLite-Datenbank erstellen +touch database/database.sqlite + +# Migrations erstellen und ausführen +php artisan make:migration create_events_table +php artisan make:migration create_emotions_table +php artisan make:migration create_event_types_table +php artisan make:migration create_emotion_event_type_table +php artisan make:migration add_event_type_id_to_events +php artisan make:migration add_event_type_and_scoping_to_tasks +php artisan make:migration add_i18n_translatables_json --table=events +php artisan make:migration add_i18n_translatables_json_to_emotions --table=emotions +php artisan make:migration add_i18n_translatables_json_to_tasks --table=tasks +php artisan make:migration create_tasks_table +php artisan make:migration create_photos_table +php artisan make:migration create_photo_likes_table + +php artisan migrate + +# Models und Controller generieren +php artisan make:model Event -c +php artisan make:model Emotion -c +php artisan make:model Task -c +php artisan make:model Photo -c +php artisan make:model PhotoLike + +# Seeder für Demo-Daten +php artisan make:seeder EmotionsSeeder +php artisan make:seeder TasksSeeder +php artisan make:seeder DemoEventSeeder + +# Storage-Link erstellen +php artisan storage:link + +# App-Key generieren +php artisan key:generate +``` + +#### 2. Frontend Setup +```bash +# NPM-Abhängigkeiten installieren +npm install + +# React und Tools +npm install react react-dom @vitejs/plugin-react +npm install @tanstack/react-query +npm install react-router-dom +npm install framer-motion +npm install lucide-react + +# Styling +npm install tailwindcss postcss autoprefixer +npm install @tailwindcss/forms @tailwindcss/aspect-ratio + +# PWA +npm install vite-plugin-pwa workbox-window + +# Utils +npm install date-fns +npm install clsx +npm install compressorjs +npm install react-markdown rehype-sanitize + +# Tailwind initialisieren +npx tailwindcss init -p + +# Verzeichnis-Struktur erstellen +mkdir -p resources/js/src/{components,pages,hooks,services,context,utils} +mkdir -p resources/js/src/components/{Camera,Emotions,Gallery,Layout,Forms} +mkdir -p public/icons +``` + +#### 3. Seeder-Daten + +**EmotionsSeeder.php:** +```php + 'Liebe', + 'icon' => '💕', + 'color' => '#ff6b9d', + 'description' => 'Romantische und liebevolle Momente', + 'sort_order' => 1 + ], + [ + 'name' => 'Freude', + 'icon' => '😂', + 'color' => '#ffd93d', + 'description' => 'Lustige und fröhliche Augenblicke', + 'sort_order' => 2 + ], + [ + 'name' => 'Rührung', + 'icon' => '🥺', + 'color' => '#6bcf7f', + 'description' => 'Emotionale und berührende Szenen', + 'sort_order' => 3 + ], + [ + 'name' => 'Nostalgie', + 'icon' => '📸', + 'color' => '#a78bfa', + 'description' => 'Erinnerungen und nostalgische Gefühle', + 'sort_order' => 4 + ], + [ + 'name' => 'Überraschung', + 'icon' => '😲', + 'color' => '#fb7185', + 'description' => 'Unerwartete und überraschende Momente', + 'sort_order' => 5 + ], + [ + 'name' => 'Stolz', + 'icon' => '🏆', + 'color' => '#34d399', + 'description' => 'Stolze und triumphale Augenblicke', + 'sort_order' => 6 + ] + ]; + + foreach ($emotions as $emotionData) { + Emotion::create($emotionData); + } + } +} +``` + +**TasksSeeder.php:** +```php + 'Liebe', + 'tasks' => [ + [ + 'title' => 'Kuss-Foto', + 'description' => 'Macht ein romantisches Kuss-Foto', + 'difficulty' => 'easy', + 'example_text' => 'Einfach küssen und lächeln!' + ], + [ + 'title' => 'Händchen halten', + 'description' => 'Zeigt eure Hände - verheiratet und verliebt', + 'difficulty' => 'easy', + 'example_text' => 'Ringe in Szene setzen' + ], + [ + 'title' => 'Liebes-Pose', + 'description' => 'Stellt die romantischste Szene aus einem Film nach', + 'difficulty' => 'medium', + 'example_text' => 'Titanic, Dirty Dancing oder eure Lieblings-Romanze' + ], + [ + 'title' => 'Herz formen', + 'description' => 'Formt mit euren Händen ein großes Herz', + 'difficulty' => 'easy', + 'example_text' => 'Gemeinsam über dem Kopf oder vor der Brust' + ] + ] + ], + + // Freude-Tasks + [ + 'emotion' => 'Freude', + 'tasks' => [ + [ + 'title' => 'Sprung-Foto', + 'description' => 'Alle springen gleichzeitig in die Luft!', + 'difficulty' => 'medium', + 'example_text' => 'Auf drei: eins, zwei, drei - SPRUNG!' + ], + [ + 'title' => 'Grimassen-Contest', + 'description' => 'Macht die verrücktesten Gesichter', + 'difficulty' => 'easy', + 'example_text' => 'Je alberner, desto besser!' + ], + [ + 'title' => 'Lach-Attacke', + 'description' => 'Alle lachen so laut sie können', + 'difficulty' => 'easy', + 'example_text' => 'Echtes Lachen ist am schönsten' + ], + [ + 'title' => 'Tanz-Pose', + 'description' => 'Zeigt euren besten Tanz-Move', + 'difficulty' => 'medium', + 'example_text' => 'Disco, Hip-Hop oder klassischer Walzer' + ] + ] + ], + + // Rührung-Tasks + [ + 'emotion' => 'Rührung', + 'tasks' => [ + [ + 'title' => 'Tränen der Freude', + 'description' => 'Zeigt eure emotionalen Gesichter', + 'difficulty' => 'easy', + 'example_text' => 'Echte Gefühle sind die schönsten' + ], + [ + 'title' => 'Familien-Umarmung', + 'description' => 'Große Gruppenumarmung mit der ganzen Familie', + 'difficulty' => 'medium', + 'example_text' => 'Alle kommen zusammen für eine warme Umarmung' + ], + [ + 'title' => 'Stille Momente', + 'description' => 'Ein ruhiges, besinnliches Foto', + 'difficulty' => 'medium', + 'example_text' => 'Manchmal sagt ein stiller Blick mehr als tausend Worte' + ] + ] + ], + + // Weitere Emotionen... + ]; + + foreach ($tasks as $emotionGroup) { + $emotion = Emotion::where('name', $emotionGroup['emotion'])->first(); + + if ($emotion) { + foreach ($emotionGroup['tasks'] as $taskData) { + Task::create([ + 'emotion_id' => $emotion->id, + 'title' => $taskData['title'], + 'description' => $taskData['description'], + 'difficulty' => $taskData['difficulty'], + 'example_text' => $taskData['example_text'] ?? null + ]); + } + } + } + } +} +``` + +### Production Deployment + +#### 1. Shared Hosting Setup +```bash +# .htaccess für Laravel in public_html +RewriteEngine On +RewriteCond %{REQUEST_URI} !^/public/ +RewriteRule ^(.*)$ /public/$1 [L] + +# Laravel-Optimierungen +php artisan config:cache +php artisan route:cache +php artisan view:cache + +# Frontend Build +npm run build +``` + +#### 2. VPS/Cloud Deployment (mit Docker) +```dockerfile +# Dockerfile +FROM php:8.4-apache + +# PHP Extensions +RUN docker-php-ext-install pdo pdo_sqlite gd + +# Apache Konfiguration +RUN a2enmod rewrite +COPY . /var/www/html +COPY docker/apache.conf /etc/apache2/sites-available/000-default.conf + +# Permissions +RUN chown -R www-data:www-data /var/www/html/storage /var/www/html/bootstrap/cache + +# Frontend Build +RUN npm ci && npm run build + +EXPOSE 80 +``` + +#### 3. Produktions-Optimierungen + +**Laravel Optimierungen:** +```php +// config/app.php - Produktionseinstellungen +'debug' => false, +'log_level' => 'error', + +// config/cache.php - File-Cache für bessere Performance +'default' => 'file', + +// config/session.php - Datei-basierte Sessions +'driver' => 'file', +'lifetime' => 720, // 12 Stunden für Hochzeitsfeier +``` + +**Nginx Konfiguration:** +```nginx +server { + listen 80; + server_name your-domain.com; + root /var/www/hochzeits-fotobox/public; + + index index.php; + + # Gzip Kompression + gzip on; + gzip_vary on; + gzip_min_length 1024; + gzip_types text/plain text/css application/json application/javascript text/xml application/xml; + + # Caching für statische Assets + location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { + expires 1y; + add_header Cache-Control "public, immutable"; + } + + # PHP Processing + location ~ \.php$ { + fastcgi_pass unix:/run/php/php8.4-fpm.sock; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; + include fastcgi_params; + } + + # Laravel Routes + location / { + try_files $uri $uri/ /index.php?$query_string; + } +} +``` + +## 🧪 Testing & Qualitätssicherung + +### Automatisierte Tests + +#### 1. Backend Tests (PHPUnit) +```php +create(); + $emotion = Emotion::factory()->create(); + $task = Task::factory()->create(['emotion_id' => $emotion->id]); + + $file = UploadedFile::fake()->image('test-photo.jpg', 1200, 1600); + + $response = $this->postJson("/api/events/{$event->slug}/photos", [ + 'photo' => $file, + 'emotion_id' => $emotion->id, + 'task_id' => $task->id, + 'guest_name' => 'Test Gast' + ]); + + $response->assertStatus(201) + ->assertJsonStructure([ + 'success', + 'data' => [ + 'id', + 'file_path', + 'thumbnail_path', + 'guest_name', + 'emotion', + 'task' + ] + ]); + + // Dateien wurden erstellt + Storage::disk('public')->assertExists('photos/' . $file->hashName()); + Storage::disk('public')->assertExists('thumbnails/' . $file->hashName()); + + // Datenbank-Eintrag + $this->assertDatabaseHas('photos', [ + 'event_id' => $event->id, + 'guest_name' => 'Test Gast', + 'emotion_id' => $emotion->id + ]); + } +} +``` + +#### 2. Frontend Tests (Jest + React Testing Library) +```javascript +// src/__tests__/EmotionBubble.test.jsx + +import React from 'react' +import { render, fireEvent, screen } from '@testing-library/react' +import EmotionBubble from '../components/Emotions/EmotionBubble' + +const mockEmotion = { + id: 1, + name: 'Freude', + icon: '😂', + color: '#ffd93d' +} + +describe('EmotionBubble', () => { + test('renders emotion correctly', () => { + render( + + ) + + expect(screen.getByText('😂')).toBeInTheDocument() + expect(screen.getByText('Freude')).toBeInTheDocument() + }) + + test('calls onClick when clicked', () => { + const handleClick = jest.fn() + + render( + + ) + + fireEvent.click(screen.getByRole('button')) + expect(handleClick).toHaveBeenCalledWith(1) + }) + + test('applies correct styling when active', () => { + render( + + ) + + const bubble = screen.getByRole('button') + expect(bubble).toHaveClass('ring-4') + }) +}) +``` + +### Performance-Monitoring + +#### 1. Laravel Telescope (Development) +```bash +composer require laravel/telescope --dev +php artisan telescope:install +php artisan migrate +``` + +#### 2. Frontend Performance (Web Vitals) +```javascript +// src/utils/analytics.js + +import { getCLS, getFID, getFCP, getLCP, getTTFB } from 'web-vitals' + +function sendToAnalytics(metric) { + // Production Analytics Service + if (process.env.NODE_ENV === 'production') { + console.log('Web Vital:', metric) + + // Beispiel: Sende zu Google Analytics + // gtag('event', 'web_vitals', { + // event_category: 'Web Vitals', + // event_action: metric.name, + // event_value: Math.round(metric.value), + // non_interaction: true, + // }) + } +} + +export function initializeWebVitals() { + getCLS(sendToAnalytics) + getFID(sendToAnalytics) + getFCP(sendToAnalytics) + getLCP(sendToAnalytics) + getTTFB(sendToAnalytics) +} +``` + +## 📊 Analytics & Monitoring + +### Event-Tracking +```javascript +// src/services/eventTracking.js + +class EventTracker { + constructor(eventSlug) { + this.eventSlug = eventSlug + this.events = [] + } + + track(action, data = {}) { + const event = { + timestamp: new Date().toISOString(), + action, + data, + eventSlug: this.eventSlug, + sessionId: this.getSessionId(), + userAgent: navigator.userAgent + } + + this.events.push(event) + this.sendToServer(event) + } + + // Wichtige Events + trackPhotoCapture(emotionId, taskId) { + this.track('photo_capture', { emotionId, taskId }) + } + + trackPhotoUpload(photoId, success) { + this.track('photo_upload', { photoId, success }) + } + + trackEmotionSelect(emotionId) { + this.track('emotion_select', { emotionId }) + } + + trackTaskSkip(taskId) { + this.track('task_skip', { taskId }) + } + + sendToServer(event) { + // API-Endpoint für Analytics + fetch(`/api/events/${this.eventSlug}/analytics`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(event) + +## Frontend PWA Status Update (Sep 2025) + +Implemented guest PWA per plan with React/Vite/Tailwind and PWA plugin. Highlights: + +- App Structure + - Routes: /event/:slug/home, /event/:slug/camera, /event/:slug/gallery, /event/:slug/achievements, /legal/:slug. + - Event home adopts the event landing romance gradient; dark-mode override added. + - Offline fonts bundled (Inter 400/600, Playfair Display 400/700, Great Vibes 400). + +- UI/UX + - Header settings as a sheet (language + theme). Dark/light/system theme with class-based Tailwind and no-flash boot. + - Camera page with floating capture bar: compact emotion scroller, large shutter with animation, last-capture thumbnail (opens Gallery), task lock badge. + - Gallery: grid, modal (Dialog), likes, skeleton placeholders, emotion filter and deep link. + - Achievements page (new): tabs People/Groups/Live. People aggregates claimed tasks by guest; Live shows recent task-claimed photos. i18n included. + - Navigation: replaced "Camera" tab with "Achievements" (trophy). Camera reachable via Home CTA. + +- Data & APIs (current usage) + - Events: GET /api/events/{slug} (returns localized fields and palette when available). + - Emotions: GET /api/events/{slug}/emotions. + - Tasks: GET /api/events/{slug}/tasks/random/{emotion}. + - Photos: GET /api/events/{slug}/photos, POST /api/events/{slug}/photos (compressed < 1.5MB), POST /api/events/{slug}/photos/{photo}/like. + - Legal: GET /api/legal/{slug} (markdown rendered on client). + +- PWA & Offline + - Compression to < 1.5MB before upload, EXIF stripped; offline queue with retry on "online"; toasts for success/queued/error. + - Workbox via vite-plugin-pwa; further SW Background Sync planned. + +- shadcn-style Layer + - Added Button, Card, Dialog, Sheet, Skeleton, Badge primitives for consistency. + +- Super Admin Login + - Switched to classic Laravel session login at /super-admin/login; Filament panel guarded by middleware. + +- QR & Landings + - Root landing with QR scanner (zxing) + manual code entry; event landing redesigned (typography + romance gradient). + +- Demo Data + - Seeder DemoAchievementsSeeder creates demo photos with ask_id for the Achievements page. + +### Gamification Direction (Short-Event) +- Focus on solved tasks: photo claims a task (client), future: peer votes to verify. +- Achievements ideas saved: docs/achievements/ideas.md. +- Planned endpoint: POST /api/events/{slug}/photos/{photo}/task-vote { verdict: 'pass'|'fail', guest_name } ? returns { pass, fail, verified }. + +### Open Items / Next +- Task verification voting (backend + modal UI) and badges (First/Finisher/Sampler/Assist etc.). +- SW Background Sync for uploads; install prompt + shortcuts. +- Admin: palette editor; (optional) groups/teams for Achievements. +- Accessibility polish, reduced-motion paths. + diff --git a/fotospiel_prp.md b/fotospiel_prp.md new file mode 100644 index 0000000..33ba0fd --- /dev/null +++ b/fotospiel_prp.md @@ -0,0 +1,3740 @@ +## 🏗️ **Multi-Tenant System-Architektur** + +Note: Event Type-aware UI +- Theme colors can come from `event_types.settings.palette` to skin headers/buttons per type. +- Emotion picker fetches type-filtered emotions via `/api/events/:slug/emotions`. +- Random task generator and gallery filters respect event type automatically via API. + + +``` +┌─────────────────────────────────────────────────────────────────────────┐ +│ SYSTEM OVERVIEW (Multi-Tenant) │ +├─────────────────────────────────────────────────────────────────────────┤ +│ │ +│ 🔧 SUPER ADMIN 👰🤵 BRAUTPAARE 📱 GÄSTE PWA │ +│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ +│ │ System Admin │ │ Customer Admin │ │ React PWA │ │ +│ │ Panel │◄──►│ Panel │◄──►│ Event Photos │ │ +│ │ │ │ │ │ │ │ +│ │ • User Mgmt │ │ • Event Setup │ │ • Take Photos │ │ +│ │ • System Config │ │ • Photo Review │ │ • Upload Share │ │ +│ │ • Billing │ │ • Gallery Build │ │ • Live Feed │ │ +│ │ • Analytics │ │ • Export │ │ • Like/Comment │ │ +│ │ • Monitoring │ │ │ │ │ │ +│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ +│ │ │ │ │ +│ └───────────────────────┼───────────────────────┘ │ +│ │ │ +│ ┌─────────────────────────────────────────────────────────────────────┐│ +│ │ LARAVEL BACKEND API (Multi-Tenant) ││ +│ │ • Tenant Isolation • User Management • Billing System ││ +│ │ • System Monitoring • Global Analytics • Platform Administration ││ +│ └─────────────────────────────────────────────────────────────────────┘│ +└─────────────────────────────────────────────────────────────────────────┘ +``` + +## 👑 **Super Admin System (Platform Management)** + +### **Multi-Tenant Database Schema:** +```sql +-- Tenant/Customer Management +CREATE TABLE tenants ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name VARCHAR(255) NOT NULL, -- "Familie Müller" + slug VARCHAR(255) UNIQUE NOT NULL, -- "familie-mueller" + domain VARCHAR(255) UNIQUE, -- Optional: custom domain + + -- Contact Information + contact_name VARCHAR(255) NOT NULL, + contact_email VARCHAR(255) NOT NULL, + contact_phone VARCHAR(255), + + -- Event-basierte Monetarisierung (keine Subscriptions) + event_credits_balance INTEGER DEFAULT 1, + free_event_granted_at TIMESTAMP, + + -- Limits & Quotas + max_photos_per_event INTEGER DEFAULT 500, + max_storage_mb INTEGER DEFAULT 1024, -- 1GB + + -- Feature Flags + features JSON, -- {"custom_branding": true, "api_access": false} + + -- Metadata + last_activity_at TIMESTAMP, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +-- Erweiterte User-Tabelle für Multi-Tenancy +ALTER TABLE users ADD COLUMN tenant_id INTEGER; +ALTER TABLE users ADD COLUMN role ENUM('super_admin', 'tenant_admin', 'tenant_user') DEFAULT 'tenant_user'; +ALTER TABLE users ADD CONSTRAINT fk_users_tenant_id FOREIGN KEY (tenant_id) REFERENCES tenants(id); + +-- Events gehören zu Tenants +ALTER TABLE events ADD COLUMN tenant_id INTEGER NOT NULL; +ALTER TABLE events ADD CONSTRAINT fk_events_tenant_id FOREIGN KEY (tenant_id) REFERENCES tenants(id); + +-- System-weite Konfiguration +CREATE TABLE system_settings ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + key VARCHAR(255) UNIQUE NOT NULL, + value TEXT, + description TEXT, + is_public BOOLEAN DEFAULT 0, -- Für öffentliche API settings + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +-- Platform Analytics +CREATE TABLE platform_analytics ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + tenant_id INTEGER, + metric_name VARCHAR(100) NOT NULL, -- 'photos_uploaded', 'events_created' + metric_value INTEGER NOT NULL, + metric_date DATE NOT NULL, + metadata JSON, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + + FOREIGN KEY (tenant_id) REFERENCES tenants(id), + INDEX idx_analytics_date_metric (metric_date, metric_name), + INDEX idx_analytics_tenant (tenant_id, metric_date) +); + +-- Event Purchases (one-time) und Guthaben-Ledger +CREATE TABLE event_purchases ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + tenant_id INTEGER NOT NULL, + events_purchased INTEGER NOT NULL DEFAULT 1, + amount DECIMAL(10,2) NOT NULL, + currency VARCHAR(3) DEFAULT 'EUR', + provider ENUM('app_store', 'play_store', 'stripe', 'paypal') NOT NULL, + external_receipt_id VARCHAR(255), + status ENUM('pending', 'paid', 'failed', 'refunded', 'cancelled') DEFAULT 'pending', + purchased_at TIMESTAMP, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + + FOREIGN KEY (tenant_id) REFERENCES tenants(id), + INDEX idx_event_purchases_tenant (tenant_id, purchased_at) +); + +CREATE TABLE event_credits_ledger ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + tenant_id INTEGER NOT NULL, + delta INTEGER NOT NULL, + reason ENUM('initial_free','purchase','manual_adjustment','event_created','refund') NOT NULL, + related_purchase_id INTEGER, + note TEXT, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + + FOREIGN KEY (tenant_id) REFERENCES tenants(id), + FOREIGN KEY (related_purchase_id) REFERENCES event_purchases(id), + INDEX idx_ledger_tenant (tenant_id, created_at) +); +``` + +## 🛠️ **Super Admin Panel (Separate Filament Panel)** + +Note (Filament 4): +- Forms/Infolists components live under `Filament\Schema\Components` (updated below). +- Table row actions use `recordActions()`; actions are unified under `Filament\Actions`. +- Keep `Tables\Columns`/`Tables\Filters` as-is; columns/filters remain in Tables. + +### **Super Admin Panel Provider:** +```php +id('super-admin') + ->path('super-admin') + ->login() + ->colors([ + 'primary' => Color::Indigo, + 'secondary' => Color::Slate, + ]) + ->brandName('Fotobox Platform Admin') + ->brandLogo(asset('images/platform-logo.png')) + ->discoverResources(in: app_path('Filament/SuperAdmin/Resources'), for: 'App\\Filament\\SuperAdmin\\Resources') + ->discoverPages(in: app_path('Filament/SuperAdmin/Pages'), for: 'App\\Filament\\SuperAdmin\\Pages') + ->pages([ + Pages\Dashboard::class, + ]) + ->widgets([ + \App\Filament\SuperAdmin\Widgets\PlatformStatsWidget::class, + \App\Filament\SuperAdmin\Widgets\RevenueChartWidget::class, + \App\Filament\SuperAdmin\Widgets\TenantActivityWidget::class, + ]) + ->navigationGroups([ + 'Customer Management', + 'Platform Configuration', + 'Legal & Compliance', + 'Billing & Events', + 'System Monitoring', + 'Content Management' + ]) + ->authMiddleware([ + \App\Http\Middleware\SuperAdminOnly::class, + ]); + } +} +``` + +## 👥 **Tenant Management Resource** + +```php +schema([ + Schema\\Components\\Section::make('Kunden-Details') + ->schema([ + Schema\\Components\\TextInput::make('name') + ->label('Kundenname') + ->required() + ->maxLength(255), + + Schema\\Components\\TextInput::make('slug') + ->required() + ->unique(Tenant::class, 'slug', ignoreRecord: true) + ->helperText('Eindeutige URL für den Kunden'), + + Schema\\Components\\TextInput::make('domain') + ->label('Custom Domain (optional)') + ->url() + ->unique(Tenant::class, 'domain', ignoreRecord: true), + + Schema\\Components\\TextInput::make('contact_name') + ->label('Ansprechpartner') + ->required(), + + Schema\\Components\\TextInput::make('contact_email') + ->label('E-Mail') + ->email() + ->required(), + + Schema\\Components\\TextInput::make('contact_phone') + ->label('Telefon') + ->tel(), + ]) + ->columns(2), + + Schema\\Components\\Section::make('Subscription Management') + ->schema([ + Schema\\Components\\Select::make('plan_type') + ->label('Plan') + ->options([ + 'free' => 'Free (Testversion)', + 'basic' => 'Basic (29€/Monat)', + 'premium' => 'Premium (49€/Monat)', + 'enterprise' => 'Enterprise (Custom)' + ]) + ->required() + ->live(), + + Schema\\Components\\Select::make('subscription_status') + ->options([ + 'trial' => 'Trial', + 'active' => 'Aktiv', + 'suspended' => 'Suspendiert', + 'cancelled' => 'Gekündigt' + ]) + ->required(), + + Schema\\Components\\DateTimePicker::make('subscription_starts_at') + ->label('Abo Start'), + + Schema\\Components\\DateTimePicker::make('subscription_ends_at') + ->label('Abo Ende'), + + Schema\\Components\\DateTimePicker::make('trial_ends_at') + ->label('Trial Ende') + ->visible(fn ($get) => $get('subscription_status') === 'trial'), + ]) + ->columns(2), + + Schema\\Components\\Section::make('Limits & Kontingente') + ->schema([ + Schema\\Components\\TextInput::make('max_events') + ->label('Max. Events') + ->numeric() + ->default(1), + + Schema\\Components\\TextInput::make('max_photos_per_event') + ->label('Max. Fotos pro Event') + ->numeric() + ->default(500), + + Schema\\Components\\TextInput::make('max_storage_mb') + ->label('Max. Speicher (MB)') + ->numeric() + ->default(1024), + ]) + ->columns(3), + + Schema\\Components\\Section::make('Feature Flags') + ->schema([ + Schema\\Components\\KeyValue::make('features') + ->label('Aktivierte Features') + ->keyLabel('Feature') + ->valueLabel('Aktiviert') + ->default([ + 'custom_branding' => false, + 'api_access' => false, + 'advanced_analytics' => false, + 'white_label' => false + ]), + ]), + ]); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\TextColumn::make('name') + ->searchable() + ->sortable(), + + Tables\Columns\TextColumn::make('contact_email') + ->label('Kontakt') + ->searchable(), + + Tables\Columns\TextColumn::make('event_credits_balance') + ->label('Event-Guthaben') + ->badge() + + + + Tables\Columns\TextColumn::make('events_count') + ->label('Events') + ->counts('events'), + + Tables\Columns\TextColumn::make('total_photos_count') + ->label('Gesamt Fotos') + ->getStateUsing(fn ($record) => + $record->events()->withCount('photos')->get()->sum('photos_count') + ), + + Tables\Columns\TextColumn::make('free_event_granted_at') + ->label('Kostenloses Event am') + ->date('d.m.Y') + ->sortable(), + + Tables\Columns\TextColumn::make('last_activity_at') + ->label('Letzte Aktivität') + ->since() + ->sortable(), + ]) + ->filters([ + Tables\Filters\SelectFilter::make('plan_type') + ->options([ + 'free' => 'Free', + 'basic' => 'Basic', + 'premium' => 'Premium', + 'enterprise' => 'Enterprise' + ]), + + Tables\Filters\SelectFilter::make('subscription_status') + ->options([ + 'trial' => 'Trial', + 'active' => 'Aktiv', + 'suspended' => 'Suspendiert', + 'cancelled' => 'Gekündigt' + ]), + + Tables\Filters\Filter::make('expiring_soon') + ->label('Läuft bald ab') + ->query(fn ($query) => $query->where('subscription_ends_at', '<=', now()->addDays(30))), + ]) + ->recordActions([ + Actions\\ViewAction::make(), + Actions\\EditAction::make(), + Actions\\Action::make('login_as') + ->label('Als Kunde anmelden') + ->icon('heroicon-o-arrow-right-on-rectangle') + ->url(fn ($record) => "/admin/impersonate/{$record->id}") + ->openUrlInNewTab(), + + ]) + ->bulkActions([ + Actions\\BulkAction::make('send_notification') + ->label('Benachrichtigung senden') + ->icon('heroicon-o-envelope') + ->form([ + Schema\\Components\\TextInput::make('subject') + ->label('Betreff') + ->required(), + Schema\\Components\\Textarea::make('message') + ->label('Nachricht') + ->required() + ->rows(4), + ]) + ->action(function (array $data, Collection $records) { + // Send bulk notification to selected customers + foreach ($records as $tenant) { + // Send email notification + } + }), + ]) + ->defaultSort('created_at', 'desc'); + } + + public static function getPages(): array + { + return [ + 'index' => Pages\ListTenants::route('/'), + 'create' => Pages\CreateTenant::route('/create'), + 'edit' => Pages\EditTenant::route('/{record}/edit'), + 'view' => Pages\ViewTenant::route('/{record}'), + ]; + } +} +``` + +## 💰 **Subscription Plans Resource** + +```php +schema([ + Schema\\Components\\Section::make('Plan Details') + ->schema([ + Schema\\Components\\TextInput::make('name') + ->required() + ->maxLength(100), + + Schema\\Components\\TextInput::make('slug') + ->required() + ->unique(SubscriptionPlan::class, 'slug', ignoreRecord: true), + + Schema\\Components\\TextInput::make('price_monthly') + ->label('Monatspreis (€)') + ->numeric() + ->prefix('€'), + + Schema\\Components\\TextInput::make('price_yearly') + ->label('Jahrespreis (€)') + ->numeric() + ->prefix('€'), + + Schema\\Components\\Toggle::make('is_active') + ->label('Plan aktiv') + ->default(true), + ]) + ->columns(2), + + Schema\\Components\\Section::make('Plan Limits') + ->schema([ + Schema\\Components\\TextInput::make('max_events') + ->label('Max. Events') + ->numeric() + ->required(), + + Schema\\Components\\TextInput::make('max_photos_per_event') + ->label('Max. Fotos pro Event') + ->numeric() + ->required(), + + Schema\\Components\\TextInput::make('max_storage_gb') + ->label('Max. Speicher (GB)') + ->numeric() + ->required(), + ]) + ->columns(3), + + Schema\\Components\\Section::make('Features') + ->schema([ + Schema\\Components\\KeyValue::make('features') + ->label('Plan Features') + ->keyLabel('Feature') + ->valueLabel('Enthalten') + ->default([ + 'custom_branding' => false, + 'api_access' => false, + 'advanced_analytics' => false, + 'priority_support' => false, + 'white_label' => false, + 'custom_domain' => false + ]), + ]), + ]); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\TextColumn::make('name') + ->searchable() + ->sortable(), + + Tables\Columns\TextColumn::make('price_monthly') + ->label('Monatlich') + ->money('EUR'), + + Tables\Columns\TextColumn::make('price_yearly') + ->label('Jährlich') + ->money('EUR'), + + Tables\Columns\TextColumn::make('max_events') + ->label('Events'), + + Tables\Columns\TextColumn::make('max_photos_per_event') + ->label('Fotos/Event'), + + Tables\Columns\TextColumn::make('max_storage_gb') + ->label('Storage (GB)'), + + Tables\Columns\TextColumn::make('subscribers_count') + ->label('Kunden') + ->getStateUsing(fn ($record) => $record->tenants()->count()), + + Tables\Columns\IconColumn::make('is_active') + ->boolean(), + ]) + ->recordActions([ + Actions\\EditAction::make(), + Actions\\Action::make('duplicate') + ->label('Duplizieren') + ->icon('heroicon-o-document-duplicate') + ->action(function ($record) { + $newPlan = $record->replicate(); + $newPlan->name = $record->name . ' (Kopie)'; + $newPlan->slug = $record->slug . '-copy'; + $newPlan->save(); + }), + ]); + } +} +``` + +## 📊 **System Settings Resource** + +```php +schema([ + Schema\\Components\\Section::make('Setting Details') + ->schema([ + Schema\\Components\\TextInput::make('key') + ->required() + ->unique(SystemSetting::class, 'key', ignoreRecord: true) + ->helperText('Eindeutiger Key für die Einstellung'), + + Schema\\Components\\Textarea::make('value') + ->required() + ->rows(3) + ->helperText('JSON, String oder andere Werte'), + + Schema\\Components\\Textarea::make('description') + ->rows(2) + ->helperText('Beschreibung der Einstellung'), + + Schema\\Components\\Toggle::make('is_public') + ->label('Öffentlich verfügbar') + ->helperText('Über öffentliche API abrufbar'), + ]), + ]); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\TextColumn::make('key') + ->searchable() + ->sortable(), + + Tables\Columns\TextColumn::make('value') + ->limit(50) + ->searchable(), + + Tables\Columns\TextColumn::make('description') + ->limit(100), + + Tables\Columns\IconColumn::make('is_public') + ->boolean(), + + Tables\Columns\TextColumn::make('updated_at') + ->label('Zuletzt geändert') + ->dateTime('d.m.Y H:i') + ->sortable(), + ]) + ->filters([ + Tables\Filters\TernaryFilter::make('is_public') + ->label('Öffentliche Einstellungen'), + ]) + ->actions([ + Actions\\EditAction::make(), + ]) + ->groups([ + 'category' => Tables\Grouping\Group::make('key') + ->label('Kategorie') + ->getDescriptionFromRecordUsing(fn ($record) => explode('.', $record->key)[0]) + ]); + } + + // Predefined System Settings + public static function getDefaultSettings(): array + { + return [ + 'platform.max_file_size' => '10485760', // 10MB + 'platform.allowed_image_types' => 'jpeg,jpg,png,webp', + // Event-basierte Preisgestaltung + 'pricing.event_price_eur' => '9.99', + 'pricing.free_event_on_app_purchase' => 'true', + 'email.from_address' => 'noreply@fotobox-platform.de', + 'email.support_address' => 'support@fotobox-platform.de', + 'analytics.google_analytics_id' => '', + 'features.maintenance_mode' => 'false', + 'features.new_registrations' => 'true', + 'storage.default_disk' => 'local', + 'storage.cdn_url' => '', + ]; + } +} +``` + +## 📊 **Super Admin Widgets** + +### **Platform Statistics Widget:** +```php +count()) + ->description('Mindestens ein Event vorhanden') + ->descriptionIcon('heroicon-m-building-office') + ->color('success'), + + Stat::make('Gesamt Events', Event::count()) + ->description('Alle Events auf der Platform') + ->descriptionIcon('heroicon-m-calendar-days') + ->color('primary'), + + Stat::make('Gesamt Fotos', Photo::count()) + ->description('Hochgeladene Fotos') + ->descriptionIcon('heroicon-m-photo') + ->color('warning'), + + Stat::make('Monthly Recurring Revenue', + Tenant::where('subscription_status', 'active') + ->whereIn('plan_type', ['basic', 'premium']) + ->get() + ->sum(fn($tenant) => match($tenant->plan_type) { + 'basic' => 29, + 'premium' => 49, + default => 0 + }) + ) + ->description('€ MRR') + ->descriptionIcon('heroicon-m-currency-euro') + ->color('success'), + ]; + } +} +``` + +### **Revenue Chart Widget:** +```php +where('created_at', '>=', now()->subYear()) + ->selectRaw('DATE_FORMAT(created_at, "%Y-%m") as month, SUM(amount) as revenue') + ->groupBy('month') + ->orderBy('month') + ->get(); + + return [ + 'datasets' => [ + [ + 'label' => 'Umsatz (€)', + 'data' => $data->pluck('revenue'), + 'borderColor' => 'rgb(99, 102, 241)', + 'backgroundColor' => 'rgba(99, 102, 241, 0.1)', + ], + ], + 'labels' => $data->pluck('month'), + ]; + } + + protected function getType(): string + { + return 'line'; + } +} +``` + +## 🔐 **Super Admin Middleware** + +```php +check() || auth()->user()->role !== 'super_admin') { + abort(403, 'Access denied. Super Admin privileges required.'); + } + + return $next($request); + } +} +``` + +## 🏢 **Tenant Scoping Middleware** + +```php +user()->role === 'super_admin') { + return $next($request); // Super Admin bypasses tenant scoping + } + + $tenant = auth()->user()->tenant; + + if (!$tenant) { + abort(403, 'No tenant associated with user.'); + } + + // Set global tenant scope + config(['app.current_tenant' => $tenant]); + + return $next($request); + } +} +``` + +## 🎯 **Super Admin Navigation Struktur** + +``` +🏠 Dashboard +├── 📊 Platform Overview +├── 💰 Revenue Summary +└── 🚨 System Alerts + +👥 Customer Management +├── 🏢 Tenants/Kunden +├── 👤 User Management +├── 📞 Support Tickets +└── 📧 Bulk Communications + +💳 Billing & Subscriptions +├── 💰 Subscription Plans +├── 🧾 Invoices & Payments +├── 📊 Revenue Analytics +└── 🎁 Promotions & Discounts + +⚙️ Platform Configuration +├── 🔧 System Settings +├── 🎨 Global Themes +├── # Hochzeits-Fotobox App - Project Requirements & Prompt (PRP) + +## 📋 Projekt-Übersicht + +**Projektname:** Emotionen-Fotobox für Deutsche Hochzeiten +**Ziel:** Eine Progressive Web App (PWA), die Hochzeitsgäste spielerisch dazu motiviert, emotionale Fotos zu erstellen und zu teilen +**Tech-Stack:** Laravel 12.x + Filament 4.x (Admin) + Vite + React + SQLite + Tailwind CSS +> Versions as of 2025-09-01: Laravel 12 (latest 12.21.x), Filament 4 (stable). If you must stay on Filament v3 for compatibility, pin to 3.3.x. +**Zielgruppe:** Deutsche Hochzeitsgäste aller Altersgruppen + +## 🎯 Kern-Funktionalitäten + +### 1. Emotions-basiertes Foto-System +- **6 Haupt-Emotionen:** Liebe 💕, Freude 😂, Rührung 🥺, Nostalgie 📸, Überraschung 😲, Stolz 🏆 +- **Aufgaben-Generator:** Pro Emotion 8-12 verschiedene Foto-Aufgaben +- **Schwierigkeitsgrade:** Easy (Einzelperson), Medium (Gruppe), Hard (Kreativ/Nachstellung) + +### 2. Social Media-inspiriertes UI +- **Instagram Stories-Layout:** Horizontale Emotion-Bubbles +- **TikTok-Style Kamera:** Vollbild mit Overlay-Aufgaben +- **Feed-Design:** Kachel-Grid mit Like-Funktion +- **Swipe-Navigation:** Intuitive Bedienung + +### 3. Real-time Features +- **Live-Photo-Feed:** Neue Fotos erscheinen sofort bei allen Gästen +- **Kollaborative Galerie:** Gemeinsame Fotosortierung nach Emotionen +- **Like-System:** Herzchen für beliebte Fotos + +## 🏗️ Technische Architektur + +### Backend: Laravel 12.x (PHP 8.4) + +#### Database Schema (SQLite) +```sql +-- Event Types (wedding, christmas, birthday, corporate, ...) +CREATE TABLE event_types ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, -- JSON (translatable: {"de":"Hochzeit","en":"Wedding"}) + slug VARCHAR(100) UNIQUE NOT NULL, + icon VARCHAR(64), + settings JSON, -- e.g., {"palette": {...}} + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +-- Events (Veranstaltungen) +CREATE TABLE events ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, -- JSON (translatable) + date DATE NOT NULL, + slug VARCHAR(255) UNIQUE NOT NULL, + description TEXT, -- JSON (translatable) + settings JSON, -- Konfiguration für Emotionen, Farben etc. + event_type_id INTEGER NOT NULL, + is_active BOOLEAN DEFAULT 1, + default_locale VARCHAR(5) DEFAULT 'de', + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (event_type_id) REFERENCES event_types(id) +); + +-- Emotionen-Kategorien (reusable; linked to event types via pivot) +CREATE TABLE emotions ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, -- JSON (translatable) + icon VARCHAR(50) NOT NULL, -- Emoji oder Icon-Klasse + color VARCHAR(7) NOT NULL, -- Hex-Farbe + description TEXT, -- JSON (translatable) + sort_order INTEGER DEFAULT 0, + is_active BOOLEAN DEFAULT 1 +); + +-- Emotion↔EventType Zuordnung (many-to-many) +CREATE TABLE emotion_event_type ( + emotion_id INTEGER NOT NULL, + event_type_id INTEGER NOT NULL, + PRIMARY KEY (emotion_id, event_type_id), + FOREIGN KEY (emotion_id) REFERENCES emotions(id), + FOREIGN KEY (event_type_id) REFERENCES event_types(id) +); + +CREATE TABLE tasks ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + emotion_id INTEGER NOT NULL, + event_type_id INTEGER, -- optional: directly target a type + title TEXT NOT NULL, -- JSON (translatable) + description TEXT NOT NULL, -- JSON (translatable) + difficulty ENUM('easy', 'medium', 'hard') DEFAULT 'easy', + example_text TEXT, -- JSON (translatable) + sort_order INTEGER DEFAULT 0, + is_active BOOLEAN DEFAULT 1, + -- multi-tenant scoping additions (see Tenant-Defined Tasks section) + tenant_id INTEGER, + scope TEXT DEFAULT 'global', -- 'global' | 'tenant' | 'event' + event_id INTEGER, + FOREIGN KEY (emotion_id) REFERENCES emotions(id) + -- optional FKs for scoping + ,FOREIGN KEY (event_type_id) REFERENCES event_types(id) + ,FOREIGN KEY (tenant_id) REFERENCES tenants(id) + ,FOREIGN KEY (event_id) REFERENCES events(id) +); + +-- Hochgeladene Fotos +CREATE TABLE photos ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + event_id INTEGER NOT NULL, + emotion_id INTEGER NOT NULL, + task_id INTEGER, + guest_name VARCHAR(255) NOT NULL, + file_path VARCHAR(255) NOT NULL, + thumbnail_path VARCHAR(255) NOT NULL, + likes_count INTEGER DEFAULT 0, + is_featured BOOLEAN DEFAULT 0, -- Für Highlights + metadata JSON, -- EXIF-Daten, Gerätinfo etc. + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (event_id) REFERENCES events(id), + FOREIGN KEY (emotion_id) REFERENCES emotions(id), + FOREIGN KEY (task_id) REFERENCES tasks(id) +); + +-- Photo-Likes (für Gast-Interaktion) +CREATE TABLE photo_likes ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + photo_id INTEGER NOT NULL, + guest_name VARCHAR(255) NOT NULL, + ip_address VARCHAR(45), + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (photo_id) REFERENCES photos(id), + UNIQUE(photo_id, guest_name, ip_address) +); +``` + +#### Laravel Models + +**Event Model:** +```php + +Event model additions (event type): +```php +// In App\Models\Event +protected $fillable = ["name","date","slug","description","settings","event_type_id","is_active"]; +public function type(){ return $this->belongsTo(\App\Models\EventType::class, "event_type_id"); } +``` + + 'date', + 'settings' => 'array', + 'is_active' => 'boolean' + ]; + + public function photos() + { + return $this->hasMany(Photo::class)->latest(); + } + + public function getRouteKeyName() + { + return 'slug'; + } +} +``` + +**Photo Model:** +```php + 'array' + ]; + + public function event() + { + return $this->belongsTo(Event::class); + } + + public function emotion() + { + return $this->belongsTo(Emotion::class); + } + + public function task() + { + return $this->belongsTo(Task::class); + } + + public function likes() + { + return $this->hasMany(PhotoLike::class); + } +} +``` + +#### API Routes (routes/api.php) +```php +middleware(['throttle:60,1'])->group(function () { + // Event-Details + Route::get('/', [EventController::class, 'show']); + + // Emotionen laden (per Event-Typ gefiltert + universal) + Route::get('/emotions', [EmotionController::class, 'index']); + + // Aufgaben pro Emotion + Route::get('/tasks/{emotion}', [TaskController::class, 'getByEmotion']); + Route::get('/tasks/random/{emotion}', [TaskController::class, 'getRandomTask']); + + // Foto-Management + Route::get('/photos', [PhotoController::class, 'index']); + Route::post('/photos', [PhotoController::class, 'store']); + Route::get('/photos/{photo}', [PhotoController::class, 'show']); + Route::post('/photos/{photo}/like', [PhotoController::class, 'toggleLike']); + + // Live-Feed für Real-time Updates + Route::get('/feed/latest', [LiveFeedController::class, 'getLatest']); + Route::get('/feed/stream', [LiveFeedController::class, 'stream']); // SSE +}); + +// Admin Routes (für Hochzeits-Setup) +Route::prefix('admin')->middleware(['auth:sanctum'])->group(function () { + Route::apiResource('events', EventController::class); + Route::apiResource('emotions', EmotionController::class); + Route::apiResource('tasks', TaskController::class); +}); +``` + +#### Controller-Beispiele + +**PhotoController:** +```php +validate([ + 'photo' => 'required|image|mimes:jpeg,png,jpg|max:10240', // 10MB + 'emotion_id' => 'required|exists:emotions,id', + 'task_id' => 'nullable|exists:tasks,id', + 'guest_name' => 'required|string|max:100|min:2' + ]); + + $photo = $request->file('photo'); + $filename = uniqid('photo_') . '.' . $photo->getClientOriginalExtension(); + + // Original-Bild speichern + $originalPath = $photo->storeAs('photos', $filename, 'public'); + + // Thumbnail erstellen (300x300 quadratisch) + $thumbnailPath = 'thumbnails/' . $filename; + $thumbnail = Image::make($photo) + ->fit(300, 300, function ($constraint) { + $constraint->upsize(); + }) + ->encode('jpg', 85); + + Storage::disk('public')->put($thumbnailPath, $thumbnail); + + // Metadata sammeln + $metadata = [ + 'original_name' => $photo->getClientOriginalName(), + 'size' => $photo->getSize(), + 'mime_type' => $photo->getMimeType(), + 'ip_address' => $request->ip(), + 'user_agent' => $request->userAgent() + ]; + + // In Datenbank speichern + $photoRecord = Photo::create([ + 'event_id' => $event->id, + 'emotion_id' => $request->emotion_id, + 'task_id' => $request->task_id, + 'guest_name' => $request->guest_name, + 'file_path' => $originalPath, + 'thumbnail_path' => $thumbnailPath, + 'metadata' => $metadata + ]); + + // Response mit Relations + $photoRecord->load(['emotion', 'task']); + + // Optional: Broadcasting für Live-Updates + // broadcast(new PhotoUploaded($photoRecord)); + + return response()->json([ + 'success' => true, + 'data' => $photoRecord, + 'message' => 'Foto erfolgreich hochgeladen!' + ], 201); + } + + public function index(Request $request, Event $event) + { + $query = $event->photos()->with(['emotion', 'task', 'likes']); + + // Filter nach Emotion + if ($request->has('emotion_id')) { + $query->where('emotion_id', $request->emotion_id); + } + + // Sortierung + $sortBy = $request->get('sort', 'latest'); + switch ($sortBy) { + case 'popular': + $query->withCount('likes')->orderByDesc('likes_count'); + break; + case 'oldest': + $query->oldest(); + break; + default: + $query->latest(); + } + + $photos = $query->paginate(20); + + return response()->json($photos); + } + + public function toggleLike(Request $request, Event $event, Photo $photo) + { + $request->validate([ + 'guest_name' => 'required|string|max:100' + ]); + + $like = PhotoLike::where([ + 'photo_id' => $photo->id, + 'guest_name' => $request->guest_name, + 'ip_address' => $request->ip() + ])->first(); + + if ($like) { + $like->delete(); + $photo->decrement('likes_count'); + $liked = false; + } else { + PhotoLike::create([ + 'photo_id' => $photo->id, + 'guest_name' => $request->guest_name, + 'ip_address' => $request->ip() + ]); + $photo->increment('likes_count'); + $liked = true; + } + + return response()->json([ + 'liked' => $liked, + 'likes_count' => $photo->fresh()->likes_count + ]); + } +} +``` + +### Frontend: React + Vite PWA + +Note: Event Type-aware UI +- Theme colors can come from `event_types.settings.palette` to skin headers/buttons per type. +- Emotion picker fetches type-filtered emotions via `/api/events/:slug/emotions`. +- Random task generator and gallery filters respect event type automatically via API. + +#### Projekt-Struktur +``` +resources/js/ +├── src/ +│ ├── components/ +│ │ ├── Camera/ +│ │ │ ├── CameraCapture.jsx +│ │ │ ├── PhotoPreview.jsx +│ │ │ └── TaskOverlay.jsx +│ │ ├── Emotions/ +│ │ │ ├── EmotionPicker.jsx +│ │ │ ├── EmotionBubble.jsx +│ │ │ └── TaskGenerator.jsx +│ │ ├── Gallery/ +│ │ │ ├── PhotoGrid.jsx +│ │ │ ├── PhotoModal.jsx +│ │ │ └── PhotoCard.jsx +│ │ ├── Layout/ +│ │ │ ├── Header.jsx +│ │ │ ├── Navigation.jsx +│ │ │ └── LoadingSpinner.jsx +│ │ └── Forms/ +│ │ ├── GuestNameForm.jsx +│ │ └── PhotoUpload.jsx +│ ├── pages/ +│ │ ├── GeneralLandingPage.jsx +│ │ ├── EventSpecificLandingPage.jsx +│ │ ├── HomePage.jsx +│ │ ├── CameraPage.jsx +│ │ ├── GalleryPage.jsx +│ ├── hooks/ +│ │ ├── useCamera.js +│ │ ├── usePhotoUpload.js +│ │ ├── useLocalStorage.js +│ │ └── useRealTimeFeed.js +│ ├── services/ +│ │ ├── api.js +│ │ ├── imageUtils.js +│ │ └── cacheManager.js +│ ├── context/ +│ │ ├── AppContext.jsx +│ │ └── EventContext.jsx +│ └── utils/ +│ ├── constants.js +│ ├── helpers.js +│ └── validation.js +``` + +#### Vite Configuration (vite.config.js) +```javascript +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' +import { VitePWA } from 'vite-plugin-pwa' +import path from 'path' + +export default defineConfig({ + plugins: [ + react(), + VitePWA({ + registerType: 'prompt', + includeAssets: ['favicon.ico', 'apple-touch-icon.png', 'safari-pinned-tab.svg'], + manifest: { + name: 'Hochzeits-Fotobox', + short_name: 'Fotobox', + description: 'Emotionale Hochzeitsfotos für unvergessliche Momente', + theme_color: '#ff6b9d', + background_color: '#ffffff', + display: 'standalone', + orientation: 'portrait-primary', + start_url: '/', + scope: '/', + icons: [ + { + src: '/icons/pwa-192x192.png', + sizes: '192x192', + type: 'image/png' + }, + { + src: '/icons/pwa-512x512.png', + sizes: '512x512', + type: 'image/png' + } + ] + }, + workbox: { + globPatterns: ['**/*.{js,css,html,ico,png,svg,woff2}'], + runtimeCaching: [ + { + urlPattern: /^\/api\//, + handler: 'NetworkFirst', + options: { + cacheName: 'api-cache', + expiration: { + maxEntries: 100, + maxAgeSeconds: 60 * 60 * 24 // 24 hours + } + } + }, + { + urlPattern: /\.(png|jpg|jpeg|svg|gif)$/, + handler: 'CacheFirst', + options: { + cacheName: 'images-cache', + expiration: { + maxEntries: 200, + maxAgeSeconds: 60 * 60 * 24 * 7 // 1 week + } + } + } + ] + } + }) + ], + resolve: { + alias: { + '@': path.resolve(__dirname, './resources/js/src') + } + }, + build: { + outDir: 'public/build', + emptyOutDir: true, + manifest: true, + rollupOptions: { + input: 'resources/js/app.jsx' + } + }, + server: { + host: true, + hmr: { + host: 'localhost' + } + } +}) +``` + +#### React Haupt-Komponenten + +**App.jsx (Routing & Context)** +```jsx +import React from 'react' +import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom' +import { QueryClient, QueryClientProvider } from '@tanstack/react-query' +import { EventProvider } from '@/context/EventContext' +import { AppProvider } from '@/context/AppContext' + +// Pages +import EventLanding from '@/pages/EventLanding' +import HomePage from '@/pages/HomePage' +import CameraPage from '@/pages/CameraPage' +import GalleryPage from '@/pages/GalleryPage' + +// Layout +import Layout from '@/components/Layout/Layout' + +const queryClient = new QueryClient({ + defaultOptions: { + queries: { + staleTime: 1000 * 60 * 5, // 5 minutes + cacheTime: 1000 * 60 * 30, // 30 minutes + retry: 2 + } + } +}) + +function App() { + return ( + + + + + {/* Event Selection */} + } /> + + {/* Main App (requires event context) */} + + + + } /> + } /> + } /> + } /> + } /> + } /> + + + + } /> + + + + + ) +} + +export default App +``` + + +**GeneralLandingPage.jsx** +```jsx +import React from 'react'; +import { useNavigate } from 'react-router-dom'; + +function GeneralLandingPage() { + const navigate = useNavigate(); + + const handleQRScan = () => { + // Trigger device camera to scan QR code + // This would use a library like jsQR or react-qr-reader + console.log("Opening QR scanner..."); + }; + + const handleManualEntry = () => { + // Open modal for manual code entry + const code = prompt("Bitte gib den Event-Code ein:"); + if (code) { + // Validate and redirect to event + navigate(`/event/${code}`); + } + }; + + return ( +
    + {/* Minimalist Header */} +
    +
    Event Date
    +
    Branding Logo
    +
    + + {/* Main Content */} +
    +
    +

    Willkommen bei der Fotobox! 🎉

    +

    Dein Schlüssel zu unvergesslichen Hochzeitsmomenten.

    +
    + + {/* Central Card for Actions */} +
    + {/* QR Code Scanner Emphasis */} +
    +
    + +
    + + {/* Manual Code Entry (Fallback) */} +
    + +
    +
    +
    + + {/* Minimalist Footer */} +
    + © {new Date().getFullYear()} Emotionen-Fotobox +
    +
    + ); +} + +export default GeneralLandingPage; +``` + +**EventSpecificLandingPage.jsx** +```jsx +import React, { useState } from 'react'; +import { useNavigate, useParams } from 'react-router-dom'; + +function EventSpecificLandingPage() { + const { eventSlug } = useParams(); + const navigate = useNavigate(); + const [guestName, setGuestName] = useState(''); + + const handleSubmit = (e) => { + e.preventDefault(); + if (guestName.trim()) { + // Store guest name in context or localStorage + localStorage.setItem('guestName', guestName); + // Redirect to main event page + navigate(`/event/${eventSlug}`); + } + }; + + return ( +
    + {/* Header */} +
    +
    ❤️📸
    {/* Heart with Camera Icon */} +
    01.01.2025
    {/* Event Date */} +
    + + {/* Main Content - Vertically Centered */} +
    + {/* Title Section */} +
    +

    HOCHZEIT VON

    +

    MARIE & LUKAS

    +

    Fangt die schönsten Momente ein!

    +
    + + {/* Input Section */} +
    +

    Bereit für Emotionen?

    +
    + setGuestName(e.target.value)} + className="w-full p-3 mb-4 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-pink-300" + required + /> + +
    +
    +
    + + {/* Footer */} +
    +
    ❤️
    +

    Emotionen-Fotobox

    +
    +
    + ); +} + +export default EventSpecificLandingPage; +``` + +**SettingsSheet.jsx (gear icon → bottom sheet)** +```jsx +import React from "react" +import { Link } from "react-router-dom" +import { useTranslation } from "react-i18next" + +export default function SettingsSheet({ open, onClose, onLangChange, currentLang }) { + const { t } = useTranslation() + if (!open) return null + return ( +
    +
    +
    +
    +
    +

    {t("ui:settings")}

    + +
    +
    +
    +
    {t("ui:language")}
    +
    + + +
    +
    +
    +
    {t("ui:legal")}
    +
      +
    • Impressum
    • +
    • Datenschutzerklärung
    • +
    • AGB
    • +
    +
    +
    +
    +
    +
    + ) +} +``` + +**LegalPage.jsx (renders platform-managed markdown)** +```jsx +import React from "react" +import { useParams } from "react-router-dom" +import { useQuery } from "@tanstack/react-query" +import ReactMarkdown from "react-markdown" +import rehypeSanitize from "rehype-sanitize" +import { useTranslation } from "react-i18next" + +export default function LegalPage(){ + const { slug } = useParams() + const { i18n } = useTranslation() + const lang = i18n.language || "de" + + const { data, isLoading, error } = useQuery({ + queryKey: ["legal", slug, lang], + queryFn: async () => { + const res = await fetch(`/api/legal/${slug}?lang=${lang}`) + if(!res.ok) throw new Error("Failed to load legal page") + return res.json() + } + }) + + if (isLoading) return
    Loading…
    + if (error) return
    Error loading content.
    + + return ( +
    +

    {data.title}

    +
    + {data.updated_at ? new Date(data.updated_at).toLocaleDateString(lang) : null} +
    + + {data.body_markdown || ""} + +
    + ) +} +``` +**Header.jsx (gear button opens SettingsSheet and changes language)** +```jsx +import React from "react" +import { Settings } from "lucide-react" +import { useTranslation } from "react-i18next" +import SettingsSheet from "@/components/Layout/SettingsSheet" + +export default function Header() { + const { i18n } = useTranslation() + const [open, setOpen] = React.useState(false) + + const onLangChange = (lng) => { + i18n.changeLanguage(lng) + localStorage.setItem("lang", lng) + setOpen(false) + } + + return ( +
    +
    +
    Fotobox
    + +
    + setOpen(false)} + onLangChange={onLangChange} + currentLang={i18n.language || "de"} + /> +
    + ) +} +``` +## 🌍 Internationalization (i18n) + +### Goals & Locales +- Support multi-lingual content across admin, API, and PWA. +- Initial locales: `de` (default) and `en`; easily extendable. + +### Backend (Laravel 12 + PHP 8.4) +- Dependency: `spatie/laravel-translatable` for JSON translations. +- App config (`config/app.php`): set `locale`, `fallback_locale`, and optionally `APP_SUPPORTED_LOCALES=de,en`. + +#### i18n Data Model +- Store translatable fields as JSON: + - `event_types.name` + - `events.name`, `events.description` + - `emotions.name`, `emotions.description` + - `tasks.title`, `tasks.description`, `tasks.example_text` + +#### Model Setup +```php +schema([ + Schema\Components\Select::make('slug') + ->label('Type')->options([ + 'imprint' => 'Impressum', + 'privacy' => 'Datenschutzerklärung', + 'terms' => 'AGB', + 'custom' => 'Custom', + ])->required(), + + Schema\Components\Tabs::make('Translations')->tabs([ + Schema\Components\Tabs\Tab::make('Deutsch')->schema([ + Schema\Components\TextInput::make('title.de')->label('Titel (DE)')->required(), + Schema\Components\Textarea::make('body_markdown.de')->label('Inhalt (DE)')->rows(12)->required(), + ]), + Schema\Components\Tabs\Tab::make('English')->schema([ + Schema\Components\TextInput::make('title.en')->label('Title (EN)')->required(), + Schema\Components\Textarea::make('body_markdown.en')->label('Content (EN)')->rows(12)->required(), + ]), + ])->columnSpanFull(), + + Schema\Components\Grid::make(3)->schema([ + Schema\Components\TextInput::make('version')->numeric()->default(1), + Schema\Components\DateTimePicker::make('effective_from'), + Schema\Components\Toggle::make('is_published')->label('Published'), + ]), + ]); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\BadgeColumn::make('slug')->label('Type')->colors([ + 'primary' => 'imprint','success'=>'privacy','warning'=>'terms','gray'=>'custom' + ]), + Tables\Columns\TextColumn::make('title')->label('Title')->formatStateUsing(fn($r)=>$r->getTranslation('title', app()->getLocale()))->limit(40), + Tables\Columns\TextColumn::make('version')->sortable(), + Tables\Columns\IconColumn::make('is_published')->boolean(), + Tables\Columns\TextColumn::make('updated_at')->dateTime('d.m.Y H:i')->sortable(), + ]) + ->headerActions([ + Actions\CreateAction::make(), + ]) + ->recordActions([ + Actions\EditAction::make(), + Actions\Action::make('preview')->label('Preview')->url(fn($r)=>url("/legal/{$r->slug}?lang=".app()->getLocale()))->openUrlInNewTab(), + Actions\DeleteAction::make(), + ]); + } +} +``` + +### API (public) +```php +// routes/api.php +use App\Http\Controllers\Api\LegalController; +Route::get('/legal/{slug}', [LegalController::class, 'show']); +``` + +```php +getLocale(); + $page = LegalPage::query() + ->where('slug', $slug) + ->where('is_published', true) + ->orderByDesc('version') + ->firstOrFail(); + + return response()->json([ + 'slug' => $page->slug, + 'title' => $page->getTranslation('title', $locale), + 'body_markdown' => $page->getTranslation('body_markdown', $locale), + 'version' => $page->version, + 'effective_from' => $page->effective_from, + 'updated_at' => $page->updated_at, + 'locale' => $locale, + ]); + } +} +``` + +### PWA UX +- Header gear icon opens a Settings sheet with: + - Language: DE/EN toggle + - Legal: Impressum, Datenschutzerklärung, AGB (links) +- Footer links (public pages): “Impressum · Datenschutz · AGB” (DE labels in DE locale) for easy/direct access. +- Routes: `/legal/imprint`, `/legal/privacy`, `/legal/terms` → render via API. + +React components (sketch): +```jsx +// routes +} /> + +// components/SettingsSheet.jsx (triggered by gear button) +// shows language selector and links to /legal/... routes +``` + +Workbox caching (vite-plugin-pwa): add runtime cache for `/api/legal/*` (CacheFirst with revalidate). + +Compliance (DE): ensure “Impressum” is labeled in German and reachable within ≤2 clicks; show last updated date; include provider details (name, address, contact, VAT/registry) in content. + +#### Locale Resolution (API) +- Precedence: `?lang` → `Accept-Language` → `event.default_locale` → fallback. +- Set `Content-Language` header. +```php +class SetLocale { /* see middleware example above */ } +``` + +### Admin (Filament v4) Forms +- Use Tabs for per-locale inputs (Spatie accepts arrays): +```php +Schema\Components\Tabs::make('Translations')->tabs([ + Schema\Components\Tabs\Tab::make('Deutsch')->schema([ + Schema\Components\TextInput::make('title.de')->label('Titel (DE)')->required(), + Schema\Components\Textarea::make('description.de')->label('Beschreibung (DE)')->rows(3), + Schema\Components\TextInput::make('example_text.de')->label('Beispiel (DE)'), + ]), + Schema\Components\Tabs\Tab::make('English')->schema([ + Schema\Components\TextInput::make('title.en')->label('Title (EN)'), + Schema\Components\Textarea::make('description.en')->label('Description (EN)')->rows(3), + Schema\Components\TextInput::make('example_text.en')->label('Example (EN)'), + ]), +]) +``` + +### CSV (Localized Fields) +- Extra headers allowed: `title:de`, `title:en`, `description:de`, `description:en`, `example_text:de`, `example_text:en`. +- If only base columns exist, treat them as the active import locale. +```csv +emotion,title:de,title:en,description:de,description:en,difficulty,is_active,scope,event_type +Freude,Sprung-Foto,Jump Photo,Alle springen!,Everyone jump!,medium,1,tenant,corporate +``` + +### Frontend (React PWA) +- Dependencies: `i18next`, `react-i18next`, `i18next-browser-languagedetector`. +- Initialize in `resources/js/src/i18n.js` and pass locale to API via `?lang=`. + +**HomePage.jsx (Emotions-Picker)** +```jsx +import React from 'react' +import { useNavigate } from 'react-router-dom' +import { useQuery } from '@tanstack/react-query' +import { useEvent } from '@/context/EventContext' +import { useApp } from '@/context/AppContext' +import EmotionBubble from '@/components/Emotions/EmotionBubble' +import PhotoGrid from '@/components/Gallery/PhotoGrid' +import LoadingSpinner from '@/components/Layout/LoadingSpinner' + +function HomePage() { + const navigate = useNavigate() + const { eventSlug, apiService } = useEvent() + const { guestName, setGuestName } = useApp() + + // Emotionen laden + const { data: emotions, isLoading: emotionsLoading } = useQuery({ + queryKey: ['emotions', eventSlug], + queryFn: () => apiService.getEmotions(), + enabled: !!eventSlug + }) + + // Neueste Fotos laden + const { data: recentPhotos, isLoading: photosLoading } = useQuery({ + queryKey: ['photos', eventSlug, 'recent'], + queryFn: () => apiService.getPhotos({ limit: 8, sort: 'latest' }), + enabled: !!eventSlug, + refetchInterval: 30000 // Alle 30 Sekunden aktualisieren + }) + + const handleEmotionClick = (emotionId) => { + if (!guestName) { + // Gast-Namen abfragen wenn noch nicht gesetzt + const name = prompt('Wie sollen wir dich nennen?', '') + if (name?.trim()) { + setGuestName(name.trim()) + } else { + return + } + } + navigate(`/event/${eventSlug}/camera/${emotionId}`) + } + + if (emotionsLoading) { + return + } + + return ( +
    + {/* Header */} +
    +

    + Willkommen zur Fotobox! 📸 +

    + {guestName && ( +

    + Hallo, {guestName}! 👋 +

    + )} +
    + + {/* Emotions-Picker */} +
    +
    + {emotions?.map((emotion) => ( + handleEmotionClick(emotion.id)} + className="flex-shrink-0" + /> + ))} +
    +
    + + {/* "Alle anzeigen" Button */} +
    + +
    + + {/* Recent Photos Feed */} +
    +

    + Neueste Momente +

    + + {photosLoading ? ( +
    + {[...Array(4)].map((_, i) => ( +
    + ))} +
    + ) : ( + + )} +
    +
    + ) +} + +export default HomePage +``` + +**CameraPage.jsx (Foto-Aufnahme)** +```jsx +import React, { useState, useRef, useCallback } from 'react' +import { useParams, useNavigate } from 'react-router-dom' +import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query' +import { useEvent } from '@/context/EventContext' +import { useApp } from '@/context/AppContext' +import CameraCapture from '@/components/Camera/CameraCapture' +import TaskOverlay from '@/components/Camera/TaskOverlay' +import PhotoPreview from '@/components/Camera/PhotoPreview' + +function CameraPage() { + const { emotionId } = useParams() + const navigate = useNavigate() + const { eventSlug, apiService } = useEvent() + const { guestName } = useApp() + const queryClient = useQueryClient() + + const [capturedPhoto, setCapturedPhoto] = useState(null) + const [currentTask, setCurrentTask] = useState(null) + const cameraRef = useRef(null) + + // Aktueller Task laden + const { data: tasks, refetch: refetchTasks } = useQuery({ + queryKey: ['tasks', eventSlug, emotionId], + queryFn: () => apiService.getRandomTask(emotionId), + enabled: !!emotionId && !!eventSlug, + onSuccess: (data) => { + if (data && !currentTask) { + setCurrentTask(data) + } + } + }) + + // Foto-Upload Mutation + const uploadMutation = useMutation({ + mutationFn: (photoData) => apiService.uploadPhoto(photoData), + onSuccess: () => { + // Cache invalidieren für sofortige Updates + queryClient.invalidateQueries(['photos', eventSlug]) + + // Zurück zur Startseite + navigate(`/event/${eventSlug}`) + }, + onError: (error) => { + console.error('Upload failed:', error) + alert('Upload fehlgeschlagen. Bitte versuche es erneut.') + } + }) + + const handleCapture = useCallback((photoBlob) => { + setCapturedPhoto(photoBlob) + }, []) + + const handleRetake = useCallback(() => { + setCapturedPhoto(null) + }, []) + + const handleUpload = useCallback(() => { + if (!capturedPhoto || !guestName || !currentTask) return + + const formData = new FormData() + formData.append('photo', capturedPhoto, 'photo.jpg') + formData.append('emotion_id', emotionId) + formData.append('task_id', currentTask.id) + formData.append('guest_name', guestName) + + uploadMutation.mutate(formData) + }, [capturedPhoto, guestName, emotionId, currentTask, uploadMutation]) + + const handleNewTask = useCallback(() => { + refetchTasks().then((result) => { + if (result.data) { + setCurrentTask(result.data) + } + }) + }, [refetchTasks]) + + // Redirect wenn kein Gast-Name gesetzt + React.useEffect(() => { + if (!guestName) { + navigate(`/event/${eventSlug}`) + } + }, [guestName, navigate, eventSlug]) + + if (!currentTask) { + return ( +
    +
    +
    +

    Aufgabe wird geladen...

    +
    +
    + ) + } + + return ( +
    + {!capturedPhoto ? ( + <> + {/* Live-Kamera */} + + + {/* Task-Overlay */} + navigate(`/event/${eventSlug}`)} + /> + + ) : ( + /* Foto-Vorschau */ + + )} +
    + ) +} + +export default CameraPage +``` + +#### PWA Service Worker Features + +**Offline-Funktionalität:** +```javascript +// public/sw.js (Custom Service Worker) +const CACHE_NAME = 'fotobox-v1' +const OFFLINE_URL = '/offline.html' + +// Offline-Queue für Photo-Uploads +class PhotoUploadQueue { + constructor() { + this.queue = [] + this.isProcessing = false + } + + async add(photoData) { + this.queue.push(photoData) + await this.process() + } + + async process() { + if (this.isProcessing || this.queue.length === 0) return + + this.isProcessing = true + + while (this.queue.length > 0) { + const photoData = this.queue.shift() + + try { + const response = await fetch(photoData.url, { + method: 'POST', + body: photoData.formData + }) + + if (response.ok) { + // Upload erfolgreich - Cache invalidieren + await caches.delete('api-cache') + + // Client benachrichtigen + self.clients.matchAll().then(clients => { + clients.forEach(client => { + client.postMessage({ + type: 'PHOTO_UPLOADED', + data: photoData + }) + }) + }) + } else { + // Fehlgeschlagen - zurück in die Queue + this.queue.unshift(photoData) + break + } + } catch (error) { + // Netzwerkfehler - zurück in die Queue + this.queue.unshift(photoData) + break + } + } + + this.isProcessing = false + } +} + +const uploadQueue = new PhotoUploadQueue() + +// Network-first für API-Calls +self.addEventListener('fetch', event => { + if (event.request.url.includes('/api/')) { + event.respondWith( + fetch(event.request) + .then(response => { + // Response klonen für Cache + const responseClone = response.clone() + caches.open(CACHE_NAME).then(cache => { + cache.put(event.request, responseClone) + }) + return response + }) + .catch(() => { + // Fallback auf Cache + return caches.match(event.request) + }) + ) + } +}) +``` + +## 🎨 UI/UX Design-Spezifikationen + +### Farbschema +```javascript +// tailwind.config.js - Custom Colors +module.exports = { + theme: { + extend: { + colors: { + emotions: { + love: '#ff6b9d', // Liebe - Pink + joy: '#ffd93d', // Freude - Gelb + touched: '#6bcf7f', // Rührung - Grün + nostalgia: '#a78bfa', // Nostalgie - Lila + surprise: '#fb7185', // Überraschung - Rosa + pride: '#34d399' // Stolz - Türkis + }, + wedding: { + primary: '#ff6b9d', + secondary: '#a78bfa', + accent: '#ffd93d', + neutral: '#6b7280', + success: '#10b981', + error: '#ef4444' + } + }, + fontFamily: { + 'wedding': ['Poppins', 'Inter', 'sans-serif'] + }, + animation: { + 'bounce-soft': 'bounce 2s infinite', + 'pulse-slow': 'pulse 3s infinite', + 'wiggle': 'wiggle 1s ease-in-out infinite', + 'fade-in': 'fadeIn 0.5s ease-in-out', + 'slide-up': 'slideUp 0.3s ease-out' + } + } + } +} +``` + +### Responsive Breakpoints +- **Mobile First:** 320px - 768px (Hauptzielgruppe) +- **Tablet:** 768px - 1024px (Landscape-Modus) +- **Desktop:** 1024px+ (Admin-Interface) + +### Gestaltungs-Prinzipien +1. **Thumb-Friendly:** Alle wichtigen Buttons in Daumen-Reichweite +2. **High Contrast:** Gute Lesbarkeit auch bei schlechtem Licht +3. **Emotional Colors:** Jede Emotion hat eigene Farb-Identität +4. **Micro-Animations:** Subtile Feedback-Animationen +5. **Progressive Disclosure:** Komplexität schrittweise aufbauen + +## 📱 Komponenten-Spezifikationen + +### EmotionBubble Component +```jsx +import React from 'react' +import { motion } from 'framer-motion' + +const EmotionBubble = ({ emotion, onClick, isActive, className }) => { + return ( + onClick(emotion.id)} + > + {/* Emoji Icon */} + {emotion.icon} + + {/* Name */} + + {emotion.name} + + + {/* Pulse Animation für aktive Emotion */} + {isActive && ( + + )} + + ) +} +``` + +### CameraCapture Component +```jsx +import React, { useRef, useEffect, useState } from 'react' +import { Camera, RotateCcw, Zap, ZapOff } from 'lucide-react' + +const CameraCapture = React.forwardRef(({ onCapture }, ref) => { + const videoRef = useRef(null) + const canvasRef = useRef(null) + const [stream, setStream] = useState(null) + const [hasFlash, setHasFlash] = useState(false) + const [isFlashOn, setIsFlashOn] = useState(false) + const [facingMode, setFacingMode] = useState('user') // 'user' oder 'environment' + + // Kamera initialisieren + useEffect(() => { + startCamera() + return () => { + stopCamera() + } + }, [facingMode]) + + const startCamera = async () => { + try { + const constraints = { + video: { + facingMode: facingMode, + width: { ideal: 1080 }, + height: { ideal: 1920 } + } + } + + const mediaStream = await navigator.mediaDevices.getUserMedia(constraints) + setStream(mediaStream) + + if (videoRef.current) { + videoRef.current.srcObject = mediaStream + } + + // Flash-Unterstützung prüfen + const videoTrack = mediaStream.getVideoTracks()[0] + const capabilities = videoTrack.getCapabilities() + setHasFlash(capabilities.torch === true) + + } catch (error) { + console.error('Kamera-Zugriff fehlgeschlagen:', error) + alert('Kamera-Zugriff nicht möglich. Bitte Berechtigungen prüfen.') + } + } + + const stopCamera = () => { + if (stream) { + stream.getTracks().forEach(track => track.stop()) + setStream(null) + } + } + + const toggleFlash = async () => { + if (!hasFlash || !stream) return + + const videoTrack = stream.getVideoTracks()[0] + try { + await videoTrack.applyConstraints({ + advanced: [{ torch: !isFlashOn }] + }) + setIsFlashOn(!isFlashOn) + } catch (error) { + console.error('Flash toggle fehlgeschlagen:', error) + } + } + + const switchCamera = () => { + setFacingMode(prev => prev === 'user' ? 'environment' : 'user') + } + + const capturePhoto = () => { + if (!videoRef.current || !canvasRef.current) return + + const video = videoRef.current + const canvas = canvasRef.current + const ctx = canvas.getContext('2d') + + // Canvas-Größe an Video anpassen + canvas.width = video.videoWidth + canvas.height = video.videoHeight + + // Video-Frame auf Canvas zeichnen + ctx.drawImage(video, 0, 0, canvas.width, canvas.height) + + // Canvas zu Blob konvertieren + canvas.toBlob((blob) => { + if (blob && onCapture) { + onCapture(blob) + } + }, 'image/jpeg', 0.9) + } + + return ( +
    + {/* Video Stream */} +
    + ) +}) + +export default CameraCapture +``` + +### TaskOverlay Component +```jsx +import React from 'react' +import { motion } from 'framer-motion' +import { Shuffle, ArrowLeft, HelpCircle } from 'lucide-react' + +const TaskOverlay = ({ task, onNewTask, onBack, onShowHelp }) => { + if (!task) return null + + return ( + + {/* Background Gradient */} +
    + + {/* Header Controls */} +
    + + +
    + + +
    +
    + + {/* Task Content */} +
    + {/* Emotion Badge */} +
    + {task.emotion?.icon} + {task.emotion?.name} +
    + + {/* Task Title */} +

    + {task.title} +

    + + {/* Task Description */} +

    + {task.description} +

    + + {/* Difficulty Indicator */} +
    + {[...Array(3)].map((_, i) => ( +
    + ))} + + {task.difficulty} + +
    + + {/* Example Hint */} + {task.example_text && ( + +

    + 💡 {task.example_text} +

    +
    + )} +
    +
    + + ) +} + +const getDifficultyLevel = (difficulty) => { + switch (difficulty) { + case 'easy': return 1 + case 'medium': return 2 + case 'hard': return 3 + default: return 1 + } +} + +export default TaskOverlay +``` + +## 🧩 Tenant-Defined Tasks & CSV Import + +### Goals +- Allow tenants (customers) to create and manage their own photo tasks. +- Support CSV import for bulk task creation for both Tenant Admins and Super Admin. +- Keep global (platform) task templates that tenants can also use. + +### Schema Changes (Tenant Scoping for Tasks) +```sql +-- Extend tasks to support tenant/event scoping +ALTER TABLE tasks ADD COLUMN tenant_id INTEGER NULL; -- owner tenant for custom tasks +ALTER TABLE tasks ADD COLUMN scope TEXT DEFAULT 'global' CHECK (scope IN ('global','tenant','event')); +ALTER TABLE tasks ADD COLUMN event_id INTEGER NULL; -- optional link for event-specific tasks +ALTER TABLE tasks ADD CONSTRAINT fk_tasks_tenant_id FOREIGN KEY (tenant_id) REFERENCES tenants(id); +ALTER TABLE tasks ADD CONSTRAINT fk_tasks_event_id FOREIGN KEY (event_id) REFERENCES events(id); + +-- Prevent duplicate titles per emotion within the same tenant (optional) +CREATE UNIQUE INDEX IF NOT EXISTS idx_tasks_unique_per_tenant ON tasks(tenant_id, emotion_id, title); +``` + +Notes: +- Use `scope='global'` for Super Admin library tasks, `tenant` for customer-defined, and `event` for per-event overrides. +- `tenant_id`/`event_id` are NULL for `global` tasks. + +### CSV Format +- Encoding: UTF-8, delimiter: comma. +- Header columns: + - emotion (name or ID) + - title + - description + - difficulty (easy|medium|hard) + - example_text (optional) + - is_active (1|0, optional; default 1) + - sort_order (integer, optional) + - scope (global|tenant|event, optional; default depends on UI context) + - event_slug (required if scope=event)`n - event_type (slug, optional; defaults to current event type or chosen library type) + +Example: +```csv +emotion,title,description,difficulty,example_text,is_active,sort_order,scope,event_type,event_slug +Freude,Sprung-Foto,Alle springen gleichzeitig in die Luft!,medium,,1,10,tenant,corporate, +Liebe,Kuss-Foto,Macht ein romantisches Kuss-Foto,easy,Einfach küssen und lächeln!,1,5,global,wedding, +Überraschung,Plötzlicher Jubel,Erschreckt das Brautpaar mit Jubel,hard,,1,20,event,,mueller-hochzeit-2025 +``` + +Validation rules: +- emotion must exist (map by name → ID considering tenant visibility). +- difficulty in allowed set; length limits per model. +- If scope=event, event_slug must resolve to a tenant-owned event. + +### Filament v4 — Tenant Admin Task Resource (with CSV Import) +```php +schema([ + Schema\Components\Section::make('Aufgabe') + ->schema([ + Schema\Components\Select::make('emotion_id') + ->label('Emotion') + ->relationship('emotion', 'name') + ->required(), + Schema\Components\TextInput::make('title')->required()->maxLength(255), + Schema\Components\Textarea::make('description')->required()->rows(3), + Schema\Components\Select::make('difficulty') + ->options(['easy'=>'Easy','medium'=>'Medium','hard'=>'Hard'])->required(), + Schema\Components\TextInput::make('example_text'), + Schema\Components\Toggle::make('is_active')->default(true), + Schema\Components\TextInput::make('sort_order')->numeric()->default(0), + ])->columns(2), + ]); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\TextColumn::make('emotion.name')->label('Emotion')->sortable()->searchable(), + Tables\Columns\TextColumn::make('title')->searchable(), + Tables\Columns\BadgeColumn::make('difficulty')->colors(['easy'=>'success','medium'=>'warning','hard'=>'danger']), + Tables\Columns\IconColumn::make('is_active')->boolean(), + Tables\Columns\TextColumn::make('sort_order')->sortable(), + ]) + ->filters([ + Tables\Filters\SelectFilter::make('event_type_id') + ->label('Event Type') + ->options(fn () => \App\Models\EventType::orderBy('name')->pluck('name', 'id')->all()) + ->query(function ($query, $state) { + if (! $state) { return; } + $query->where(function($q) use ($state) { + $q->where('event_type_id', $state) + ->orWhereExists(function($sub) use ($state) { + $sub->selectRaw(1) + ->from('emotion_event_type as eet') + ->whereColumn('eet.emotion_id', 'tasks.emotion_id') + ->where('eet.event_type_id', $state); + }); + }); + }), + ]) + ->headerActions([ + Actions\CreateAction::make(), + Actions\Action::make('importCsv') + ->label('CSV Import') + ->icon('heroicon-o-arrow-up-tray') + ->form([ + Schema\Components\FileUpload::make('csv')->acceptedFileTypes(['text/csv','text/plain'])->required(), + Schema\Components\Select::make('scope')->options(['tenant'=>'Tenant','event'=>'Event'])->default('tenant')->required(), + Schema\Components\Select::make('event_id') + ->label('Event (für Scope=Event)') + ->relationship('event', 'name') + ->searchable() + ->visible(fn ($get) => $get('scope') === 'event'), + ]) + ->action(function(array $data) { + $path = $data['csv']; + $full = storage_path('app/public/'.$path); + $csv = Reader::createFromPath($full, 'r'); + $csv->setHeaderOffset(0); + DB::transaction(function() use ($csv, $data) { + foreach ($csv->getRecords() as $row) { + $emotion = Emotion::query()->where('name', $row['emotion'] ?? '')->first(); + if (! $emotion) { continue; } + Task::create([ + 'tenant_id' => auth()->user()->tenant_id, + 'event_id' => $data['scope'] === 'event' ? ($data['event_id'] ?? null) : null, + 'scope' => $data['scope'], + 'emotion_id' => $emotion->id, + 'title' => trim($row['title'] ?? ''), + 'description' => trim($row['description'] ?? ''), + 'difficulty' => $row['difficulty'] ?? 'easy', + 'example_text' => $row['example_text'] ?? null, + 'is_active' => (int)($row['is_active'] ?? 1) === 1, + 'sort_order' => (int)($row['sort_order'] ?? 0), + ]); + } + }); + }) + ->requiresConfirmation(), + ]) + ->recordActions([ + Actions\EditAction::make(), + Actions\DeleteAction::make(), + ]); + } + + public static function getEloquentQuery() + { + // Tenant scoping for tasks: show global + tenant-owned + return parent::getEloquentQuery()->where(function($q){ + $tenantId = auth()->user()->tenant_id; + $q->whereNull('tenant_id')->where('scope','global') + ->orWhere('tenant_id', $tenantId); + }); + } +} +``` + +**EmotionController (filtered by event type):** +```php +event_type_id; + $emotions = Emotion::query() + ->where('is_active', true) + ->where(function($q) use ($typeId) { + $q->whereIn('id', function($sub) use ($typeId) { + $sub->from('emotion_event_type') + ->select('emotion_id') + ->where('event_type_id', $typeId); + }); + }) + ->orderBy('sort_order') + ->get(); + + return response()->json($emotions); + } +} +``` + +**TaskController (respect event type and scope precedence):** +```php +user())->tenant_id; // optional auth + $typeId = $event->event_type_id; + + $query = Task::query() + ->where('emotion_id', $emotionId) + ->where('is_active', true) + ->where(function($q) use ($event, $tenantId, $typeId) { + $q->where('scope', 'event')->where('event_id', $event->id) + ->orWhere(function($q2) use ($tenantId, $typeId) { + $q2->where('scope','tenant') + ->where('tenant_id', $tenantId) + ->where(function($qq) use ($typeId){ + $qq->whereNull('event_type_id')->orWhere('event_type_id', $typeId); + }); + }) + ->orWhere(function($q3) use ($typeId) { + $q3->where('scope','global') + ->where(function($qq) use ($typeId){ + $qq->whereNull('event_type_id')->orWhere('event_type_id', $typeId); + }); + }); + }) + ->orderByRaw("CASE WHEN scope='event' THEN 1 WHEN scope='tenant' THEN 2 ELSE 3 END") + ->orderBy('sort_order') + ->get(); + + return response()->json($query); + } + + public function getRandomTask(Request $request, Event $event, $emotionId) + { + $request->merge(['limit' => 1]); + $tasks = $this->getByEmotion($request, $event, $emotionId)->getData(); + // pick a random from top precedence group + $collection = collect($tasks); + $topScope = $collection->min(fn($t) => $t->scope === 'event' ? 1 : ($t->scope === 'tenant' ? 2 : 3)); + $pool = $collection->filter(fn($t) => ($t->scope === 'event' ? 1 : ($t->scope === 'tenant' ? 2 : 3)) === $topScope); + return response()->json($pool->random()); + } +} +``` + + +### Super Admin — Event Types Resource +```php +columns([ + Tables\\Columns\\TextColumn::make("name")->searchable()->sortable(), + Tables\\Columns\\TextColumn::make("icon"), + Tables\\Columns\\TextColumn::make("color"), + ]) + ->filters([ + Tables\\Filters\\SelectFilter::make("event_type") + ->label("Event Type") + ->options(fn () => EventType::orderBy("name")->pluck("name","id")->all()) + ->query(function($query, $state){ + if (! $state) { return; } + $query->whereIn("id", function($sub) use ($state) { + $sub->from("emotion_event_type") + ->select("emotion_id") + ->where("event_type_id", $state); + }); + }), + ]) + ->recordActions([ + Actions\\EditAction::make(), + Actions\\DeleteAction::make(), + ]) + ->headerActions([ Actions\\CreateAction::make() ]); + } +} +``` + +// app/Filament/SuperAdmin/Resources/EventTypeResource.php + +namespace App\\Filament\\SuperAdmin\\Resources; + +use App\\Models\\EventType; +use Filament\\Resources\\Resource; +use Filament\\Tables; +use Filament\\Tables\\Table; +use Filament\\Forms\\Form; +use Filament\\Schema as Schema; +use Filament\\Actions; + +class EventTypeResource extends Resource +{ + protected static ?string $model = EventType::class; + protected static ?string $navigationIcon = "heroicon-o-rectangle-stack"; + protected static ?string $navigationGroup = "Platform Configuration"; + protected static ?string $label = "Event Types"; + + public static function form(Form $form): Form + { + return $form->schema([ + Schema\\Components\\TextInput::make("name")->required()->maxLength(100), + Schema\\Components\\TextInput::make("slug")->required()->maxLength(100)->unique(ignoreRecord: true), + Schema\\Components\\TextInput::make("icon")->maxLength(64), + Schema\\Components\\KeyValue::make("settings")->keyLabel("Key")->valueLabel("Value"), + ]); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\\Columns\\TextColumn::make("name")->searchable()->sortable(), + Tables\\Columns\\TextColumn::make("slug")->searchable(), + Tables\\Columns\\TextColumn::make("icon"), + ]) + ->recordActions([ + Actions\\EditAction::make(), + Actions\\DeleteAction::make(), + ]) + ->headerActions([ Actions\\CreateAction::make() ]); + } +} +``` + +### Filament v4 — Super Admin Global Task Library (with CSV Import) +```php +columns([ + Tables\Columns\TextColumn::make('scope')->badge(), + Tables\Columns\TextColumn::make('tenant.name')->label('Tenant')->toggleable(isToggledHidden: true), + Tables\Columns\TextColumn::make('emotion.name')->label('Emotion'), + Tables\Columns\TextColumn::make('title')->limit(60), + Tables\Columns\BadgeColumn::make('difficulty'), + Tables\Columns\IconColumn::make('is_active')->boolean(), + ] ->filters([ + Tables\\Filters\\SelectFilter::make('event_type_id') + ->label('Event Type') + ->options(fn () => \\App\\Models\\EventType::orderBy('name')->pluck('name','id')->all()) + ->query(function (,){ + if(! ){ return; } + ->where(function() use (){ + ->where('event_type_id',) + ->orWhereExists(function() use (){ + ->selectRaw(1) + ->from('emotion_event_type as eet') + ->whereColumn('eet.emotion_id','tasks.emotion_id') + ->where('eet.event_type_id',); + }); + }); + }), + ]) +) + ->headerActions([ + Actions\Action::make('importCsv') + ->label('CSV Import') + ->icon('heroicon-o-arrow-up-tray') + ->form([ + Schema\Components\FileUpload::make('csv')->acceptedFileTypes(['text/csv','text/plain'])->required(), + Schema\Components\Select::make('scope')->options(['global'=>'Global','tenant'=>'Tenant','event'=>'Event'])->default('global')->required(), + Schema\Components\Select::make('tenant_id')->relationship('tenant','name')->visible(fn($get)=>$get('scope')!=='global'), + Schema\Components\Select::make('event_id')->label('Event')->relationship('event','name')->visible(fn($get)=>$get('scope')==='event'), + ]) + ->action(function(array $data){ + $path = $data['csv']; + $full = storage_path('app/public/'.$path); + $csv = Reader::createFromPath($full, 'r'); + $csv->setHeaderOffset(0); + DB::transaction(function() use ($csv, $data) { + foreach ($csv->getRecords() as $row) { + $emotion = Emotion::query()->where('name', $row['emotion'] ?? '')->first(); + if (! $emotion) { continue; } + Task::create([ + 'scope' => $data['scope'], + 'tenant_id' => $data['scope']!=='global' ? ($data['tenant_id'] ?? null) : null, + 'event_id' => $data['scope']==='event' ? ($data['event_id'] ?? null) : null, + 'emotion_id' => $emotion->id, + 'title' => trim($row['title'] ?? ''), + 'description' => trim($row['description'] ?? ''), + 'difficulty' => $row['difficulty'] ?? 'easy', + 'example_text' => $row['example_text'] ?? null, + 'is_active' => (int)($row['is_active'] ?? 1) === 1, + 'sort_order' => (int)($row['sort_order'] ?? 0), + ]); + } + }); + }) + ->requiresConfirmation(), + ]); + } +} +``` + +Implementation notes: +- Add policies to restrict Tenant Admins from editing global tasks. +- When importing with scope=tenant/event in Super Admin, enforce that referenced tenant/event exist. +- Consider a background Job for large CSV files and a progress UI. + +## 🚀 Deployment & Setup-Anweisungen + +### Entwicklungs-Setup + +#### 1. Laravel Backend Setup +```bash +# Neues Laravel-Projekt erstellen +composer create-project laravel/laravel:^12.0 hochzeits-fotobox +cd hochzeits-fotobox + +# Abhängigkeiten installieren +composer require intervention/image +composer require pusher/pusher-php-server +composer require laravel/sanctum +composer require filament/filament:^4.0 -W +# Falls Filament v3 benoetigt wird (Kompatibilitaet): +# composer require filament/filament:^3.3 -W +composer require league/csv:^9.15 # CSV parsing for task imports +composer require spatie/laravel-translatable # JSON-based field translations (i18n) + +# Environment konfigurieren +cp .env.example .env +# Datenbankverbindung auf SQLite ändern: +# DB_CONNECTION=sqlite +# DB_DATABASE=/absolute/path/to/database/database.sqlite + +# SQLite-Datenbank erstellen +touch database/database.sqlite + +# Migrations erstellen und ausführen +php artisan make:migration create_events_table +php artisan make:migration create_emotions_table +php artisan make:migration create_event_types_table +php artisan make:migration create_emotion_event_type_table +php artisan make:migration add_event_type_id_to_events +php artisan make:migration add_event_type_and_scoping_to_tasks +php artisan make:migration add_i18n_translatables_json --table=events +php artisan make:migration add_i18n_translatables_json_to_emotions --table=emotions +php artisan make:migration add_i18n_translatables_json_to_tasks --table=tasks +php artisan make:migration create_tasks_table +php artisan make:migration create_photos_table +php artisan make:migration create_photo_likes_table + +php artisan migrate + +# Models und Controller generieren +php artisan make:model Event -c +php artisan make:model Emotion -c +php artisan make:model Task -c +php artisan make:model Photo -c +php artisan make:model PhotoLike + +# Seeder für Demo-Daten +php artisan make:seeder EmotionsSeeder +php artisan make:seeder TasksSeeder +php artisan make:seeder DemoEventSeeder + +# Storage-Link erstellen +php artisan storage:link + +# App-Key generieren +php artisan key:generate +``` + +#### 2. Frontend Setup +```bash +# NPM-Abhängigkeiten installieren +npm install + +# React und Tools +npm install react react-dom @vitejs/plugin-react +npm install @tanstack/react-query +npm install react-router-dom +npm install framer-motion +npm install lucide-react + +# Styling +npm install tailwindcss postcss autoprefixer +npm install @tailwindcss/forms @tailwindcss/aspect-ratio + +# PWA +npm install vite-plugin-pwa workbox-window + +# Utils +npm install date-fns +npm install clsx +npm install compressorjs +npm install react-markdown rehype-sanitize + +# Tailwind initialisieren +npx tailwindcss init -p + +# Verzeichnis-Struktur erstellen +mkdir -p resources/js/src/{components,pages,hooks,services,context,utils} +mkdir -p resources/js/src/components/{Camera,Emotions,Gallery,Layout,Forms} +mkdir -p public/icons +``` + +#### 3. Seeder-Daten + +**EmotionsSeeder.php:** +```php + 'Liebe', + 'icon' => '💕', + 'color' => '#ff6b9d', + 'description' => 'Romantische und liebevolle Momente', + 'sort_order' => 1 + ], + [ + 'name' => 'Freude', + 'icon' => '😂', + 'color' => '#ffd93d', + 'description' => 'Lustige und fröhliche Augenblicke', + 'sort_order' => 2 + ], + [ + 'name' => 'Rührung', + 'icon' => '🥺', + 'color' => '#6bcf7f', + 'description' => 'Emotionale und berührende Szenen', + 'sort_order' => 3 + ], + [ + 'name' => 'Nostalgie', + 'icon' => '📸', + 'color' => '#a78bfa', + 'description' => 'Erinnerungen und nostalgische Gefühle', + 'sort_order' => 4 + ], + [ + 'name' => 'Überraschung', + 'icon' => '😲', + 'color' => '#fb7185', + 'description' => 'Unerwartete und überraschende Momente', + 'sort_order' => 5 + ], + [ + 'name' => 'Stolz', + 'icon' => '🏆', + 'color' => '#34d399', + 'description' => 'Stolze und triumphale Augenblicke', + 'sort_order' => 6 + ] + ]; + + foreach ($emotions as $emotionData) { + Emotion::create($emotionData); + } + } +} +``` + +**TasksSeeder.php:** +```php + 'Liebe', + 'tasks' => [ + [ + 'title' => 'Kuss-Foto', + 'description' => 'Macht ein romantisches Kuss-Foto', + 'difficulty' => 'easy', + 'example_text' => 'Einfach küssen und lächeln!' + ], + [ + 'title' => 'Händchen halten', + 'description' => 'Zeigt eure Hände - verheiratet und verliebt', + 'difficulty' => 'easy', + 'example_text' => 'Ringe in Szene setzen' + ], + [ + 'title' => 'Liebes-Pose', + 'description' => 'Stellt die romantischste Szene aus einem Film nach', + 'difficulty' => 'medium', + 'example_text' => 'Titanic, Dirty Dancing oder eure Lieblings-Romanze' + ], + [ + 'title' => 'Herz formen', + 'description' => 'Formt mit euren Händen ein großes Herz', + 'difficulty' => 'easy', + 'example_text' => 'Gemeinsam über dem Kopf oder vor der Brust' + ] + ] + ], + + // Freude-Tasks + [ + 'emotion' => 'Freude', + 'tasks' => [ + [ + 'title' => 'Sprung-Foto', + 'description' => 'Alle springen gleichzeitig in die Luft!', + 'difficulty' => 'medium', + 'example_text' => 'Auf drei: eins, zwei, drei - SPRUNG!' + ], + [ + 'title' => 'Grimassen-Contest', + 'description' => 'Macht die verrücktesten Gesichter', + 'difficulty' => 'easy', + 'example_text' => 'Je alberner, desto besser!' + ], + [ + 'title' => 'Lach-Attacke', + 'description' => 'Alle lachen so laut sie können', + 'difficulty' => 'easy', + 'example_text' => 'Echtes Lachen ist am schönsten' + ], + [ + 'title' => 'Tanz-Pose', + 'description' => 'Zeigt euren besten Tanz-Move', + 'difficulty' => 'medium', + 'example_text' => 'Disco, Hip-Hop oder klassischer Walzer' + ] + ] + ], + + // Rührung-Tasks + [ + 'emotion' => 'Rührung', + 'tasks' => [ + [ + 'title' => 'Tränen der Freude', + 'description' => 'Zeigt eure emotionalen Gesichter', + 'difficulty' => 'easy', + 'example_text' => 'Echte Gefühle sind die schönsten' + ], + [ + 'title' => 'Familien-Umarmung', + 'description' => 'Große Gruppenumarmung mit der ganzen Familie', + 'difficulty' => 'medium', + 'example_text' => 'Alle kommen zusammen für eine warme Umarmung' + ], + [ + 'title' => 'Stille Momente', + 'description' => 'Ein ruhiges, besinnliches Foto', + 'difficulty' => 'medium', + 'example_text' => 'Manchmal sagt ein stiller Blick mehr als tausend Worte' + ] + ] + ], + + // Weitere Emotionen... + ]; + + foreach ($tasks as $emotionGroup) { + $emotion = Emotion::where('name', $emotionGroup['emotion'])->first(); + + if ($emotion) { + foreach ($emotionGroup['tasks'] as $taskData) { + Task::create([ + 'emotion_id' => $emotion->id, + 'title' => $taskData['title'], + 'description' => $taskData['description'], + 'difficulty' => $taskData['difficulty'], + 'example_text' => $taskData['example_text'] ?? null + ]); + } + } + } + } +} +``` + +### Production Deployment + +#### 1. Shared Hosting Setup +```bash +# .htaccess für Laravel in public_html +RewriteEngine On +RewriteCond %{REQUEST_URI} !^/public/ +RewriteRule ^(.*)$ /public/$1 [L] + +# Laravel-Optimierungen +php artisan config:cache +php artisan route:cache +php artisan view:cache + +# Frontend Build +npm run build +``` + +#### 2. VPS/Cloud Deployment (mit Docker) +```dockerfile +# Dockerfile +FROM php:8.4-apache + +# PHP Extensions +RUN docker-php-ext-install pdo pdo_sqlite gd + +# Apache Konfiguration +RUN a2enmod rewrite +COPY . /var/www/html +COPY docker/apache.conf /etc/apache2/sites-available/000-default.conf + +# Permissions +RUN chown -R www-data:www-data /var/www/html/storage /var/www/html/bootstrap/cache + +# Frontend Build +RUN npm ci && npm run build + +EXPOSE 80 +``` + +#### 3. Produktions-Optimierungen + +**Laravel Optimierungen:** +```php +// config/app.php - Produktionseinstellungen +'debug' => false, +'log_level' => 'error', + +// config/cache.php - File-Cache für bessere Performance +'default' => 'file', + +// config/session.php - Datei-basierte Sessions +'driver' => 'file', +'lifetime' => 720, // 12 Stunden für Hochzeitsfeier +``` + +**Nginx Konfiguration:** +```nginx +server { + listen 80; + server_name your-domain.com; + root /var/www/hochzeits-fotobox/public; + + index index.php; + + # Gzip Kompression + gzip on; + gzip_vary on; + gzip_min_length 1024; + gzip_types text/plain text/css application/json application/javascript text/xml application/xml; + + # Caching für statische Assets + location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { + expires 1y; + add_header Cache-Control "public, immutable"; + } + + # PHP Processing + location ~ \.php$ { + fastcgi_pass unix:/run/php/php8.4-fpm.sock; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; + include fastcgi_params; + } + + # Laravel Routes + location / { + try_files $uri $uri/ /index.php?$query_string; + } +} +``` + +## 🧪 Testing & Qualitätssicherung + +### Automatisierte Tests + +#### 1. Backend Tests (PHPUnit) +```php +create(); + $emotion = Emotion::factory()->create(); + $task = Task::factory()->create(['emotion_id' => $emotion->id]); + + $file = UploadedFile::fake()->image('test-photo.jpg', 1200, 1600); + + $response = $this->postJson("/api/events/{$event->slug}/photos", [ + 'photo' => $file, + 'emotion_id' => $emotion->id, + 'task_id' => $task->id, + 'guest_name' => 'Test Gast' + ]); + + $response->assertStatus(201) + ->assertJsonStructure([ + 'success', + 'data' => [ + 'id', + 'file_path', + 'thumbnail_path', + 'guest_name', + 'emotion', + 'task' + ] + ]); + + // Dateien wurden erstellt + Storage::disk('public')->assertExists('photos/' . $file->hashName()); + Storage::disk('public')->assertExists('thumbnails/' . $file->hashName()); + + // Datenbank-Eintrag + $this->assertDatabaseHas('photos', [ + 'event_id' => $event->id, + 'guest_name' => 'Test Gast', + 'emotion_id' => $emotion->id + ]); + } +} +``` + +#### 2. Frontend Tests (Jest + React Testing Library) +```javascript +// src/__tests__/EmotionBubble.test.jsx + +import React from 'react' +import { render, fireEvent, screen } from '@testing-library/react' +import EmotionBubble from '../components/Emotions/EmotionBubble' + +const mockEmotion = { + id: 1, + name: 'Freude', + icon: '😂', + color: '#ffd93d' +} + +describe('EmotionBubble', () => { + test('renders emotion correctly', () => { + render( + + ) + + expect(screen.getByText('😂')).toBeInTheDocument() + expect(screen.getByText('Freude')).toBeInTheDocument() + }) + + test('calls onClick when clicked', () => { + const handleClick = jest.fn() + + render( + + ) + + fireEvent.click(screen.getByRole('button')) + expect(handleClick).toHaveBeenCalledWith(1) + }) + + test('applies correct styling when active', () => { + render( + + ) + + const bubble = screen.getByRole('button') + expect(bubble).toHaveClass('ring-4') + }) +}) +``` + +### Performance-Monitoring + +#### 1. Laravel Telescope (Development) +```bash +composer require laravel/telescope --dev +php artisan telescope:install +php artisan migrate +``` + +#### 2. Frontend Performance (Web Vitals) +```javascript +// src/utils/analytics.js + +import { getCLS, getFID, getFCP, getLCP, getTTFB } from 'web-vitals' + +function sendToAnalytics(metric) { + // Production Analytics Service + if (process.env.NODE_ENV === 'production') { + console.log('Web Vital:', metric) + + // Beispiel: Sende zu Google Analytics + // gtag('event', 'web_vitals', { + // event_category: 'Web Vitals', + // event_action: metric.name, + // event_value: Math.round(metric.value), + // non_interaction: true, + // }) + } +} + +export function initializeWebVitals() { + getCLS(sendToAnalytics) + getFID(sendToAnalytics) + getFCP(sendToAnalytics) + getLCP(sendToAnalytics) + getTTFB(sendToAnalytics) +} +``` + +## 📊 Analytics & Monitoring + +### Event-Tracking +```javascript +// src/services/eventTracking.js + +class EventTracker { + constructor(eventSlug) { + this.eventSlug = eventSlug + this.events = [] + } + + track(action, data = {}) { + const event = { + timestamp: new Date().toISOString(), + action, + data, + eventSlug: this.eventSlug, + sessionId: this.getSessionId(), + userAgent: navigator.userAgent + } + + this.events.push(event) + this.sendToServer(event) + } + + // Wichtige Events + trackPhotoCapture(emotionId, taskId) { + this.track('photo_capture', { emotionId, taskId }) + } + + trackPhotoUpload(photoId, success) { + this.track('photo_upload', { photoId, success }) + } + + trackEmotionSelect(emotionId) { + this.track('emotion_select', { emotionId }) + } + + trackTaskSkip(taskId) { + this.track('task_skip', { taskId }) + } + + sendToServer(event) { + // API-Endpoint für Analytics + fetch(`/api/events/${this.eventSlug}/analytics`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(event) + +## Frontend PWA — Status Update (Sep 2025) + +Implemented guest PWA per plan with React/Vite/Tailwind and PWA plugin. Highlights: + +- App Structure + - Routes: /event/:slug/home, /event/:slug/camera, /event/:slug/gallery, /event/:slug/achievements, /legal/:slug. + - Event home adopts the event landing romance gradient; dark-mode override added. + - Offline fonts bundled (Inter 400/600, Playfair Display 400/700, Great Vibes 400). + +- UI/UX + - Header settings as a sheet (language + theme). Dark/light/system theme with class-based Tailwind and no-flash boot. + - Camera page with floating capture bar: compact emotion scroller, large shutter with animation, last-capture thumbnail (opens Gallery), task lock badge. + - Gallery: grid, modal (Dialog), likes, skeleton placeholders, emotion filter and deep link. + - Achievements page (new): tabs People/Groups/Live. People aggregates claimed tasks by guest; Live shows recent task-claimed photos. i18n included. + - Navigation: replaced "Camera" tab with "Achievements" (trophy). Camera reachable via Home CTA. + +- Data & APIs (current usage) + - Events: GET /api/events/{slug} (returns localized fields and palette when available). + - Emotions: GET /api/events/{slug}/emotions. + - Tasks: GET /api/events/{slug}/tasks/random/{emotion}. + - Photos: GET /api/events/{slug}/photos, POST /api/events/{slug}/photos (compressed < 1.5MB), POST /api/events/{slug}/photos/{photo}/like. + - Legal: GET /api/legal/{slug} (markdown rendered on client). + +- PWA & Offline + - Compression to < 1.5MB before upload, EXIF stripped; offline queue with retry on "online"; toasts for success/queued/error. + - Workbox via vite-plugin-pwa; further SW Background Sync planned. + +- shadcn-style Layer + - Added Button, Card, Dialog, Sheet, Skeleton, Badge primitives for consistency. + +- Super Admin Login + - Switched to classic Laravel session login at /super-admin/login; Filament panel guarded by middleware. + +- QR & Landings + - Root landing with QR scanner (zxing) + manual code entry; event landing redesigned (typography + romance gradient). + +- Demo Data + - Seeder DemoAchievementsSeeder creates demo photos with ask_id for the Achievements page. + +### Gamification Direction (Short-Event) +- Focus on “solved tasks”: photo claims a task (client), future: peer votes to verify. +- Achievements ideas saved: docs/achievements/ideas.md. +- Planned endpoint: POST /api/events/{slug}/photos/{photo}/task-vote { verdict: 'pass'|'fail', guest_name } ? returns { pass, fail, verified }. + +### Open Items / Next +- Task verification voting (backend + modal UI) and badges (First/Finisher/Sampler/Assist etc.). +- SW Background Sync for uploads; install prompt + shortcuts. +- Admin: palette editor; (optional) groups/teams for Achievements. +- Accessibility polish, reduced-motion paths. + diff --git a/gogs.ini b/gogs.ini new file mode 100644 index 0000000..0ba3cda --- /dev/null +++ b/gogs.ini @@ -0,0 +1,2 @@ +url=http://192.168.78.2:10880/soeren/event-photo-app.git +token=b8d57887f867c2aac9e020766ee69de1c6fc0d00 \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..09de920 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,7240 @@ +{ + "name": "react-starter-kit", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "@headlessui/react": "^2.2.0", + "@inertiajs/react": "^2.1.0", + "@radix-ui/react-avatar": "^1.1.3", + "@radix-ui/react-checkbox": "^1.1.4", + "@radix-ui/react-collapsible": "^1.1.3", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-dropdown-menu": "^2.1.6", + "@radix-ui/react-label": "^2.1.2", + "@radix-ui/react-navigation-menu": "^1.2.5", + "@radix-ui/react-select": "^2.1.6", + "@radix-ui/react-separator": "^1.1.2", + "@radix-ui/react-slot": "^1.1.2", + "@radix-ui/react-toggle": "^1.1.2", + "@radix-ui/react-toggle-group": "^1.1.2", + "@radix-ui/react-tooltip": "^1.1.8", + "@tailwindcss/vite": "^4.1.11", + "@types/react": "^19.0.3", + "@types/react-dom": "^19.0.2", + "@vitejs/plugin-react": "^4.6.0", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "concurrently": "^9.0.1", + "globals": "^15.14.0", + "laravel-vite-plugin": "^2.0", + "lucide-react": "^0.475.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "tailwind-merge": "^3.0.1", + "tailwindcss": "^4.0.0", + "tailwindcss-animate": "^1.0.7", + "typescript": "^5.7.2", + "vite": "^7.0.4" + }, + "devDependencies": { + "@eslint/js": "^9.19.0", + "@laravel/vite-plugin-wayfinder": "^0.1.3", + "@types/node": "^22.13.5", + "eslint": "^9.17.0", + "eslint-config-prettier": "^10.0.1", + "eslint-plugin-react": "^7.37.3", + "eslint-plugin-react-hooks": "^5.1.0", + "prettier": "^3.4.2", + "prettier-plugin-organize-imports": "^4.1.0", + "prettier-plugin-tailwindcss": "^0.6.11", + "typescript-eslint": "^8.23.0" + }, + "optionalDependencies": { + "@rollup/rollup-linux-x64-gnu": "4.9.5", + "@tailwindcss/oxide-linux-x64-gnu": "^4.0.1", + "lightningcss-linux-x64-gnu": "^1.29.1" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz", + "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.3.tgz", + "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.3", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", + "dependencies": { + "@babel/parser": "^7.28.3", + "@babel/types": "^7.28.2", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.3.tgz", + "integrity": "sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.3.tgz", + "integrity": "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==", + "dependencies": { + "@babel/types": "^7.28.2" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.3.tgz", + "integrity": "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.2", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz", + "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", + "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz", + "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", + "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz", + "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", + "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", + "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", + "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", + "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", + "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", + "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", + "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", + "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", + "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", + "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", + "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", + "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", + "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", + "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", + "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", + "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", + "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", + "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", + "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", + "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", + "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", + "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz", + "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==", + "dev": true, + "dependencies": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz", + "integrity": "sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz", + "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.33.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.33.0.tgz", + "integrity": "sha512-5K1/mKhWaMfreBGJTwval43JJmkip0RmM+3+IuqupeSKNC/Th2Kc7ucaq5ovTSra/OOKB9c58CGSz3QMVbWt0A==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz", + "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==", + "dev": true, + "dependencies": { + "@eslint/core": "^0.15.2", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", + "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", + "dependencies": { + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.3.tgz", + "integrity": "sha512-uZA413QEpNuhtb3/iIKoYMSK07keHPYeXF02Zhd6e213j+d1NamLix/mCLxBUDW/Gx52sPH2m+chlUsyaBs/Ag==", + "dependencies": { + "@floating-ui/core": "^1.7.3", + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/react": { + "version": "0.26.28", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.26.28.tgz", + "integrity": "sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==", + "dependencies": { + "@floating-ui/react-dom": "^2.1.2", + "@floating-ui/utils": "^0.2.8", + "tabbable": "^6.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.5.tgz", + "integrity": "sha512-HDO/1/1oH9fjj4eLgegrlH3dklZpHtUYYFiVwMUwfGvk9jWDRWqkklA2/NFScknrcNSspbV868WjXORvreDX+Q==", + "dependencies": { + "@floating-ui/dom": "^1.7.3" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==" + }, + "node_modules/@headlessui/react": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-2.2.7.tgz", + "integrity": "sha512-WKdTymY8Y49H8/gUc/lIyYK1M+/6dq0Iywh4zTZVAaiTDprRfioxSgD0wnXTQTBpjpGJuTL1NO/mqEvc//5SSg==", + "dependencies": { + "@floating-ui/react": "^0.26.16", + "@react-aria/focus": "^3.20.2", + "@react-aria/interactions": "^3.25.0", + "@tanstack/react-virtual": "^3.13.9", + "use-sync-external-store": "^1.5.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^18 || ^19 || ^19.0.0-rc", + "react-dom": "^18 || ^19 || ^19.0.0-rc" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@inertiajs/core": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@inertiajs/core/-/core-2.1.2.tgz", + "integrity": "sha512-fS3bDanwIZMEhtndhs1NvDvFN7y9Nx+FPkuBLSjIvYXFVmwieZmj+q2SYLXVl/jKt0qg69GwfLVrNm+gFiFbMg==", + "dependencies": { + "axios": "^1.8.2", + "es-toolkit": "^1.34.1", + "qs": "^6.9.0" + } + }, + "node_modules/@inertiajs/react": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@inertiajs/react/-/react-2.1.2.tgz", + "integrity": "sha512-hh3dQxoEumdjSRyMajYkEnG3fb3xkyexBD8tTSjo5OeulE/VteEjS7ZM8tNseM7ya/jb3G6ccoc5MSlYEh6atg==", + "dependencies": { + "@inertiajs/core": "2.1.2", + "es-toolkit": "^1.33.0" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz", + "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@laravel/vite-plugin-wayfinder": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@laravel/vite-plugin-wayfinder/-/vite-plugin-wayfinder-0.1.3.tgz", + "integrity": "sha512-S/21Lzl7lci7LrRo/VsN5AXT02AMf7rs+OPTyt3VPgffBB1wTrzwsPr28sCU0gcR/APhfC1eVIUwpLbAvBmyKw==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@radix-ui/number": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.1.tgz", + "integrity": "sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==" + }, + "node_modules/@radix-ui/primitive": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz", + "integrity": "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==" + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.7.tgz", + "integrity": "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-avatar": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.1.10.tgz", + "integrity": "sha512-V8piFfWapM5OmNCXTzVQY+E1rDa53zY+MQ4Y7356v4fFz6vqCyUtIz2rUD44ZEdwg78/jKmMJHj07+C/Z/rcog==", + "dependencies": { + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-is-hydrated": "0.1.0", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-checkbox": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.3.3.tgz", + "integrity": "sha512-wBbpv+NQftHDdG86Qc0pIyXk5IR3tM8Vd0nWLKDcX8nNn4nXFOFwsKuqw2okA/1D/mpaAkmuyndrPJTYDNZtFw==", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-use-size": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collapsible": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.12.tgz", + "integrity": "sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA==", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.7.tgz", + "integrity": "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", + "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.15.tgz", + "integrity": "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.1.tgz", + "integrity": "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz", + "integrity": "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-escape-keydown": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dropdown-menu": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.16.tgz", + "integrity": "sha512-1PLGQEynI/3OX/ftV54COn+3Sud/Mn8vALg2rWnBLnRaGtJDduNW/22XjlGgPdpcIbiQxjKtb7BkcjP00nqfJw==", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-menu": "2.1.16", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz", + "integrity": "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz", + "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", + "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-label": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.7.tgz", + "integrity": "sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-menu": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.16.tgz", + "integrity": "sha512-72F2T+PLlphrqLcAotYPp0uJMr5SjP5SL01wfEspJbru5Zs5vQaSHb4VB3ZMJPimgHHCHG7gMOeOB9H3Hdmtxg==", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.11", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-navigation-menu": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.14.tgz", + "integrity": "sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w==", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-visually-hidden": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.8.tgz", + "integrity": "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==", + "dependencies": { + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-rect": "1.1.1", + "@radix-ui/react-use-size": "1.1.1", + "@radix-ui/rect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz", + "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.5.tgz", + "integrity": "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "dependencies": { + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.11.tgz", + "integrity": "sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-select": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.2.6.tgz", + "integrity": "sha512-I30RydO+bnn2PQztvo25tswPH+wFBjehVGtmagkU78yMdwTwVf12wnAOF+AeP8S2N8xD+5UPbGhkUfPyvT+mwQ==", + "dependencies": { + "@radix-ui/number": "1.1.1", + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-visually-hidden": "1.2.3", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-separator": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.7.tgz", + "integrity": "sha512-0HEb8R9E8A+jZjvmFCy/J4xhbXy3TV+9XSnGJ3KvTtjlIUy/YQ/p6UYZvi7YbeoeXdyU9+Y3scizK6hkY37baA==", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toggle": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.1.10.tgz", + "integrity": "sha512-lS1odchhFTeZv3xwHH31YPObmJn8gOg7Lq12inrr0+BH/l3Tsq32VfjqH1oh80ARM3mlkfMic15n0kg4sD1poQ==", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toggle-group": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle-group/-/react-toggle-group-1.1.11.tgz", + "integrity": "sha512-5umnS0T8JQzQT6HbPyO7Hh9dgd82NmS36DQr+X/YJ9ctFNCiiQd6IJAYYZ33LUwm8M+taCz5t2ui29fHZc4Y6Q==", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-roving-focus": "1.1.11", + "@radix-ui/react-toggle": "1.1.10", + "@radix-ui/react-use-controllable-state": "1.2.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.2.8.tgz", + "integrity": "sha512-tY7sVt1yL9ozIxvmbtN5qtmH2krXcBCfjEiCgKGLqunJHvgvZG2Pcl2oQ3kbcZARb1BGEHdkLzcYGO8ynVlieg==", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-popper": "1.2.8", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-visually-hidden": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", + "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", + "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==", + "dependencies": { + "@radix-ui/react-use-effect-event": "0.0.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-effect-event": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz", + "integrity": "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz", + "integrity": "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-is-hydrated": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-is-hydrated/-/react-use-is-hydrated-0.1.0.tgz", + "integrity": "sha512-U+UORVEq+cTnRIaostJv9AGdV3G6Y+zbVd+12e18jQ5A3c0xL03IhnHuiU4UV69wolOQp5GfR58NW/EgdQhwOA==", + "dependencies": { + "use-sync-external-store": "^1.5.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz", + "integrity": "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-previous": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.1.tgz", + "integrity": "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.1.tgz", + "integrity": "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==", + "dependencies": { + "@radix-ui/rect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.1.tgz", + "integrity": "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.3.tgz", + "integrity": "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.1.tgz", + "integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==" + }, + "node_modules/@react-aria/focus": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.21.0.tgz", + "integrity": "sha512-7NEGtTPsBy52EZ/ToVKCu0HSelE3kq9qeis+2eEq90XSuJOMaDHUQrA7RC2Y89tlEwQB31bud/kKRi9Qme1dkA==", + "dependencies": { + "@react-aria/interactions": "^3.25.4", + "@react-aria/utils": "^3.30.0", + "@react-types/shared": "^3.31.0", + "@swc/helpers": "^0.5.0", + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/interactions": { + "version": "3.25.4", + "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.25.4.tgz", + "integrity": "sha512-HBQMxgUPHrW8V63u9uGgBymkMfj6vdWbB0GgUJY49K9mBKMsypcHeWkWM6+bF7kxRO728/IK8bWDV6whDbqjHg==", + "dependencies": { + "@react-aria/ssr": "^3.9.10", + "@react-aria/utils": "^3.30.0", + "@react-stately/flags": "^3.1.2", + "@react-types/shared": "^3.31.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/ssr": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.10.tgz", + "integrity": "sha512-hvTm77Pf+pMBhuBm760Li0BVIO38jv1IBws1xFm1NoL26PU+fe+FMW5+VZWyANR6nYL65joaJKZqOdTQMkO9IQ==", + "dependencies": { + "@swc/helpers": "^0.5.0" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/utils": { + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.30.0.tgz", + "integrity": "sha512-ydA6y5G1+gbem3Va2nczj/0G0W7/jUVo/cbN10WA5IizzWIwMP5qhFr7macgbKfHMkZ+YZC3oXnt2NNre5odKw==", + "dependencies": { + "@react-aria/ssr": "^3.9.10", + "@react-stately/flags": "^3.1.2", + "@react-stately/utils": "^3.10.8", + "@react-types/shared": "^3.31.0", + "@swc/helpers": "^0.5.0", + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/flags": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@react-stately/flags/-/flags-3.1.2.tgz", + "integrity": "sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg==", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@react-stately/utils": { + "version": "3.10.8", + "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.10.8.tgz", + "integrity": "sha512-SN3/h7SzRsusVQjQ4v10LaVsDc81jyyR0DD5HnsQitm/I5WDpaSr2nRHtyloPFU48jlql1XX/S04T2DLQM7Y3g==", + "dependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/shared": { + "version": "3.31.0", + "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.31.0.tgz", + "integrity": "sha512-ua5U6V66gDcbLZe4P2QeyNgPp4YWD1ymGA6j3n+s8CGExtrCPe64v+g4mvpT8Bnb985R96e4zFT61+m0YCwqMg==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.46.2.tgz", + "integrity": "sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.46.2.tgz", + "integrity": "sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.46.2.tgz", + "integrity": "sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.46.2.tgz", + "integrity": "sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.46.2.tgz", + "integrity": "sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.46.2.tgz", + "integrity": "sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.46.2.tgz", + "integrity": "sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.46.2.tgz", + "integrity": "sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.46.2.tgz", + "integrity": "sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.46.2.tgz", + "integrity": "sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.46.2.tgz", + "integrity": "sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.46.2.tgz", + "integrity": "sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.46.2.tgz", + "integrity": "sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.46.2.tgz", + "integrity": "sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.46.2.tgz", + "integrity": "sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.5.tgz", + "integrity": "sha512-Dq1bqBdLaZ1Gb/l2e5/+o3B18+8TI9ANlA1SkejZqDgdU/jK/ThYaMPMJpVMMXy2uRHvGKbkz9vheVGdq3cJfA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.46.2.tgz", + "integrity": "sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.46.2.tgz", + "integrity": "sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.46.2.tgz", + "integrity": "sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.46.2.tgz", + "integrity": "sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@swc/helpers": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", + "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.12.tgz", + "integrity": "sha512-3hm9brwvQkZFe++SBt+oLjo4OLDtkvlE8q2WalaD/7QWaeM7KEJbAiY/LJZUaCs7Xa8aUu4xy3uoyX4q54UVdQ==", + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.5.1", + "lightningcss": "1.30.1", + "magic-string": "^0.30.17", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.12" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.12.tgz", + "integrity": "sha512-gM5EoKHW/ukmlEtphNwaGx45fGoEmP10v51t9unv55voWh6WrOL19hfuIdo2FjxIaZzw776/BUQg7Pck++cIVw==", + "hasInstallScript": true, + "dependencies": { + "detect-libc": "^2.0.4", + "tar": "^7.4.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.12", + "@tailwindcss/oxide-darwin-arm64": "4.1.12", + "@tailwindcss/oxide-darwin-x64": "4.1.12", + "@tailwindcss/oxide-freebsd-x64": "4.1.12", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.12", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.12", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.12", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.12", + "@tailwindcss/oxide-linux-x64-musl": "4.1.12", + "@tailwindcss/oxide-wasm32-wasi": "4.1.12", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.12", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.12" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.12.tgz", + "integrity": "sha512-oNY5pq+1gc4T6QVTsZKwZaGpBb2N1H1fsc1GD4o7yinFySqIuRZ2E4NvGasWc6PhYJwGK2+5YT1f9Tp80zUQZQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.12.tgz", + "integrity": "sha512-cq1qmq2HEtDV9HvZlTtrj671mCdGB93bVY6J29mwCyaMYCP/JaUBXxrQQQm7Qn33AXXASPUb2HFZlWiiHWFytw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.12.tgz", + "integrity": "sha512-6UCsIeFUcBfpangqlXay9Ffty9XhFH1QuUFn0WV83W8lGdX8cD5/+2ONLluALJD5+yJ7k8mVtwy3zMZmzEfbLg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.12.tgz", + "integrity": "sha512-JOH/f7j6+nYXIrHobRYCtoArJdMJh5zy5lr0FV0Qu47MID/vqJAY3r/OElPzx1C/wdT1uS7cPq+xdYYelny1ww==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.12.tgz", + "integrity": "sha512-v4Ghvi9AU1SYgGr3/j38PD8PEe6bRfTnNSUE3YCMIRrrNigCFtHZ2TCm8142X8fcSqHBZBceDx+JlFJEfNg5zQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.12.tgz", + "integrity": "sha512-YP5s1LmetL9UsvVAKusHSyPlzSRqYyRB0f+Kl/xcYQSPLEw/BvGfxzbH+ihUciePDjiXwHh+p+qbSP3SlJw+6g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.12.tgz", + "integrity": "sha512-V8pAM3s8gsrXcCv6kCHSuwyb/gPsd863iT+v1PGXC4fSL/OJqsKhfK//v8P+w9ThKIoqNbEnsZqNy+WDnwQqCA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.12.tgz", + "integrity": "sha512-xYfqYLjvm2UQ3TZggTGrwxjYaLB62b1Wiysw/YE3Yqbh86sOMoTn0feF98PonP7LtjsWOWcXEbGqDL7zv0uW8Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.12.tgz", + "integrity": "sha512-ha0pHPamN+fWZY7GCzz5rKunlv9L5R8kdh+YNvP5awe3LtuXb5nRi/H27GeL2U+TdhDOptU7T6Is7mdwh5Ar3A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.12.tgz", + "integrity": "sha512-4tSyu3dW+ktzdEpuk6g49KdEangu3eCYoqPhWNsZgUhyegEda3M9rG0/j1GV/JjVVsj+lG7jWAyrTlLzd/WEBg==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.5", + "@emnapi/runtime": "^1.4.5", + "@emnapi/wasi-threads": "^1.0.4", + "@napi-rs/wasm-runtime": "^0.2.12", + "@tybys/wasm-util": "^0.10.0", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.12.tgz", + "integrity": "sha512-iGLyD/cVP724+FGtMWslhcFyg4xyYyM+5F4hGvKA7eifPkXHRAUDFaimu53fpNg9X8dfP75pXx/zFt/jlNF+lg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.12.tgz", + "integrity": "sha512-NKIh5rzw6CpEodv/++r0hGLlfgT/gFN+5WNdZtvh6wpU2BpGNgdjvj6H2oFc8nCM839QM1YOhjpgbAONUb4IxA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.12.tgz", + "integrity": "sha512-4pt0AMFDx7gzIrAOIYgYP0KCBuKWqyW8ayrdiLEjoJTT4pKTjrzG/e4uzWtTLDziC+66R9wbUqZBccJalSE5vQ==", + "dependencies": { + "@tailwindcss/node": "4.1.12", + "@tailwindcss/oxide": "4.1.12", + "tailwindcss": "4.1.12" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7" + } + }, + "node_modules/@tanstack/react-virtual": { + "version": "3.13.12", + "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.13.12.tgz", + "integrity": "sha512-Gd13QdxPSukP8ZrkbgS2RwoZseTTbQPLnQEn7HY/rqtM+8Zt95f7xKC7N0EsKs7aoz0WzZ+fditZux+F8EzYxA==", + "dependencies": { + "@tanstack/virtual-core": "3.13.12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@tanstack/virtual-core": { + "version": "3.13.12", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.12.tgz", + "integrity": "sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "22.17.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.17.2.tgz", + "integrity": "sha512-gL6z5N9Jm9mhY+U2KXZpteb+09zyffliRkZyZOHODGATyC5B1Jt/7TzuuiLkFsSUMLbS1OLmlj/E+/3KF4Q/4w==", + "devOptional": true, + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/react": { + "version": "19.1.10", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.10.tgz", + "integrity": "sha512-EhBeSYX0Y6ye8pNebpKrwFJq7BoQ8J5SO6NlvNwwHjSj6adXJViPQrKlsyPw7hLBLvckEMO1yxeGdR82YBBlDg==", + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.1.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.7.tgz", + "integrity": "sha512-i5ZzwYpqjmrKenzkoLM2Ibzt6mAsM7pxB6BCIouEVVmgiqaMj1TjaK7hnA36hbW5aZv20kx7Lw6hWzPWg0Rurw==", + "peerDependencies": { + "@types/react": "^19.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.39.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.39.1.tgz", + "integrity": "sha512-yYegZ5n3Yr6eOcqgj2nJH8cH/ZZgF+l0YIdKILSDjYFRjgYQMgv/lRjV5Z7Up04b9VYUondt8EPMqg7kTWgJ2g==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.39.1", + "@typescript-eslint/type-utils": "8.39.1", + "@typescript-eslint/utils": "8.39.1", + "@typescript-eslint/visitor-keys": "8.39.1", + "graphemer": "^1.4.0", + "ignore": "^7.0.0", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.39.1", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.39.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.39.1.tgz", + "integrity": "sha512-pUXGCuHnnKw6PyYq93lLRiZm3vjuslIy7tus1lIQTYVK9bL8XBgJnCWm8a0KcTtHC84Yya1Q6rtll+duSMj0dg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "8.39.1", + "@typescript-eslint/types": "8.39.1", + "@typescript-eslint/typescript-estree": "8.39.1", + "@typescript-eslint/visitor-keys": "8.39.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.39.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.39.1.tgz", + "integrity": "sha512-8fZxek3ONTwBu9ptw5nCKqZOSkXshZB7uAxuFF0J/wTMkKydjXCzqqga7MlFMpHi9DoG4BadhmTkITBcg8Aybw==", + "dev": true, + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.39.1", + "@typescript-eslint/types": "^8.39.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.39.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.39.1.tgz", + "integrity": "sha512-RkBKGBrjgskFGWuyUGz/EtD8AF/GW49S21J8dvMzpJitOF1slLEbbHnNEtAHtnDAnx8qDEdRrULRnWVx27wGBw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.39.1", + "@typescript-eslint/visitor-keys": "8.39.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.39.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.39.1.tgz", + "integrity": "sha512-ePUPGVtTMR8XMU2Hee8kD0Pu4NDE1CN9Q1sxGSGd/mbOtGZDM7pnhXNJnzW63zk/q+Z54zVzj44HtwXln5CvHA==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.39.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.39.1.tgz", + "integrity": "sha512-gu9/ahyatyAdQbKeHnhT4R+y3YLtqqHyvkfDxaBYk97EcbfChSJXyaJnIL3ygUv7OuZatePHmQvuH5ru0lnVeA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.39.1", + "@typescript-eslint/typescript-estree": "8.39.1", + "@typescript-eslint/utils": "8.39.1", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.39.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.39.1.tgz", + "integrity": "sha512-7sPDKQQp+S11laqTrhHqeAbsCfMkwJMrV7oTDvtDds4mEofJYir414bYKUEb8YPUm9QL3U+8f6L6YExSoAGdQw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.39.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.39.1.tgz", + "integrity": "sha512-EKkpcPuIux48dddVDXyQBlKdeTPMmALqBUbEk38McWv0qVEZwOpVJBi7ugK5qVNgeuYjGNQxrrnoM/5+TI/BPw==", + "dev": true, + "dependencies": { + "@typescript-eslint/project-service": "8.39.1", + "@typescript-eslint/tsconfig-utils": "8.39.1", + "@typescript-eslint/types": "8.39.1", + "@typescript-eslint/visitor-keys": "8.39.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.39.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.39.1.tgz", + "integrity": "sha512-VF5tZ2XnUSTuiqZFXCZfZs1cgkdd3O/sSYmdo2EpSyDlC86UM/8YytTmKnehOW3TGAlivqTDT6bS87B/GQ/jyg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.39.1", + "@typescript-eslint/types": "8.39.1", + "@typescript-eslint/typescript-estree": "8.39.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.39.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.39.1.tgz", + "integrity": "sha512-W8FQi6kEh2e8zVhQ0eeRnxdvIoOkAp/CPAahcNio6nO9dsIwb9b34z90KOlheoyuVf6LSOEdjlkxSkapNEc+4A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.39.1", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "dependencies": { + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/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/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/aria-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axios": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz", + "integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.2.tgz", + "integrity": "sha512-0si2SJK3ooGzIawRu61ZdPCO1IncZwS8IzuX73sPZsXW6EQ/w/DAfPyKI8l1ETTCr2MnvqWitmlCUxgdul45jA==", + "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.30001733", + "electron-to-chromium": "^1.5.199", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001735", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001735.tgz", + "integrity": "sha512-EV/laoX7Wq2J9TQlyIXRxTJqIw4sxfXS4OYgudGxBYRuTv0q7AM6yMEpU/Vo1I94thg9U6EZ2NfZx9GJq83u7w==", + "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/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/chalk/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/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "engines": { + "node": ">=18" + } + }, + "node_modules/class-variance-authority": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "dependencies": { + "clsx": "^2.1.1" + }, + "funding": { + "url": "https://polar.sh/cva" + } + }, + "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/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "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/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/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/concurrently": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.2.0.tgz", + "integrity": "sha512-IsB/fiXTupmagMW4MNp2lx2cdSN2FfZq78vF90LBB+zZHArbIQZjQtzXCiXnvTxCZSvXanTqFLWBjw2UkLx1SQ==", + "dependencies": { + "chalk": "^4.1.2", + "lodash": "^4.17.21", + "rxjs": "^7.8.1", + "shell-quote": "^1.8.1", + "supports-color": "^8.1.1", + "tree-kill": "^1.2.2", + "yargs": "^17.7.2" + }, + "bin": { + "conc": "dist/bin/concurrently.js", + "concurrently": "dist/bin/concurrently.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "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-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "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/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "engines": { + "node": ">=8" + } + }, + "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/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.202", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.202.tgz", + "integrity": "sha512-NxbYjRmiHcHXV1Ws3fWUW+SLb62isauajk45LUJ/HgIOkUA7jLZu/X2Iif+X9FBNK8QkF9Zb4Q2mcwXCcY30mg==" + }, + "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/enhanced-resolve": { + "version": "5.18.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", + "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-abstract": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.6", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-toolkit": { + "version": "1.39.9", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.39.9.tgz", + "integrity": "sha512-9OtbkZmTA2Qc9groyA1PUNeb6knVTkvB2RSdr/LcJXDL8IdEakaxwXLHXa7VX/Wj0GmdMJPR3WhnPGhiP3E+qg==", + "workspaces": [ + "docs", + "benchmarks" + ] + }, + "node_modules/esbuild": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", + "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.9", + "@esbuild/android-arm": "0.25.9", + "@esbuild/android-arm64": "0.25.9", + "@esbuild/android-x64": "0.25.9", + "@esbuild/darwin-arm64": "0.25.9", + "@esbuild/darwin-x64": "0.25.9", + "@esbuild/freebsd-arm64": "0.25.9", + "@esbuild/freebsd-x64": "0.25.9", + "@esbuild/linux-arm": "0.25.9", + "@esbuild/linux-arm64": "0.25.9", + "@esbuild/linux-ia32": "0.25.9", + "@esbuild/linux-loong64": "0.25.9", + "@esbuild/linux-mips64el": "0.25.9", + "@esbuild/linux-ppc64": "0.25.9", + "@esbuild/linux-riscv64": "0.25.9", + "@esbuild/linux-s390x": "0.25.9", + "@esbuild/linux-x64": "0.25.9", + "@esbuild/netbsd-arm64": "0.25.9", + "@esbuild/netbsd-x64": "0.25.9", + "@esbuild/openbsd-arm64": "0.25.9", + "@esbuild/openbsd-x64": "0.25.9", + "@esbuild/openharmony-arm64": "0.25.9", + "@esbuild/sunos-x64": "0.25.9", + "@esbuild/win32-arm64": "0.25.9", + "@esbuild/win32-ia32": "0.25.9", + "@esbuild/win32-x64": "0.25.9" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.33.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.33.0.tgz", + "integrity": "sha512-TS9bTNIryDzStCpJN93aC5VRSW3uTx9sClUn4B87pwiCaJh220otoI0X8mJKr+VcPtniMdN8GKjlwgWGUv5ZKA==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.0", + "@eslint/config-helpers": "^0.3.1", + "@eslint/core": "^0.15.2", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.33.0", + "@eslint/plugin-kit": "^0.3.5", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-prettier": { + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", + "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "funding": { + "url": "https://opencollective.com/eslint-config-prettier" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", + "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/form-data": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", + "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-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-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "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.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/jiti": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.5.1.tgz", + "integrity": "sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "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": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/laravel-vite-plugin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-2.0.0.tgz", + "integrity": "sha512-pnaKHInJgiWpG/g+LmaISHl7D/1s5wnOXnrGiBdt4NOs+tYZRw0v/ZANELGX2/dGgHyEzO+iZ6x4idpoK04z/Q==", + "dependencies": { + "picocolors": "^1.0.0", + "vite-plugin-full-reload": "^1.1.0" + }, + "bin": { + "clean-orphaned-assets": "bin/clean.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^7.0.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", + "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.30.1", + "lightningcss-darwin-x64": "1.30.1", + "lightningcss-freebsd-x64": "1.30.1", + "lightningcss-linux-arm-gnueabihf": "1.30.1", + "lightningcss-linux-arm64-gnu": "1.30.1", + "lightningcss-linux-arm64-musl": "1.30.1", + "lightningcss-linux-x64-gnu": "1.30.1", + "lightningcss-linux-x64-musl": "1.30.1", + "lightningcss-win32-arm64-msvc": "1.30.1", + "lightningcss-win32-x64-msvc": "1.30.1" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", + "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", + "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", + "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", + "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", + "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", + "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", + "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", + "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", + "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", + "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "0.475.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.475.0.tgz", + "integrity": "sha512-NJzvVu1HwFVeZ+Gwq2q00KygM1aBhy/ZrhY9FsAgJtpB+E4R7uxRk9M2iKvHa6/vNxZydIB59htha4c2vvwvVg==", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "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/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/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", + "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==" + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "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==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "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/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-organize-imports": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-4.2.0.tgz", + "integrity": "sha512-Zdy27UhlmyvATZi67BTnLcKTo8fm6Oik59Sz6H64PgZJVs6NJpPD1mT240mmJn62c98/QaL+r3kx9Q3gRpDajg==", + "dev": true, + "peerDependencies": { + "prettier": ">=2.0", + "typescript": ">=2.9", + "vue-tsc": "^2.1.0 || 3" + }, + "peerDependenciesMeta": { + "vue-tsc": { + "optional": true + } + } + }, + "node_modules/prettier-plugin-tailwindcss": { + "version": "0.6.14", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.14.tgz", + "integrity": "sha512-pi2e/+ZygeIqntN+vC573BcW5Cve8zUB0SSAGxqpB4f96boZF4M3phPVoOFCeypwkpRYdi7+jQ5YJJUwrkGUAg==", + "dev": true, + "engines": { + "node": ">=14.21.3" + }, + "peerDependencies": { + "@ianvs/prettier-plugin-sort-imports": "*", + "@prettier/plugin-hermes": "*", + "@prettier/plugin-oxc": "*", + "@prettier/plugin-pug": "*", + "@shopify/prettier-plugin-liquid": "*", + "@trivago/prettier-plugin-sort-imports": "*", + "@zackad/prettier-plugin-twig": "*", + "prettier": "^3.0", + "prettier-plugin-astro": "*", + "prettier-plugin-css-order": "*", + "prettier-plugin-import-sort": "*", + "prettier-plugin-jsdoc": "*", + "prettier-plugin-marko": "*", + "prettier-plugin-multiline-arrays": "*", + "prettier-plugin-organize-attributes": "*", + "prettier-plugin-organize-imports": "*", + "prettier-plugin-sort-imports": "*", + "prettier-plugin-style-order": "*", + "prettier-plugin-svelte": "*" + }, + "peerDependenciesMeta": { + "@ianvs/prettier-plugin-sort-imports": { + "optional": true + }, + "@prettier/plugin-hermes": { + "optional": true + }, + "@prettier/plugin-oxc": { + "optional": true + }, + "@prettier/plugin-pug": { + "optional": true + }, + "@shopify/prettier-plugin-liquid": { + "optional": true + }, + "@trivago/prettier-plugin-sort-imports": { + "optional": true + }, + "@zackad/prettier-plugin-twig": { + "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-multiline-arrays": { + "optional": true + }, + "prettier-plugin-organize-attributes": { + "optional": true + }, + "prettier-plugin-organize-imports": { + "optional": true + }, + "prettier-plugin-sort-imports": { + "optional": true + }, + "prettier-plugin-style-order": { + "optional": true + }, + "prettier-plugin-svelte": { + "optional": true + } + } + }, + "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==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "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/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react": { + "version": "19.1.1", + "resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz", + "integrity": "sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.1.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.1.tgz", + "integrity": "sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==", + "dependencies": { + "scheduler": "^0.26.0" + }, + "peerDependencies": { + "react": "^19.1.1" + } + }, + "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==", + "dev": true + }, + "node_modules/react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-remove-scroll": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.1.tgz", + "integrity": "sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==", + "dependencies": { + "react-remove-scroll-bar": "^2.3.7", + "react-style-singleton": "^2.2.3", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", + "dependencies": { + "react-style-singleton": "^2.2.2", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", + "dependencies": { + "get-nonce": "^1.0.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.46.2.tgz", + "integrity": "sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.46.2", + "@rollup/rollup-android-arm64": "4.46.2", + "@rollup/rollup-darwin-arm64": "4.46.2", + "@rollup/rollup-darwin-x64": "4.46.2", + "@rollup/rollup-freebsd-arm64": "4.46.2", + "@rollup/rollup-freebsd-x64": "4.46.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.46.2", + "@rollup/rollup-linux-arm-musleabihf": "4.46.2", + "@rollup/rollup-linux-arm64-gnu": "4.46.2", + "@rollup/rollup-linux-arm64-musl": "4.46.2", + "@rollup/rollup-linux-loongarch64-gnu": "4.46.2", + "@rollup/rollup-linux-ppc64-gnu": "4.46.2", + "@rollup/rollup-linux-riscv64-gnu": "4.46.2", + "@rollup/rollup-linux-riscv64-musl": "4.46.2", + "@rollup/rollup-linux-s390x-gnu": "4.46.2", + "@rollup/rollup-linux-x64-gnu": "4.46.2", + "@rollup/rollup-linux-x64-musl": "4.46.2", + "@rollup/rollup-win32-arm64-msvc": "4.46.2", + "@rollup/rollup-win32-ia32-msvc": "4.46.2", + "@rollup/rollup-win32-x64-msvc": "4.46.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup/node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.46.2.tgz", + "integrity": "sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tabbable": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" + }, + "node_modules/tailwind-merge": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.1.tgz", + "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.12.tgz", + "integrity": "sha512-DzFtxOi+7NsFf7DBtI3BJsynR+0Yp6etH+nRPTbpWnS2pZBaSksv/JGctNwSWzbFjp0vxSqknaUylseZqMDGrA==" + }, + "node_modules/tailwindcss-animate": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz", + "integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==", + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/tapable": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", + "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "dev": true, + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", + "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.39.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.39.1.tgz", + "integrity": "sha512-GDUv6/NDYngUlNvwaHM1RamYftxf782IyEDbdj3SeaIHHv8fNQVRC++fITT7kUJV/5rIA/tkoRSSskt6osEfqg==", + "dev": true, + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.39.1", + "@typescript-eslint/parser": "8.39.1", + "@typescript-eslint/typescript-estree": "8.39.1", + "@typescript-eslint/utils": "8.39.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "devOptional": true + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "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.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-callback-ref": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sync-external-store": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz", + "integrity": "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/vite": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.2.tgz", + "integrity": "sha512-J0SQBPlQiEXAF7tajiH+rUooJPo0l8KQgyg4/aMunNtrOa7bwuZJsJbDWzeljqQpgftxuq5yNJxQ91O9ts29UQ==", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.6", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.14" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite-plugin-full-reload": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-full-reload/-/vite-plugin-full-reload-1.2.0.tgz", + "integrity": "sha512-kz18NW79x0IHbxRSHm0jttP4zoO9P9gXh+n6UTwlNKnviTTEpOlum6oS9SmecrTtSr+muHEn5TUuC75UovQzcA==", + "dependencies": { + "picocolors": "^1.0.0", + "picomatch": "^2.3.1" + } + }, + "node_modules/vite/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "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/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/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "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": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..04e6b65 --- /dev/null +++ b/package.json @@ -0,0 +1,65 @@ +{ + "private": true, + "type": "module", + "scripts": { + "build": "vite build", + "build:ssr": "vite build && vite build --ssr", + "dev": "vite", + "format": "prettier --write resources/", + "format:check": "prettier --check resources/", + "lint": "eslint . --fix", + "types": "tsc --noEmit" + }, + "devDependencies": { + "@eslint/js": "^9.19.0", + "@laravel/vite-plugin-wayfinder": "^0.1.3", + "@types/node": "^22.13.5", + "eslint": "^9.17.0", + "eslint-config-prettier": "^10.0.1", + "eslint-plugin-react": "^7.37.3", + "eslint-plugin-react-hooks": "^5.1.0", + "prettier": "^3.4.2", + "prettier-plugin-organize-imports": "^4.1.0", + "prettier-plugin-tailwindcss": "^0.6.11", + "typescript-eslint": "^8.23.0" + }, + "dependencies": { + "@headlessui/react": "^2.2.0", + "@inertiajs/react": "^2.1.0", + "@radix-ui/react-avatar": "^1.1.3", + "@radix-ui/react-checkbox": "^1.1.4", + "@radix-ui/react-collapsible": "^1.1.3", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-dropdown-menu": "^2.1.6", + "@radix-ui/react-label": "^2.1.2", + "@radix-ui/react-navigation-menu": "^1.2.5", + "@radix-ui/react-select": "^2.1.6", + "@radix-ui/react-separator": "^1.1.2", + "@radix-ui/react-slot": "^1.1.2", + "@radix-ui/react-toggle": "^1.1.2", + "@radix-ui/react-toggle-group": "^1.1.2", + "@radix-ui/react-tooltip": "^1.1.8", + "@tailwindcss/vite": "^4.1.11", + "@types/react": "^19.0.3", + "@types/react-dom": "^19.0.2", + "@vitejs/plugin-react": "^4.6.0", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "concurrently": "^9.0.1", + "globals": "^15.14.0", + "laravel-vite-plugin": "^2.0", + "lucide-react": "^0.475.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "tailwind-merge": "^3.0.1", + "tailwindcss": "^4.0.0", + "tailwindcss-animate": "^1.0.7", + "typescript": "^5.7.2", + "vite": "^7.0.4" + }, + "optionalDependencies": { + "@rollup/rollup-linux-x64-gnu": "4.9.5", + "@tailwindcss/oxide-linux-x64-gnu": "^4.0.1", + "lightningcss-linux-x64-gnu": "^1.29.1" + } +} diff --git a/pages.txt b/pages.txt new file mode 100644 index 0000000..b1fb48e --- /dev/null +++ b/pages.txt @@ -0,0 +1,98 @@ +📱 PWA – Seitenübersicht +1. Landing / Einstieg + +Landingpage + +Eingabe Event-QR-Code oder PIN + +Button „Beitreten“ + +Name/Profil-Setup + +Nutzername (optional Avatar) eingeben + +Einmalig vor Eventeintritt + +2. Event-Hauptbereich + +Startseite (Home/Feed) + +Header: Eventtitel + Subheadline („Dein Fotospiel zur Hochzeit“) + +Info-Bar: Gäste online, erledigte Aufgaben + +Call-to-Actions: + +🎲 Aufgabe ziehen (zufällig) + +😊 Wie fühlst du dich? (emotionsbasiert) + +📸 Einfach ein Foto machen (kleiner Link) + +Galerie/Feed mit Fotos + ❤️ Likes + +Footer-Navigation + +3. Aufgaben-Flow + +Aufgaben-Picker + +Zufallsaufgabe oder Emotion wählen + +Aufgaben-Detail (Karte) + +Aufgabe, Emoji-Tag, Dauer, Gruppengröße + +Aktionen: Foto machen, neue Aufgabe, Stimmung wechseln + +4. Foto-Interaktion + +Kamera/Upload + +Foto aufnehmen oder hochladen + +Bestätigung: „Foto hochgeladen 🎉“ + +Galerie (Übersicht) + +Kachel- oder Feed-Ansicht + +Filter: Neueste / Beliebt / Meine + +❤️ Like-Funktion + +Foto-Detailansicht + +Vollbild-Foto + +Likes/Reaktionen + +Verknüpfte Aufgabe + Urheber + +5. Motivation & Spiel + +Achievements / Erfolge + +Badges (z. B. „Erstes Foto 🎊“, „5 Aufgaben 🏅“, „Beliebtestes Foto 🔥“) + +Persönlicher Fortschritt + +6. Optionale Ergänzungen + +Slideshow / Präsentationsmodus + +Automatische Galerie-Anzeige für Beamer/TV + +Onboarding / Erklärseite + +1–2 Screens: „So funktioniert das Spiel“ + +Admin-/Host-Seite + +Moderation, Inhalte hervorheben oder löschen + +Event-Abschluss + +„Danke fürs Mitmachen ❤️“ + +Download-Link oder QR-Code zur Galerie \ No newline at end of file diff --git a/phpunit.xml b/phpunit.xml new file mode 100644 index 0000000..61c031c --- /dev/null +++ b/phpunit.xml @@ -0,0 +1,33 @@ + + + + + tests/Unit + + + tests/Feature + + + + + app + + + + + + + + + + + + + + + + diff --git a/public/.htaccess b/public/.htaccess new file mode 100644 index 0000000..b574a59 --- /dev/null +++ b/public/.htaccess @@ -0,0 +1,25 @@ + + + Options -MultiViews -Indexes + + + RewriteEngine On + + # Handle Authorization Header + RewriteCond %{HTTP:Authorization} . + RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + + # Handle X-XSRF-Token Header + RewriteCond %{HTTP:x-xsrf-token} . + RewriteRule .* - [E=HTTP_X_XSRF_TOKEN:%{HTTP:X-XSRF-Token}] + + # Redirect Trailing Slashes If Not A Folder... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_URI} (.+)/$ + RewriteRule ^ %1 [L,R=301] + + # Send Requests To Front Controller... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ index.php [L] + diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c2efef6de4482ad4ec770787891fb3ab7f7b1f58 GIT binary patch literal 1662 zcmV-^27&pBP)40{{R3XI2D70000&P)t-s00030 zFd+XeApb8Q|1BW@E+GFcApbBR|1Kc^Eg=6bApb5P|1Kc^EFk|aApa~N|1BW@Eg=6e zApb5P|1BW@Eg&n7Ql0<+02OpnPE!CNzd)dXU=ZKm?|<)rkZ`ZhFmF)fpgb%900q`b zL_t(|+U%Oqj+-zLMaMYBBrGf>;s1ZNY7`jIiI_O8!Rm4!Tgf`>xtSR*$bTdkB!69t zVK_O-TcI8P=u%70x?P5+&ZXoke;#Hk@~pfohJ~`UXs9Q;_B2)gTk?{cvbc)et1K<* zr+Qaj9xAKsDzB#eYQpr7r@Sm0>dVCQfKCB0Kf{y|EP9n~<+TZwVye09V$sm9n9{PSY^C}VzXiE}GC#|%c)PWA z!&5y>`JP4VkDV6b8$Z_jJJu@A$QeFse^IT?qj=G4l>4y#(Kj|Guiq{iFk{=Fwl*76 z)xQ4|>IRkjy#1lI8JM_!yJWG>8ZJNf8dXXx zrk~GbPG4tWE+u0Q(BCgl#w@cPJ5nx)T9MuG26Ggy6OkTfT zvPjI^>P)^G7FA5^`aMfVOxu)|x2A9549ulPjgm!RI{t-}!yN(BSbnfZ0rTAmB^Yxa z0ShsC{k=0v223kLF@%7Hn5rZ4wL=GnpitveraoqSfe(_EIcO5du!CjnDf@wtxv3e z-u^bn6xYI{>k~_4b4*0{)`LMCWEV`GECi(~y~rMz#`428YDY}1JOdWj&DW^?F-Ib; zJl{lRfw{1#A0resWj2_y2v`;oie!a3x9HrIxnXL+G9OMEVvZJ7Q)Y@O(#)P#Gsb*Y zz6+8!=6Lpjd0-xx2j+o!U>=wU<`2TWpY@?U`fOKhgXs$-hQ`^*57T3Y7GFKsXEUm) zBmpLJD?F4LXCptnrod!)-s4>q&NlMH1ep8=0k2DW_S$RM1ei2s8;}?pXCpsMfQj(j zNDOf{^1}p}D=)N>81ii9hY2uO&CkS;XEQ%chDr0UB!)N}`C$S~^BV*vhRd^&A11-1 z`R$K=!+176!AgetySX#KX&8o~XtND<+Gs@?_dhEVl?dUf^KAF4`3KmZ#1o5M$8F`` z3P!Tl&&CLr3Ul6+|GA>4A2dj*!Zf~z9YX~DLkTA3XY8i74zs-cJ)DTceLfYYA-}08 zCfNm;#x)M#D5naO^M{f7;@Z>}U}BCre7ypnoy1IDM_|xHKkNy25-bsNjhURKb+p6ga^RJ>eNU6hI2E^Ow5A+W|JeZDC8Wqj7Y8Fr9@Uvc=cY`i& zDS4WCQI*lV*os&Gro@tzcjHTqy#y%$-R|Mc0;Z=P9R-{!<>DZ*bg~pkU*-o&W#<07*qo IM6N<$f;hnhc>n+a literal 0 HcmV?d00001 diff --git a/public/css/filament/filament/app.css b/public/css/filament/filament/app.css new file mode 100644 index 0000000..0c2b89b --- /dev/null +++ b/public/css/filament/filament/app.css @@ -0,0 +1,2 @@ +/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-tracking:initial;--tw-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-ease:initial;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-x-reverse:0;--tw-content:"";--tw-outline-style:solid;--tw-space-x-reverse:0}}}@layer theme{:root,:host{--font-mono:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-sky-400:oklch(74.6% .16 232.661);--color-gray-100:var(--gray-100);--color-gray-200:var(--gray-200);--color-gray-300:var(--gray-300);--color-gray-400:var(--gray-400);--color-gray-500:var(--gray-500);--color-gray-600:var(--gray-600);--color-gray-700:var(--gray-700);--color-gray-900:var(--gray-900);--color-gray-950:var(--gray-950);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-3xs:16rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--leading-loose:2;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--default-mono-font-family:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-primary-400:var(--primary-400)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}:root.dark{color-scheme:dark}[data-field-wrapper]{scroll-margin-top:8rem}}@layer components{.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{color:#fff;white-space:normal;background-color:#333;border-radius:4px;outline:0;font-size:14px;line-height:1.4;transition-property:transform,visibility,opacity;position:relative}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{border-width:8px 8px 0;border-top-color:initial;transform-origin:top;bottom:-7px;left:0}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{border-width:0 8px 8px;border-bottom-color:initial;transform-origin:bottom;top:-7px;left:0}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;transform-origin:0;right:-7px}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:100%;left:-7px}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{color:#333;width:16px;height:16px}.tippy-arrow:before{content:"";border-style:solid;border-color:#0000;position:absolute}.tippy-content{z-index:1;padding:5px 9px;position:relative}.tippy-box[data-theme~=light]{color:#26323d;background-color:#fff;box-shadow:0 0 20px 4px #9aa1b126,0 4px 80px -8px #24282f40,0 4px 4px -2px #5b5e6926}.tippy-box[data-theme~=light][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff}.tippy-box[data-theme~=light][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff}.tippy-box[data-theme~=light]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light]>.tippy-svg-arrow{fill:#fff}.fi-avatar{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8);border-radius:var(--radius-md);object-fit:cover;object-position:center}.fi-avatar.fi-circular{border-radius:3.40282e38px}.fi-avatar.fi-size-sm{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.fi-avatar.fi-size-lg{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.fi-badge{justify-content:center;align-items:center;column-gap:calc(var(--spacing)*1);border-radius:var(--radius-md);background-color:var(--gray-50);min-width:1.5rem;padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-600);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-600);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.fi-badge{--tw-ring-color:color-mix(in oklab,var(--gray-600)10%,transparent)}}.fi-badge{--tw-ring-inset:inset}.fi-badge:where(.dark,.dark *){background-color:var(--gray-400)}@supports (color:color-mix(in lab, red, red)){.fi-badge:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-400)10%,transparent)}}.fi-badge:where(.dark,.dark *){color:var(--gray-200);--tw-ring-color:var(--gray-400)}@supports (color:color-mix(in lab, red, red)){.fi-badge:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--gray-400)20%,transparent)}}.fi-badge:not(.fi-wrapped){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fi-badge.fi-disabled,.fi-badge[disabled]{cursor:default;opacity:.7}:is(.fi-badge.fi-disabled,.fi-badge[disabled]):not([x-tooltip]){pointer-events:none}.fi-badge .fi-badge-label-ctn{display:grid}.fi-badge .fi-badge-label.fi-wrapped{text-wrap:wrap;word-break:break-word}.fi-badge .fi-badge-label:not(.fi-wrapped){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fi-badge .fi-icon{flex-shrink:0}.fi-badge.fi-size-xs{min-width:1rem;padding-inline:calc(var(--spacing)*.5);padding-block:calc(var(--spacing)*0);--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.fi-badge.fi-size-sm{min-width:1.25rem;padding-inline:calc(var(--spacing)*1.5);padding-block:calc(var(--spacing)*.5);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.fi-badge.fi-color{background-color:var(--color-50);color:var(--text);--tw-ring-color:var(--color-600)}@supports (color:color-mix(in lab, red, red)){.fi-badge.fi-color{--tw-ring-color:color-mix(in oklab,var(--color-600)10%,transparent)}}.fi-badge.fi-color:where(.dark,.dark *){background-color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){.fi-badge.fi-color:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-400)10%,transparent)}}.fi-badge.fi-color:where(.dark,.dark *){color:var(--dark-text);--tw-ring-color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){.fi-badge.fi-color:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-400)30%,transparent)}}.fi-badge.fi-color .fi-badge-delete-btn>.fi-icon{color:var(--color-700)}@supports (color:color-mix(in lab, red, red)){.fi-badge.fi-color .fi-badge-delete-btn>.fi-icon{color:color-mix(in oklab,var(--color-700)50%,transparent)}}.fi-badge.fi-color .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *){color:var(--color-300)}@supports (color:color-mix(in lab, red, red)){.fi-badge.fi-color .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *){color:color-mix(in oklab,var(--color-300)50%,transparent)}}.fi-badge:not(.fi-color) .fi-icon{color:var(--gray-400)}.fi-badge:not(.fi-color) .fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-badge .fi-badge-delete-btn{margin-block:calc(var(--spacing)*-1);padding:calc(var(--spacing)*1);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;--tw-outline-style:none;outline-style:none;justify-content:center;align-items:center;margin-inline-start:calc(var(--spacing)*-1);margin-inline-end:calc(var(--spacing)*-2);transition-duration:75ms;display:flex}.fi-badge .fi-badge-delete-btn>.fi-icon{color:var(--gray-700)}@supports (color:color-mix(in lab, red, red)){.fi-badge .fi-badge-delete-btn>.fi-icon{color:color-mix(in oklab,var(--gray-700)50%,transparent)}}.fi-badge .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *){color:var(--gray-300)}@supports (color:color-mix(in lab, red, red)){.fi-badge .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *){color:color-mix(in oklab,var(--gray-300)50%,transparent)}}.fi-badge:not(.fi-disabled):not([disabled]) .fi-badge-delete-btn>.fi-icon:focus-visible{color:var(--gray-700)}@supports (color:color-mix(in lab, red, red)){.fi-badge:not(.fi-disabled):not([disabled]) .fi-badge-delete-btn>.fi-icon:focus-visible{color:color-mix(in oklab,var(--gray-700)75%,transparent)}}@media (hover:hover){.fi-badge:not(.fi-disabled):not([disabled]) .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *):hover{color:var(--gray-300)}@supports (color:color-mix(in lab, red, red)){.fi-badge:not(.fi-disabled):not([disabled]) .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *):hover{color:color-mix(in oklab,var(--gray-300)75%,transparent)}}}.fi-badge:not(.fi-disabled):not([disabled]) .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *):focus-visible{color:var(--gray-300)}@supports (color:color-mix(in lab, red, red)){.fi-badge:not(.fi-disabled):not([disabled]) .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *):focus-visible{color:color-mix(in oklab,var(--gray-300)75%,transparent)}}@media (hover:hover){.fi-badge:not(.fi-disabled):not([disabled]).fi-color .fi-badge-delete-btn>.fi-icon:hover{color:var(--color-700)}@supports (color:color-mix(in lab, red, red)){.fi-badge:not(.fi-disabled):not([disabled]).fi-color .fi-badge-delete-btn>.fi-icon:hover{color:color-mix(in oklab,var(--color-700)75%,transparent)}}}.fi-badge:not(.fi-disabled):not([disabled]).fi-color .fi-badge-delete-btn>.fi-icon:focus-visible{color:var(--color-700)}@supports (color:color-mix(in lab, red, red)){.fi-badge:not(.fi-disabled):not([disabled]).fi-color .fi-badge-delete-btn>.fi-icon:focus-visible{color:color-mix(in oklab,var(--color-700)75%,transparent)}}@media (hover:hover){.fi-badge:not(.fi-disabled):not([disabled]).fi-color .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *):hover{color:var(--color-300)}@supports (color:color-mix(in lab, red, red)){.fi-badge:not(.fi-disabled):not([disabled]).fi-color .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *):hover{color:color-mix(in oklab,var(--color-300)75%,transparent)}}}.fi-badge:not(.fi-disabled):not([disabled]).fi-color .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *):focus-visible{color:var(--color-300)}@supports (color:color-mix(in lab, red, red)){.fi-badge:not(.fi-disabled):not([disabled]).fi-color .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *):focus-visible{color:color-mix(in oklab,var(--color-300)75%,transparent)}}.fi-breadcrumbs ol{align-items:center;column-gap:calc(var(--spacing)*2);flex-wrap:wrap;display:flex}.fi-breadcrumbs ol li{align-items:center;column-gap:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-500);display:flex}.fi-breadcrumbs ol li:where(.dark,.dark *){color:var(--gray-400)}.fi-breadcrumbs ol li a{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}@media (hover:hover){.fi-breadcrumbs ol li a:hover{color:var(--gray-700)}.fi-breadcrumbs ol li a:where(.dark,.dark *):hover{color:var(--gray-200)}}.fi-breadcrumbs ol li .fi-icon{color:var(--gray-400);display:flex}.fi-breadcrumbs ol li .fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-breadcrumbs ol li .fi-icon.fi-ltr:where(:dir(rtl),[dir=rtl],[dir=rtl] *),.fi-breadcrumbs ol li .fi-icon.fi-rtl:where(:dir(ltr),[dir=ltr],[dir=ltr] *){display:none}.fi-btn{justify-content:center;align-items:center;gap:calc(var(--spacing)*1.5);border-radius:var(--radius-lg);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;--tw-outline-style:none;outline-style:none;grid-auto-flow:column;transition-duration:75ms;display:inline-grid;position:relative}.fi-btn:not(.fi-disabled):not([disabled]):focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-btn.fi-disabled,.fi-btn[disabled]{cursor:default;opacity:.7}:is(.fi-btn.fi-disabled,.fi-btn[disabled]):not([x-tooltip]){pointer-events:none}.fi-btn>.fi-icon{color:var(--gray-400);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}.fi-btn>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-btn.fi-size-xs{gap:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1.5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fi-btn.fi-size-sm{gap:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*2.5);padding-block:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.fi-btn.fi-size-lg{gap:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*3.5);padding-block:calc(var(--spacing)*2.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.fi-btn.fi-size-xl{gap:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.fi-btn.fi-outlined{color:var(--gray-950);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-300)}.fi-btn.fi-outlined:where(.dark,.dark *){color:var(--color-white);--tw-ring-color:var(--gray-700)}@media (hover:hover){.fi-btn.fi-outlined:not(.fi-disabled):not([disabled]):hover{background-color:var(--gray-400)}@supports (color:color-mix(in lab, red, red)){.fi-btn.fi-outlined:not(.fi-disabled):not([disabled]):hover{background-color:color-mix(in oklab,var(--gray-400)10%,transparent)}}}.fi-btn.fi-outlined:not(.fi-disabled):not([disabled]):focus-visible{--tw-ring-color:var(--gray-400)}@supports (color:color-mix(in lab, red, red)){.fi-btn.fi-outlined:not(.fi-disabled):not([disabled]):focus-visible{--tw-ring-color:color-mix(in oklab,var(--gray-400)40%,transparent)}}.fi-btn.fi-outlined.fi-color{color:var(--text);--tw-ring-color:var(--color-600)}.fi-btn.fi-outlined.fi-color:where(.dark,.dark *){color:var(--dark-text);--tw-ring-color:var(--color-500)}@media (hover:hover){.fi-btn.fi-outlined.fi-color:not(.fi-disabled):not([disabled]):hover{background-color:var(--color-500)}@supports (color:color-mix(in lab, red, red)){.fi-btn.fi-outlined.fi-color:not(.fi-disabled):not([disabled]):hover{background-color:color-mix(in oklab,var(--color-500)10%,transparent)}}}.fi-btn.fi-outlined.fi-color:not(.fi-disabled):not([disabled]):focus-visible{--tw-ring-color:var(--color-500)}@supports (color:color-mix(in lab, red, red)){.fi-btn.fi-outlined.fi-color:not(.fi-disabled):not([disabled]):focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-500)40%,transparent)}}@media (hover:hover){.fi-btn.fi-outlined.fi-color:not(.fi-disabled):not([disabled]):where(.dark,.dark *):hover{background-color:var(--color-600)}@supports (color:color-mix(in lab, red, red)){.fi-btn.fi-outlined.fi-color:not(.fi-disabled):not([disabled]):where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-600)10%,transparent)}}}.fi-btn.fi-outlined.fi-color:not(.fi-disabled):not([disabled]):where(.dark,.dark *):focus-visible{--tw-ring-color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){.fi-btn.fi-outlined.fi-color:not(.fi-disabled):not([disabled]):where(.dark,.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-400)40%,transparent)}}.fi-btn.fi-outlined.fi-color>.fi-icon{color:var(--color-600)}.fi-btn.fi-outlined.fi-color>.fi-icon:where(.dark,.dark *){color:var(--color-400)}.fi-btn:not(.fi-outlined){background-color:var(--color-white);color:var(--gray-950)}.fi-btn:not(.fi-outlined):where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-btn:not(.fi-outlined):where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-btn:not(.fi-outlined):where(.dark,.dark *){color:var(--color-white)}@media (hover:hover){.fi-btn:not(.fi-outlined):not(.fi-disabled):not([disabled]):hover{background-color:var(--gray-50)}.fi-btn:not(.fi-outlined):not(.fi-disabled):not([disabled]):where(.dark,.dark *):hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-btn:not(.fi-outlined):not(.fi-disabled):not([disabled]):where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}}input:checked+label.fi-btn:not(.fi-outlined){background-color:var(--gray-400);color:var(--color-white);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input:checked+label.fi-btn:not(.fi-outlined):where(.dark,.dark *){background-color:var(--gray-600)}@media (hover:hover){input:checked+label.fi-btn:not(.fi-outlined):not(.fi-disabled):not([disabled]):hover{background-color:var(--gray-300)}input:checked+label.fi-btn:not(.fi-outlined):not(.fi-disabled):not([disabled]):where(.dark,.dark *):hover{background-color:var(--gray-500)}}.fi-btn:not(.fi-outlined).fi-color:not(label){background-color:var(--bg);color:var(--text)}.fi-btn:not(.fi-outlined).fi-color:not(label):where(.dark,.dark *){background-color:var(--dark-bg);color:var(--dark-text)}@media (hover:hover){.fi-btn:not(.fi-outlined).fi-color:not(label):not(.fi-disabled):not([disabled]):hover{background-color:var(--hover-bg);color:var(--hover-text)}}.fi-btn:not(.fi-outlined).fi-color:not(label):not(.fi-disabled):not([disabled]):focus-visible{--tw-ring-color:var(--color-500)}@supports (color:color-mix(in lab, red, red)){.fi-btn:not(.fi-outlined).fi-color:not(label):not(.fi-disabled):not([disabled]):focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-500)50%,transparent)}}@media (hover:hover){.fi-btn:not(.fi-outlined).fi-color:not(label):not(.fi-disabled):not([disabled]):where(.dark,.dark *):hover{background-color:var(--dark-hover-bg);color:var(--dark-hover-text)}}.fi-btn:not(.fi-outlined).fi-color:not(label):not(.fi-disabled):not([disabled]):where(.dark,.dark *):focus-visible{--tw-ring-color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){.fi-btn:not(.fi-outlined).fi-color:not(label):not(.fi-disabled):not([disabled]):where(.dark,.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-400)50%,transparent)}}.fi-btn:not(.fi-outlined).fi-color:not(label)>.fi-icon{color:var(--text)}.fi-btn:not(.fi-outlined).fi-color:not(label)>.fi-icon:where(.dark,.dark *){color:var(--dark-text)}input:checked+:is(label.fi-btn:not(.fi-outlined).fi-color){background-color:var(--bg);color:var(--text);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input:checked+:is(label.fi-btn:not(.fi-outlined).fi-color):where(.dark,.dark *){background-color:var(--dark-bg);color:var(--dark-text)}@media (hover:hover){input:checked+label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled]):hover{background-color:var(--hover-bg);color:var(--hover-text)}input:checked+label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled]):where(.dark,.dark *):hover{background-color:var(--dark-hover-bg);color:var(--dark-hover-text)}}input:focus-visible+label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled]){z-index:10;--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){input:focus-visible+label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled]){--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}input:focus-visible+label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled]):where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){input:focus-visible+label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled]):where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}input:checked:focus-visible+label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled]){--tw-ring-color:var(--color-500)}@supports (color:color-mix(in lab, red, red)){input:checked:focus-visible+label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled]){--tw-ring-color:color-mix(in oklab,var(--color-500)50%,transparent)}}input:checked:focus-visible+label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled]):where(.dark,.dark *){--tw-ring-color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){input:checked:focus-visible+label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled]):where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-400)50%,transparent)}}label.fi-btn{cursor:pointer}label.fi-btn>.fi-icon:is(:checked+label>.fi-icon){color:var(--text)}label.fi-btn>.fi-icon:is(:checked+label>.fi-icon):where(.dark,.dark *){color:var(--dark-text)}.fi-btn:not(.fi-color),label.fi-btn{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-btn:not(.fi-color),label.fi-btn{--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}:is(.fi-btn:not(.fi-color),label.fi-btn):where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){:is(.fi-btn:not(.fi-color),label.fi-btn):where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-btn.fi-labeled-from-sm,.fi-btn.fi-labeled-from-md,.fi-btn.fi-labeled-from-lg,.fi-btn.fi-labeled-from-xl,.fi-btn.fi-labeled-from-2xl{display:none}@media (min-width:40rem){.fi-btn.fi-labeled-from-sm{display:inline-grid}}@media (min-width:48rem){.fi-btn.fi-labeled-from-md{display:inline-grid}}@media (min-width:64rem){.fi-btn.fi-labeled-from-lg{display:inline-grid}}@media (min-width:80rem){.fi-btn.fi-labeled-from-xl{display:inline-grid}}@media (min-width:96rem){.fi-btn.fi-labeled-from-2xl{display:inline-grid}}.fi-btn .fi-btn-badge-ctn{inset-inline-start:100%;top:calc(var(--spacing)*0);z-index:1;--tw-translate-x:calc(calc(1/2*100%)*-1);width:max-content;translate:var(--tw-translate-x)var(--tw-translate-y);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);border-radius:var(--radius-md);background-color:var(--color-white);position:absolute}.fi-btn .fi-btn-badge-ctn:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(1/2*100%);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-btn .fi-btn-badge-ctn:where(.dark,.dark *){background-color:var(--gray-900)}.fi-btn-group{border-radius:var(--radius-lg);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);grid-auto-flow:column;display:grid}@supports (color:color-mix(in lab, red, red)){.fi-btn-group{--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}.fi-btn-group:where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-btn-group:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-btn-group>.fi-btn{border-radius:0;flex:1}.fi-btn-group>.fi-btn:nth-child(1 of .fi-btn){border-start-start-radius:var(--radius-lg);border-end-start-radius:var(--radius-lg)}.fi-btn-group>.fi-btn:nth-last-child(1 of .fi-btn){border-start-end-radius:var(--radius-lg);border-end-end-radius:var(--radius-lg)}.fi-btn-group>.fi-btn:not(:nth-child(1 of .fi-btn)){--tw-shadow:-1px 0 0 0 var(--tw-shadow-color,var(--color-gray-200));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-btn-group>.fi-btn:not(:nth-child(1 of .fi-btn)):where(.dark,.dark *){--tw-shadow:-1px 0 0 0 var(--tw-shadow-color,#fff3);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-btn-group>.fi-btn:not(:nth-last-child(1 of .fi-btn)){margin-inline-end:1px}.fi-btn-group>.fi-btn.fi-processing:enabled{cursor:wait;opacity:.7}.fi-btn-group>.fi-btn:not(.fi-outlined){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-btn-group>.fi-btn:not(.fi-color),label:is(.fi-btn-group>.fi-btn){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-dropdown-header{gap:calc(var(--spacing)*2);width:100%;padding:calc(var(--spacing)*3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);display:flex}.fi-dropdown-header .fi-icon{color:var(--gray-400)}.fi-dropdown-header .fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-dropdown-header span{text-overflow:ellipsis;white-space:nowrap;text-align:start;color:var(--gray-700);flex:1;overflow:hidden}.fi-dropdown-header span:where(.dark,.dark *){color:var(--gray-200)}.fi-dropdown-header.fi-color .fi-icon{color:var(--color-500)}.fi-dropdown-header.fi-color .fi-icon:where(.dark,.dark *){color:var(--color-400)}.fi-dropdown-header.fi-color span{color:var(--text)}.fi-dropdown-header.fi-color span:where(.dark,.dark *){color:var(--dark-text)}:scope .fi-dropdown-trigger{cursor:pointer;display:flex}:scope .fi-dropdown-panel{z-index:10;border-radius:var(--radius-lg);background-color:var(--color-white);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);width:100vw;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);position:absolute;max-width:14rem!important}@supports (color:color-mix(in lab, red, red)){:scope .fi-dropdown-panel{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}:scope .fi-dropdown-panel{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}:scope .fi-dropdown-panel:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:scope .fi-dropdown-panel:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}:where(:scope .fi-dropdown-panel:not(.fi-dropdown-list)>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-100)}:where(:scope .fi-dropdown-panel:not(.fi-dropdown-list):where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(:scope .fi-dropdown-panel:not(.fi-dropdown-list):where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}:scope .fi-dropdown-panel.fi-opacity-0{opacity:0}:scope .fi-dropdown-panel.fi-width-xs{max-width:var(--container-xs)!important}:scope .fi-dropdown-panel.fi-width-sm{max-width:var(--container-sm)!important}:scope .fi-dropdown-panel.fi-width-md{max-width:var(--container-md)!important}:scope .fi-dropdown-panel.fi-width-lg{max-width:var(--container-lg)!important}:scope .fi-dropdown-panel.fi-width-xl{max-width:var(--container-xl)!important}:scope .fi-dropdown-panel.fi-width-2xl{max-width:var(--container-2xl)!important}:scope .fi-dropdown-panel.fi-width-3xl{max-width:var(--container-3xl)!important}:scope .fi-dropdown-panel.fi-width-4xl{max-width:var(--container-4xl)!important}:scope .fi-dropdown-panel.fi-width-5xl{max-width:var(--container-5xl)!important}:scope .fi-dropdown-panel.fi-width-6xl{max-width:var(--container-6xl)!important}:scope .fi-dropdown-panel.fi-width-7xl{max-width:var(--container-7xl)!important}:scope .fi-dropdown-panel.fi-scrollable{overflow-y:auto}.fi-dropdown-list{padding:calc(var(--spacing)*1);gap:1px;display:grid}.fi-dropdown-list-item{align-items:center;gap:calc(var(--spacing)*2);border-radius:var(--radius-md);width:100%;padding:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));white-space:nowrap;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;--tw-outline-style:none;outline-style:none;transition-duration:75ms;display:flex;overflow:hidden}@media (hover:hover){.fi-dropdown-list-item:not(.fi-disabled):not([disabled]):hover{background-color:var(--gray-50)}}.fi-dropdown-list-item:not(.fi-disabled):not([disabled]):focus-visible{background-color:var(--gray-50)}@media (hover:hover){.fi-dropdown-list-item:not(.fi-disabled):not([disabled]):where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-dropdown-list-item:not(.fi-disabled):not([disabled]):where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-dropdown-list-item:not(.fi-disabled):not([disabled]):where(.dark,.dark *):focus-visible{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-dropdown-list-item:not(.fi-disabled):not([disabled]):where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-dropdown-list-item:not(.fi-disabled):not([disabled]).fi-selected{background-color:var(--gray-50)}.fi-dropdown-list-item:not(.fi-disabled):not([disabled]).fi-selected:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-dropdown-list-item:not(.fi-disabled):not([disabled]).fi-selected:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-dropdown-list-item.fi-disabled,.fi-dropdown-list-item[disabled]{cursor:default;opacity:.7}:is(.fi-dropdown-list-item.fi-disabled,.fi-dropdown-list-item[disabled]):not([x-tooltip]){pointer-events:none}.fi-dropdown-list-item .fi-icon{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}.fi-dropdown-list-item .fi-dropdown-list-item-image{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5);background-position:50%;background-size:cover;border-radius:3.40282e38px}.fi-dropdown-list-item>.fi-icon{color:var(--gray-400)}.fi-dropdown-list-item>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-dropdown-list-item>.fi-icon.fi-color{color:var(--color-500)}.fi-dropdown-list-item>.fi-icon.fi-color:where(.dark,.dark *){color:var(--color-400)}@media (hover:hover){.fi-dropdown-list-item.fi-color:not(.fi-disabled):not([disabled]):hover{background-color:var(--color-50)}}.fi-dropdown-list-item.fi-color:not(.fi-disabled):not([disabled]):focus-visible{background-color:var(--color-50)}@media (hover:hover){.fi-dropdown-list-item.fi-color:not(.fi-disabled):not([disabled]):where(.dark,.dark *):hover{background-color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){.fi-dropdown-list-item.fi-color:not(.fi-disabled):not([disabled]):where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-400)10%,transparent)}}}.fi-dropdown-list-item.fi-color:not(.fi-disabled):not([disabled]):where(.dark,.dark *):focus-visible{background-color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){.fi-dropdown-list-item.fi-color:not(.fi-disabled):not([disabled]):where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-400)10%,transparent)}}.fi-dropdown-list-item.fi-color:not(.fi-disabled):not([disabled]).fi-selected{background-color:var(--color-50)}.fi-dropdown-list-item.fi-color:not(.fi-disabled):not([disabled]).fi-selected:where(.dark,.dark *){background-color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){.fi-dropdown-list-item.fi-color:not(.fi-disabled):not([disabled]).fi-selected:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-400)10%,transparent)}}.fi-dropdown-list-item.fi-color .fi-dropdown-list-item-label{color:var(--text)}@media (hover:hover){.fi-dropdown-list-item.fi-color .fi-dropdown-list-item-label:hover{color:var(--hover-text)}}.fi-dropdown-list-item.fi-color .fi-dropdown-list-item-label:where(.dark,.dark *){color:var(--dark-text)}@media (hover:hover){.fi-dropdown-list-item.fi-color .fi-dropdown-list-item-label:where(.dark,.dark *):hover{color:var(--dark-hover-text)}}.fi-dropdown-list-item.fi-color .fi-dropdown-list-item-label.fi-selected{color:var(--hover-text)}.fi-dropdown-list-item.fi-color .fi-dropdown-list-item-label.fi-selected:where(.dark,.dark *){color:var(--dark-hover-text)}.fi-dropdown-list-item .fi-badge{min-width:1.25rem;padding-inline:calc(var(--spacing)*1.5);padding-block:calc(var(--spacing)*.5);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.fi-dropdown-list-item-label{text-overflow:ellipsis;white-space:nowrap;text-align:start;color:var(--gray-700);flex:1;overflow:hidden}.fi-dropdown-list-item-label:where(.dark,.dark *){color:var(--gray-200)}.fi-fieldset>legend{padding-inline:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950);margin-inline-start:calc(var(--spacing)*-2)}.fi-fieldset>legend:where(.dark,.dark *){color:var(--color-white)}.fi-fieldset>legend .fi-fieldset-label-required-mark{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--danger-600)}.fi-fieldset>legend .fi-fieldset-label-required-mark:where(.dark,.dark *){color:var(--danger-400)}.fi-fieldset.fi-fieldset-label-hidden>legend{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fi-fieldset:not(.fi-fieldset-not-contained){border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--gray-200);padding:calc(var(--spacing)*6)}.fi-fieldset:not(.fi-fieldset-not-contained):where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fieldset:not(.fi-fieldset-not-contained):where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fieldset.fi-fieldset-not-contained{padding-top:calc(var(--spacing)*6)}.fi-grid:not(.fi-grid-direction-col){grid-template-columns:var(--cols-default);display:grid}@media (min-width:40rem){.fi-grid:not(.fi-grid-direction-col).sm\:fi-grid-cols{grid-template-columns:var(--cols-sm)}}@media (min-width:48rem){.fi-grid:not(.fi-grid-direction-col).md\:fi-grid-cols{grid-template-columns:var(--cols-md)}}@media (min-width:64rem){.fi-grid:not(.fi-grid-direction-col).lg\:fi-grid-cols{grid-template-columns:var(--cols-lg)}}@media (min-width:80rem){.fi-grid:not(.fi-grid-direction-col).xl\:fi-grid-cols{grid-template-columns:var(--cols-xl)}}@media (min-width:96rem){.fi-grid:not(.fi-grid-direction-col).\32 xl\:fi-grid-cols{grid-template-columns:var(--cols-2xl)}}@supports (container-type:inline-size){@container (min-width:16rem){.fi-grid:not(.fi-grid-direction-col).\@3xs\:fi-grid-cols{grid-template-columns:var(--cols-c3xs)}}@container (min-width:18rem){.fi-grid:not(.fi-grid-direction-col).\@2xs\:fi-grid-cols{grid-template-columns:var(--cols-c2xs)}}@container (min-width:20rem){.fi-grid:not(.fi-grid-direction-col).\@xs\:fi-grid-cols{grid-template-columns:var(--cols-cxs)}}@container (min-width:24rem){.fi-grid:not(.fi-grid-direction-col).\@sm\:fi-grid-cols{grid-template-columns:var(--cols-csm)}}@container (min-width:28rem){.fi-grid:not(.fi-grid-direction-col).\@md\:fi-grid-cols{grid-template-columns:var(--cols-cmd)}}@container (min-width:32rem){.fi-grid:not(.fi-grid-direction-col).\@lg\:fi-grid-cols{grid-template-columns:var(--cols-clg)}}@container (min-width:36rem){.fi-grid:not(.fi-grid-direction-col).\@xl\:fi-grid-cols{grid-template-columns:var(--cols-cxl)}}@container (min-width:42rem){.fi-grid:not(.fi-grid-direction-col).\@2xl\:fi-grid-cols{grid-template-columns:var(--cols-c2xl)}}@container (min-width:48rem){.fi-grid:not(.fi-grid-direction-col).\@3xl\:fi-grid-cols{grid-template-columns:var(--cols-c3xl)}}@container (min-width:56rem){.fi-grid:not(.fi-grid-direction-col).\@4xl\:fi-grid-cols{grid-template-columns:var(--cols-c4xl)}}@container (min-width:64rem){.fi-grid:not(.fi-grid-direction-col).\@5xl\:fi-grid-cols{grid-template-columns:var(--cols-c5xl)}}@container (min-width:72rem){.fi-grid:not(.fi-grid-direction-col).\@6xl\:fi-grid-cols{grid-template-columns:var(--cols-c6xl)}}@container (min-width:80rem){.fi-grid:not(.fi-grid-direction-col).\@7xl\:fi-grid-cols{grid-template-columns:var(--cols-c7xl)}}}@supports not (container-type:inline-size){@media (min-width:40rem){.fi-grid:not(.fi-grid-direction-col).\!\@sm\:fi-grid-cols{grid-template-columns:var(--cols-ncsm)}}@media (min-width:48rem){.fi-grid:not(.fi-grid-direction-col).\!\@md\:fi-grid-cols{grid-template-columns:var(--cols-ncmd)}}@media (min-width:64rem){.fi-grid:not(.fi-grid-direction-col).\!\@lg\:fi-grid-cols{grid-template-columns:var(--cols-nclg)}}@media (min-width:80rem){.fi-grid:not(.fi-grid-direction-col).\!\@xl\:fi-grid-cols{grid-template-columns:var(--cols-ncxl)}}@media (min-width:96rem){.fi-grid:not(.fi-grid-direction-col).\!\@2xl\:fi-grid-cols{grid-template-columns:var(--cols-nc2xl)}}}.fi-grid.fi-grid-direction-col{columns:var(--cols-default)}@media (min-width:40rem){.fi-grid.fi-grid-direction-col.sm\:fi-grid-cols{columns:var(--cols-sm)}}@media (min-width:48rem){.fi-grid.fi-grid-direction-col.md\:fi-grid-cols{columns:var(--cols-md)}}@media (min-width:64rem){.fi-grid.fi-grid-direction-col.lg\:fi-grid-cols{columns:var(--cols-lg)}}@media (min-width:80rem){.fi-grid.fi-grid-direction-col.xl\:fi-grid-cols{columns:var(--cols-xl)}}@media (min-width:96rem){.fi-grid.fi-grid-direction-col.\32 xl\:fi-grid-cols{columns:var(--cols-2xl)}}@supports (container-type:inline-size){@container (min-width:16rem){.fi-grid.fi-grid-direction-col.\@3xs\:fi-grid-cols{columns:var(--cols-c3xs)}}@container (min-width:18rem){.fi-grid.fi-grid-direction-col.\@2xs\:fi-grid-cols{columns:var(--cols-c2xs)}}@container (min-width:20rem){.fi-grid.fi-grid-direction-col.\@xs\:fi-grid-cols{columns:var(--cols-cxs)}}@container (min-width:24rem){.fi-grid.fi-grid-direction-col.\@sm\:fi-grid-cols{columns:var(--cols-csm)}}@container (min-width:28rem){.fi-grid.fi-grid-direction-col.\@md\:fi-grid-cols{columns:var(--cols-cmd)}}@container (min-width:32rem){.fi-grid.fi-grid-direction-col.\@lg\:fi-grid-cols{columns:var(--cols-clg)}}@container (min-width:36rem){.fi-grid.fi-grid-direction-col.\@xl\:fi-grid-cols{columns:var(--cols-cxl)}}@container (min-width:42rem){.fi-grid.fi-grid-direction-col.\@2xl\:fi-grid-cols{columns:var(--cols-c2xl)}}@container (min-width:48rem){.fi-grid.fi-grid-direction-col.\@3xl\:fi-grid-cols{columns:var(--cols-c3xl)}}@container (min-width:56rem){.fi-grid.fi-grid-direction-col.\@4xl\:fi-grid-cols{columns:var(--cols-c4xl)}}@container (min-width:64rem){.fi-grid.fi-grid-direction-col.\@5xl\:fi-grid-cols{columns:var(--cols-c5xl)}}@container (min-width:72rem){.fi-grid.fi-grid-direction-col.\@6xl\:fi-grid-cols{columns:var(--cols-c6xl)}}@container (min-width:80rem){.fi-grid.fi-grid-direction-col.\@7xl\:fi-grid-cols{columns:var(--cols-c7xl)}}}@supports not (container-type:inline-size){@media (min-width:40rem){.fi-grid.fi-grid-direction-col.\!\@sm\:fi-grid-cols{columns:var(--cols-ncsm)}}@media (min-width:48rem){.fi-grid.fi-grid-direction-col.\!\@md\:fi-grid-cols{columns:var(--cols-ncmd)}}@media (min-width:64rem){.fi-grid.fi-grid-direction-col.\!\@lg\:fi-grid-cols{columns:var(--cols-nclg)}}@media (min-width:80rem){.fi-grid.fi-grid-direction-col.\!\@xl\:fi-grid-cols{columns:var(--cols-ncxl)}}@media (min-width:96rem){.fi-grid.fi-grid-direction-col.\!\@2xl\:fi-grid-cols{columns:var(--cols-nc2xl)}}}@supports (container-type:inline-size){.fi-grid-ctn{container-type:inline-size}}.fi-grid-col{grid-column:var(--col-span-default)}@media (min-width:40rem){.fi-grid-col.sm\:fi-grid-col-span{grid-column:var(--col-span-sm)}}@media (min-width:48rem){.fi-grid-col.md\:fi-grid-col-span{grid-column:var(--col-span-md)}}@media (min-width:64rem){.fi-grid-col.lg\:fi-grid-col-span{grid-column:var(--col-span-lg)}}@media (min-width:80rem){.fi-grid-col.xl\:fi-grid-col-span{grid-column:var(--col-span-xl)}}@media (min-width:96rem){.fi-grid-col.\32 xl\:fi-grid-col-span{grid-column:var(--col-span-2xl)}}@supports (container-type:inline-size){@container (min-width:16rem){.fi-grid-col.\@3xs\:fi-grid-col-span{grid-column:var(--col-span-c3xs)}}@container (min-width:18rem){.fi-grid-col.\@2xs\:fi-grid-col-span{grid-column:var(--col-span-c2xs)}}@container (min-width:20rem){.fi-grid-col.\@xs\:fi-grid-col-span{grid-column:var(--col-span-cxs)}}@container (min-width:24rem){.fi-grid-col.\@sm\:fi-grid-col-span{grid-column:var(--col-span-csm)}}@container (min-width:28rem){.fi-grid-col.\@md\:fi-grid-col-span{grid-column:var(--col-span-cmd)}}@container (min-width:32rem){.fi-grid-col.\@lg\:fi-grid-col-span{grid-column:var(--col-span-clg)}}@container (min-width:36rem){.fi-grid-col.\@xl\:fi-grid-col-span{grid-column:var(--col-span-cxl)}}@container (min-width:42rem){.fi-grid-col.\@2xl\:fi-grid-col-span{grid-column:var(--col-span-c2xl)}}@container (min-width:48rem){.fi-grid-col.\@3xl\:fi-grid-col-span{grid-column:var(--col-span-c3xl)}}@container (min-width:56rem){.fi-grid-col.\@4xl\:fi-grid-col-span{grid-column:var(--col-span-c4xl)}}@container (min-width:64rem){.fi-grid-col.\@5xl\:fi-grid-col-span{grid-column:var(--col-span-c5xl)}}@container (min-width:72rem){.fi-grid-col.\@6xl\:fi-grid-col-span{grid-column:var(--col-span-c6xl)}}@container (min-width:80rem){.fi-grid-col.\@7xl\:fi-grid-col-span{grid-column:var(--col-span-c7xl)}}}@supports not (container-type:inline-size){@media (min-width:40rem){.fi-grid-col.\!\@sm\:fi-grid-col-span{grid-column:var(--col-span-ncsm)}}@media (min-width:48rem){.fi-grid-col.\!\@md\:fi-grid-col-span{grid-column:var(--col-span-ncmd)}}@media (min-width:64rem){.fi-grid-col.\!\@lg\:fi-grid-col-span{grid-column:var(--col-span-nclg)}}@media (min-width:80rem){.fi-grid-col.\!\@xl\:fi-grid-col-span{grid-column:var(--col-span-ncxl)}}@media (min-width:96rem){.fi-grid-col.\!\@2xl\:fi-grid-col-span{grid-column:var(--col-span-nc2xl)}}}.fi-grid-col.fi-grid-col-start{grid-column-start:var(--col-start-default)}@media (min-width:40rem){.fi-grid-col.sm\:fi-grid-col-start{grid-column-start:var(--col-start-sm)}}@media (min-width:48rem){.fi-grid-col.md\:fi-grid-col-start{grid-column-start:var(--col-start-md)}}@media (min-width:64rem){.fi-grid-col.lg\:fi-grid-col-start{grid-column-start:var(--col-start-lg)}}@media (min-width:80rem){.fi-grid-col.xl\:fi-grid-col-start{grid-column-start:var(--col-start-xl)}}@media (min-width:96rem){.fi-grid-col.\32 xl\:fi-grid-col-start{grid-column-start:var(--col-start-2xl)}}@supports (container-type:inline-size){@container (min-width:16rem){.fi-grid-col.\@3xs\:fi-grid-col-start{grid-column-start:var(--col-start-c3xs)}}@container (min-width:18rem){.fi-grid-col.\@2xs\:fi-grid-col-start{grid-column-start:var(--col-start-c2xs)}}@container (min-width:20rem){.fi-grid-col.\@xs\:fi-grid-col-start{grid-column-start:var(--col-start-cxs)}}@container (min-width:24rem){.fi-grid-col.\@sm\:fi-grid-col-start{grid-column-start:var(--col-start-csm)}}@container (min-width:28rem){.fi-grid-col.\@md\:fi-grid-col-start{grid-column-start:var(--col-start-cmd)}}@container (min-width:32rem){.fi-grid-col.\@lg\:fi-grid-col-start{grid-column-start:var(--col-start-clg)}}@container (min-width:36rem){.fi-grid-col.\@xl\:fi-grid-col-start{grid-column-start:var(--col-start-cxl)}}@container (min-width:42rem){.fi-grid-col.\@2xl\:fi-grid-col-start{grid-column-start:var(--col-start-c2xl)}}@container (min-width:48rem){.fi-grid-col.\@3xl\:fi-grid-col-start{grid-column-start:var(--col-start-c3xl)}}@container (min-width:56rem){.fi-grid-col.\@4xl\:fi-grid-col-start{grid-column-start:var(--col-start-c4xl)}}@container (min-width:64rem){.fi-grid-col.\@5xl\:fi-grid-col-start{grid-column-start:var(--col-start-c5xl)}}@container (min-width:72rem){.fi-grid-col.\@6xl\:fi-grid-col-start{grid-column-start:var(--col-start-c6xl)}}@container (min-width:80rem){.fi-grid-col.\@7xl\:fi-grid-col-start{grid-column-start:var(--col-start-c7xl)}}}@supports not (container-type:inline-size){@media (min-width:40rem){.fi-grid-col.\!\@sm\:fi-grid-col-start{grid-column-start:var(--col-start-ncsm)}}@media (min-width:48rem){.fi-grid-col.\!\@md\:fi-grid-col-start{grid-column-start:var(--col-start-ncmd)}}@media (min-width:64rem){.fi-grid-col.\!\@lg\:fi-grid-col-start{grid-column-start:var(--col-start-nclg)}}@media (min-width:80rem){.fi-grid-col.\!\@xl\:fi-grid-col-start{grid-column-start:var(--col-start-ncxl)}}@media (min-width:96rem){.fi-grid-col.\!\@2xl\:fi-grid-col-start{grid-column-start:var(--col-start-nc2xl)}}}.fi-grid-col.fi-grid-col-order{order:var(--col-order-default)}@media (min-width:40rem){.fi-grid-col.sm\:fi-grid-col-order{order:var(--col-order-sm)}}@media (min-width:48rem){.fi-grid-col.md\:fi-grid-col-order{order:var(--col-order-md)}}@media (min-width:64rem){.fi-grid-col.lg\:fi-grid-col-order{order:var(--col-order-lg)}}@media (min-width:80rem){.fi-grid-col.xl\:fi-grid-col-order{order:var(--col-order-xl)}}@media (min-width:96rem){.fi-grid-col.\32 xl\:fi-grid-col-order{order:var(--col-order-2xl)}}@supports (container-type:inline-size){@container (min-width:16rem){.fi-grid-col.\@3xs\:fi-grid-col-order{order:var(--col-order-c3xs)}}@container (min-width:18rem){.fi-grid-col.\@2xs\:fi-grid-col-order{order:var(--col-order-c2xs)}}@container (min-width:20rem){.fi-grid-col.\@xs\:fi-grid-col-order{order:var(--col-order-cxs)}}@container (min-width:24rem){.fi-grid-col.\@sm\:fi-grid-col-order{order:var(--col-order-csm)}}@container (min-width:28rem){.fi-grid-col.\@md\:fi-grid-col-order{order:var(--col-order-cmd)}}@container (min-width:32rem){.fi-grid-col.\@lg\:fi-grid-col-order{order:var(--col-order-clg)}}@container (min-width:36rem){.fi-grid-col.\@xl\:fi-grid-col-order{order:var(--col-order-cxl)}}@container (min-width:42rem){.fi-grid-col.\@2xl\:fi-grid-col-order{order:var(--col-order-c2xl)}}@container (min-width:48rem){.fi-grid-col.\@3xl\:fi-grid-col-order{order:var(--col-order-c3xl)}}@container (min-width:56rem){.fi-grid-col.\@4xl\:fi-grid-col-order{order:var(--col-order-c4xl)}}@container (min-width:64rem){.fi-grid-col.\@5xl\:fi-grid-col-order{order:var(--col-order-c5xl)}}@container (min-width:72rem){.fi-grid-col.\@6xl\:fi-grid-col-order{order:var(--col-order-c6xl)}}@container (min-width:80rem){.fi-grid-col.\@7xl\:fi-grid-col-order{order:var(--col-order-c7xl)}}}@supports not (container-type:inline-size){@media (min-width:40rem){.fi-grid-col.\!\@sm\:fi-grid-col-order{order:var(--col-order-ncsm)}}@media (min-width:48rem){.fi-grid-col.\!\@md\:fi-grid-col-order{order:var(--col-order-ncmd)}}@media (min-width:64rem){.fi-grid-col.\!\@lg\:fi-grid-col-order{order:var(--col-order-nclg)}}@media (min-width:80rem){.fi-grid-col.\!\@xl\:fi-grid-col-order{order:var(--col-order-ncxl)}}@media (min-width:96rem){.fi-grid-col.\!\@2xl\:fi-grid-col-order{order:var(--col-order-nc2xl)}}}.fi-grid-col.fi-hidden{display:none}.fi-icon{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.fi-icon.fi-size-xs{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.fi-icon.fi-size-sm{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.fi-icon.fi-size-md{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.fi-icon.fi-size-lg{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.fi-icon.fi-size-xl{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.fi-icon.fi-size-2xl{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.fi-icon-btn{margin:calc(var(--spacing)*-2);width:calc(var(--spacing)*9);height:calc(var(--spacing)*9);border-radius:var(--radius-lg);color:var(--gray-500);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;--tw-outline-style:none;outline-style:none;justify-content:center;align-items:center;transition-duration:75ms;display:flex;position:relative}.fi-icon-btn:where(.dark,.dark *){color:var(--gray-500)}@media (hover:hover){.fi-icon-btn:not(.fi-disabled):not([disabled]):hover{color:var(--gray-600)}}.fi-icon-btn:not(.fi-disabled):not([disabled]):focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--primary-600)}@media (hover:hover){.fi-icon-btn:not(.fi-disabled):not([disabled]):where(.dark,.dark *):hover{color:var(--gray-400)}}.fi-icon-btn:not(.fi-disabled):not([disabled]):where(.dark,.dark *):focus-visible{--tw-ring-color:var(--primary-500)}.fi-icon-btn.fi-disabled,.fi-icon-btn[disabled]{cursor:default;opacity:.7}:is(.fi-icon-btn.fi-disabled,.fi-icon-btn[disabled]):not([x-tooltip]){pointer-events:none}.fi-icon-btn.fi-size-xs{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.fi-icon-btn.fi-size-xs:has(.fi-icon.fi-size-sm){margin:calc(var(--spacing)*-1.5)}.fi-icon-btn.fi-size-xs:has(.fi-icon.fi-size-md){margin:calc(var(--spacing)*-1)}.fi-icon-btn.fi-size-xs:has(.fi-icon.fi-size-lg){margin:calc(var(--spacing)*-.5)}.fi-icon-btn.fi-size-sm{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.fi-icon-btn.fi-size-sm:has(.fi-icon.fi-size-sm){margin:calc(var(--spacing)*-2)}.fi-icon-btn.fi-size-sm:has(.fi-icon.fi-size-md){margin:calc(var(--spacing)*-1.5)}.fi-icon-btn.fi-size-sm:has(.fi-icon.fi-size-lg){margin:calc(var(--spacing)*-1)}.fi-icon-btn.fi-size-md:has(.fi-icon.fi-size-sm){margin:calc(var(--spacing)*-2.5)}.fi-icon-btn.fi-size-md:has(.fi-icon.fi-size-lg){margin:calc(var(--spacing)*-1.5)}.fi-icon-btn.fi-size-lg{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.fi-icon-btn.fi-size-lg:has(.fi-icon.fi-size-sm){margin:calc(var(--spacing)*-3)}.fi-icon-btn.fi-size-lg:has(.fi-icon.fi-size-md){margin:calc(var(--spacing)*-2.5)}.fi-icon-btn.fi-size-lg:has(.fi-icon.fi-size-lg){margin:calc(var(--spacing)*-2)}.fi-icon-btn.fi-size-xl{width:calc(var(--spacing)*11);height:calc(var(--spacing)*11)}.fi-icon-btn.fi-size-xl:has(.fi-icon.fi-size-sm){margin:calc(var(--spacing)*-3.5)}.fi-icon-btn.fi-size-xl:has(.fi-icon.fi-size-md){margin:calc(var(--spacing)*-3)}.fi-icon-btn.fi-size-xl:has(.fi-icon.fi-size-lg){margin:calc(var(--spacing)*-2.5)}.fi-icon-btn.fi-color{color:var(--text)}.fi-icon-btn.fi-color:where(.dark,.dark *){color:var(--dark-text)}@media (hover:hover){.fi-icon-btn.fi-color:not(.fi-disabled):not([disabled]):hover{color:var(--hover-text)}}.fi-icon-btn.fi-color:not(.fi-disabled):not([disabled]):focus-visible{--tw-ring-color:var(--color-600)}@media (hover:hover){.fi-icon-btn.fi-color:not(.fi-disabled):not([disabled]):where(.dark,.dark *):hover{color:var(--dark-hover-text)}}.fi-icon-btn.fi-color:not(.fi-disabled):not([disabled]):where(.dark,.dark *):focus-visible{--tw-ring-color:var(--color-500)}.fi-icon-btn>.fi-icon-btn-badge-ctn{inset-inline-start:100%;top:calc(var(--spacing)*1);z-index:1;--tw-translate-x:calc(calc(1/2*100%)*-1);width:max-content;translate:var(--tw-translate-x)var(--tw-translate-y);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);border-radius:var(--radius-md);background-color:var(--color-white);position:absolute}.fi-icon-btn>.fi-icon-btn-badge-ctn:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(1/2*100%);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-icon-btn>.fi-icon-btn-badge-ctn:where(.dark,.dark *){background-color:var(--gray-900)}@media (min-width:40rem){.fi-icon-btn:has(+.fi-btn.fi-labeled-from-sm){display:none}}@media (min-width:48rem){.fi-icon-btn:has(+.fi-btn.fi-labeled-from-md){display:none}}@media (min-width:64rem){.fi-icon-btn:has(+.fi-btn.fi-labeled-from-lg){display:none}}@media (min-width:80rem){.fi-icon-btn:has(+.fi-btn.fi-labeled-from-xl){display:none}}@media (min-width:96rem){.fi-icon-btn:has(+.fi-btn.fi-labeled-from-2xl){display:none}}input[type=checkbox].fi-checkbox-input{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4);appearance:none;--tw-border-style:none;background-color:var(--color-white);vertical-align:middle;color:var(--primary-600);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);border-style:none;border-radius:.25rem}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input{--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}input[type=checkbox].fi-checkbox-input:checked{background-color:var(--primary-600);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input[type=checkbox].fi-checkbox-input:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--primary-600);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-outline-style:none;outline-style:none}input[type=checkbox].fi-checkbox-input:checked:focus{--tw-ring-color:var(--primary-500)}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input:checked:focus{--tw-ring-color:color-mix(in oklab,var(--primary-500)50%,transparent)}}input[type=checkbox].fi-checkbox-input:disabled{pointer-events:none;background-color:var(--gray-50);color:var(--gray-50)}input[type=checkbox].fi-checkbox-input:disabled:checked{background-color:var(--gray-400);color:var(--gray-400)}input[type=checkbox].fi-checkbox-input:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}input[type=checkbox].fi-checkbox-input:where(.dark,.dark *){color:var(--primary-500);--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}input[type=checkbox].fi-checkbox-input:where(.dark,.dark *):checked{background-color:var(--primary-500)}input[type=checkbox].fi-checkbox-input:where(.dark,.dark *):focus{--tw-ring-color:var(--primary-500)}input[type=checkbox].fi-checkbox-input:where(.dark,.dark *):checked:focus{--tw-ring-color:var(--primary-400)}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input:where(.dark,.dark *):checked:focus{--tw-ring-color:color-mix(in oklab,var(--primary-400)50%,transparent)}}input[type=checkbox].fi-checkbox-input:where(.dark,.dark *):disabled{--tw-ring-color:#ffffff1a;background-color:#0000}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input:where(.dark,.dark *):disabled{--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}input[type=checkbox].fi-checkbox-input:where(.dark,.dark *):disabled:checked{background-color:var(--gray-600)}input[type=checkbox].fi-checkbox-input:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}input[type=checkbox].fi-checkbox-input:indeterminate{background-color:var(--primary-600);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input[type=checkbox].fi-checkbox-input:indeterminate:where(.dark,.dark *){background-color:var(--primary-500)}input[type=checkbox].fi-checkbox-input:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 6.75a1.25 1.25 0 0 0 0 2.5h7a1.25 1.25 0 0 0 0-2.5h-7z'/%3E%3C/svg%3E")}input[type=checkbox].fi-checkbox-input:indeterminate:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--primary-500)}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input:indeterminate:focus{--tw-ring-color:color-mix(in oklab,var(--primary-500)50%,transparent)}}input[type=checkbox].fi-checkbox-input:indeterminate:focus:where(.dark,.dark *){--tw-ring-color:var(--primary-400)}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input:indeterminate:focus:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--primary-400)50%,transparent)}}input[type=checkbox].fi-checkbox-input:indeterminate:disabled{background-color:var(--gray-400)}input[type=checkbox].fi-checkbox-input:indeterminate:disabled:where(.dark,.dark *){background-color:var(--gray-600)}input[type=checkbox].fi-checkbox-input.fi-invalid{color:var(--danger-600);--tw-ring-color:var(--danger-600)}input[type=checkbox].fi-checkbox-input.fi-invalid:checked{background-color:var(--danger-600)}input[type=checkbox].fi-checkbox-input.fi-invalid:focus{--tw-ring-color:var(--danger-600)}input[type=checkbox].fi-checkbox-input.fi-invalid:checked:focus{--tw-ring-color:var(--danger-500)}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input.fi-invalid:checked:focus{--tw-ring-color:color-mix(in oklab,var(--danger-500)50%,transparent)}}input[type=checkbox].fi-checkbox-input.fi-invalid:where(.dark,.dark *){color:var(--danger-500);--tw-ring-color:var(--danger-500)}input[type=checkbox].fi-checkbox-input.fi-invalid:where(.dark,.dark *):checked{background-color:var(--danger-500)}input[type=checkbox].fi-checkbox-input.fi-invalid:where(.dark,.dark *):focus{--tw-ring-color:var(--danger-500)}input[type=checkbox].fi-checkbox-input.fi-invalid:where(.dark,.dark *):checked:focus{--tw-ring-color:var(--danger-400)}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input.fi-invalid:where(.dark,.dark *):checked:focus{--tw-ring-color:color-mix(in oklab,var(--danger-400)50%,transparent)}}input[type=checkbox].fi-checkbox-input.fi-invalid:indeterminate{background-color:var(--danger-600)}input[type=checkbox].fi-checkbox-input.fi-invalid:indeterminate:where(.dark,.dark *){background-color:var(--danger-500)}input[type=checkbox].fi-checkbox-input.fi-invalid:indeterminate:focus{--tw-ring-color:var(--danger-500)}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input.fi-invalid:indeterminate:focus{--tw-ring-color:color-mix(in oklab,var(--danger-500)50%,transparent)}}input[type=checkbox].fi-checkbox-input.fi-invalid:indeterminate:focus:where(.dark,.dark *){--tw-ring-color:var(--danger-400)}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input.fi-invalid:indeterminate:focus:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--danger-400)50%,transparent)}}input.fi-input{appearance:none;--tw-border-style:none;background-color:#0000;border-style:none;width:100%;display:block}@supports (color:color-mix(in lab, red, red)){input.fi-input{background-color:color-mix(in oklab,var(--color-white)0%,transparent)}}input.fi-input{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*1.5);text-align:start;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);color:var(--gray-950);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}input.fi-input::placeholder{color:var(--gray-400)}input.fi-input:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-outline-style:none;outline-style:none}input.fi-input:disabled{color:var(--gray-500);-webkit-text-fill-color:var(--color-gray-500)}input.fi-input:disabled::placeholder{-webkit-text-fill-color:var(--color-gray-400)}input.fi-input:where(.dark,.dark *){color:var(--color-white)}input.fi-input:where(.dark,.dark *)::placeholder{color:var(--gray-500)}input.fi-input:where(.dark,.dark *):disabled{color:var(--gray-400);-webkit-text-fill-color:var(--color-gray-400)}input.fi-input:where(.dark,.dark *):disabled::placeholder{-webkit-text-fill-color:var(--color-gray-500)}input.fi-input.fi-input-has-inline-prefix{padding-inline-start:calc(var(--spacing)*0)}input.fi-input.fi-input-has-inline-suffix{padding-inline-end:calc(var(--spacing)*0)}input.fi-input.fi-align-center{text-align:center}input.fi-input.fi-align-end{text-align:end}input.fi-input.fi-align-left{text-align:left}input.fi-input.fi-align-right{text-align:end}input.fi-input.fi-align-justify,input.fi-input.fi-align-between{text-align:justify}input[type=text].fi-one-time-code-input{inset-block:calc(var(--spacing)*0);--tw-border-style:none;padding-inline:calc(var(--spacing)*3);font-family:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--tw-tracking:1.72rem;letter-spacing:1.72rem;color:var(--gray-950);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;background-color:#0000;border-style:none;transition-duration:75ms;display:block;position:absolute;inset-inline-start:calc(var(--spacing)*0);inset-inline-end:calc(var(--spacing)*-8)}input[type=text].fi-one-time-code-input::placeholder{color:var(--gray-400)}input[type=text].fi-one-time-code-input:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-outline-style:none;outline-style:none}input[type=text].fi-one-time-code-input:disabled{color:var(--gray-500);-webkit-text-fill-color:var(--color-gray-500)}input[type=text].fi-one-time-code-input:disabled::placeholder{-webkit-text-fill-color:var(--color-gray-400)}input[type=text].fi-one-time-code-input:where(.dark,.dark *){color:var(--color-white)}input[type=text].fi-one-time-code-input:where(.dark,.dark *)::placeholder{color:var(--gray-500)}input[type=text].fi-one-time-code-input:where(.dark,.dark *):disabled{color:var(--gray-400);-webkit-text-fill-color:var(--color-gray-400)}input[type=text].fi-one-time-code-input:where(.dark,.dark *):disabled::placeholder{-webkit-text-fill-color:var(--color-gray-500)}input[type=text].fi-one-time-code-input.fi-valid{caret-color:#0000}.fi-one-time-code-input-ctn{height:calc(var(--spacing)*12);position:relative}.fi-one-time-code-input-ctn>.fi-one-time-code-input-digit-field{height:100%;width:calc(var(--spacing)*8);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--gray-950);display:inline-block}@supports (color:color-mix(in lab, red, red)){.fi-one-time-code-input-ctn>.fi-one-time-code-input-digit-field{border-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}.fi-one-time-code-input-ctn>.fi-one-time-code-input-digit-field{background-color:var(--color-white)}.fi-one-time-code-input-ctn>.fi-one-time-code-input-digit-field:where(.dark,.dark *){border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-one-time-code-input-ctn>.fi-one-time-code-input-digit-field:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-one-time-code-input-ctn>.fi-one-time-code-input-digit-field:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-one-time-code-input-ctn>.fi-one-time-code-input-digit-field:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-one-time-code-input-ctn>.fi-one-time-code-input-digit-field.fi-active{border-style:var(--tw-border-style);border-width:2px;border-color:var(--primary-600)}.fi-one-time-code-input-ctn>.fi-one-time-code-input-digit-field.fi-active:where(.dark,.dark *){border-color:var(--primary-500)}input[type=radio].fi-radio-input{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4);appearance:none;--tw-border-style:none;background-color:var(--color-white);color:var(--primary-600);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);border-style:none;border-radius:3.40282e38px}@supports (color:color-mix(in lab, red, red)){input[type=radio].fi-radio-input{--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}input[type=radio].fi-radio-input:checked{background-color:var(--primary-600);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input[type=radio].fi-radio-input:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--primary-600);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-outline-style:none;outline-style:none}input[type=radio].fi-radio-input:checked:focus{--tw-ring-color:var(--primary-500)}@supports (color:color-mix(in lab, red, red)){input[type=radio].fi-radio-input:checked:focus{--tw-ring-color:color-mix(in oklab,var(--primary-500)50%,transparent)}}input[type=radio].fi-radio-input:disabled{background-color:var(--gray-50);color:var(--gray-50)}input[type=radio].fi-radio-input:disabled:checked{background-color:var(--gray-400);color:var(--gray-400)}input[type=radio].fi-radio-input:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){input[type=radio].fi-radio-input:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}input[type=radio].fi-radio-input:where(.dark,.dark *){color:var(--primary-500);--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){input[type=radio].fi-radio-input:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}input[type=radio].fi-radio-input:where(.dark,.dark *):checked{background-color:var(--primary-500)}input[type=radio].fi-radio-input:where(.dark,.dark *):focus{--tw-ring-color:var(--primary-500)}input[type=radio].fi-radio-input:where(.dark,.dark *):checked:focus{--tw-ring-color:var(--primary-400)}@supports (color:color-mix(in lab, red, red)){input[type=radio].fi-radio-input:where(.dark,.dark *):checked:focus{--tw-ring-color:color-mix(in oklab,var(--primary-400)50%,transparent)}}input[type=radio].fi-radio-input:where(.dark,.dark *):disabled{--tw-ring-color:#ffffff1a;background-color:#0000}@supports (color:color-mix(in lab, red, red)){input[type=radio].fi-radio-input:where(.dark,.dark *):disabled{--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}input[type=radio].fi-radio-input:where(.dark,.dark *):disabled:checked{background-color:var(--gray-600)}input[type=radio].fi-radio-input:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}input[type=radio].fi-radio-input.fi-invalid{color:var(--danger-600);--tw-ring-color:var(--danger-600)}input[type=radio].fi-radio-input.fi-invalid:checked{background-color:var(--danger-600)}input[type=radio].fi-radio-input.fi-invalid:focus{--tw-ring-color:var(--danger-600)}input[type=radio].fi-radio-input.fi-invalid:checked:focus{--tw-ring-color:var(--danger-500)}@supports (color:color-mix(in lab, red, red)){input[type=radio].fi-radio-input.fi-invalid:checked:focus{--tw-ring-color:color-mix(in oklab,var(--danger-500)50%,transparent)}}input[type=radio].fi-radio-input.fi-invalid:where(.dark,.dark *){color:var(--danger-500);--tw-ring-color:var(--danger-500)}input[type=radio].fi-radio-input.fi-invalid:where(.dark,.dark *):checked{background-color:var(--danger-500)}input[type=radio].fi-radio-input.fi-invalid:where(.dark,.dark *):focus{--tw-ring-color:var(--danger-500)}input[type=radio].fi-radio-input.fi-invalid:where(.dark,.dark *):checked:focus{--tw-ring-color:var(--danger-400)}@supports (color:color-mix(in lab, red, red)){input[type=radio].fi-radio-input.fi-invalid:where(.dark,.dark *):checked:focus{--tw-ring-color:color-mix(in oklab,var(--danger-400)50%,transparent)}}select.fi-select-input{appearance:none;--tw-border-style:none;width:100%;padding-block:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);color:var(--gray-950);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;background-color:#0000;border-style:none;padding-inline-start:calc(var(--spacing)*3);padding-inline-end:calc(var(--spacing)*8);transition-duration:75ms;display:block}select.fi-select-input:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-outline-style:none;outline-style:none}select.fi-select-input:disabled{color:var(--gray-500);-webkit-text-fill-color:var(--color-gray-500)}select.fi-select-input:where(.dark,.dark *){color:var(--color-white)}select.fi-select-input:where(.dark,.dark *):disabled{color:var(--gray-400);-webkit-text-fill-color:var(--color-gray-400)}select.fi-select-input optgroup{background-color:var(--color-white)}select.fi-select-input optgroup:where(.dark,.dark *){background-color:var(--gray-900)}select.fi-select-input option{background-color:var(--color-white)}select.fi-select-input option:where(.dark,.dark *){background-color:var(--gray-900)}select.fi-select-input{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em}:dir(rtl) :is(select.fi-select-input){background-position:.5rem}select.fi-select-input.fi-select-input-has-inline-prefix{padding-inline-start:calc(var(--spacing)*0)}.fi-select-input .fi-select-input-ctn{position:relative}.fi-select-input div[x-ref=select]{min-height:calc(var(--spacing)*9)}.fi-select-input .fi-select-input-btn{min-height:calc(var(--spacing)*9);border-radius:var(--radius-lg);width:100%;padding-block:calc(var(--spacing)*1.5);text-align:start;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);color:var(--gray-950);padding-inline-start:calc(var(--spacing)*3);padding-inline-end:calc(var(--spacing)*8);display:flex}.fi-select-input .fi-select-input-btn:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-outline-style:none;outline-style:none}.fi-select-input .fi-select-input-btn:where(.dark,.dark *){color:var(--color-white)}.fi-select-input .fi-select-input-btn{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em}:dir(rtl) :is(.fi-select-input .fi-select-input-btn){background-position:.5rem}.fi-select-input .fi-select-input-value-ctn{text-wrap:wrap;word-break:break-word;align-items:center;width:100%;display:flex}.fi-select-input .fi-select-input-value-badges-ctn{gap:calc(var(--spacing)*1.5);flex-wrap:wrap;display:flex}.fi-select-input .fi-select-input-value-label{flex:1}.fi-select-input .fi-select-input-value-remove-btn{color:var(--gray-500);margin-inline-start:calc(var(--spacing)*2)}@media (hover:hover){.fi-select-input .fi-select-input-value-remove-btn:hover{color:var(--gray-600)}}.fi-select-input .fi-select-input-value-remove-btn:focus-visible{color:var(--gray-600);--tw-outline-style:none;outline-style:none}@media (hover:hover){.fi-select-input .fi-select-input-value-remove-btn:where(.dark,.dark *):hover{color:var(--gray-300)}}.fi-select-input .fi-select-input-value-remove-btn:where(.dark,.dark *):focus-visible{color:var(--gray-300)}.fi-select-input .fi-dropdown-panel{max-height:calc(var(--spacing)*60);max-width:100%!important}:where(.fi-select-input .fi-select-input-options-ctn>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-100)}:where(.fi-select-input .fi-select-input-options-ctn:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-select-input .fi-select-input-options-ctn:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}:where(.fi-select-input .fi-select-input-option-group>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-100)}:where(.fi-select-input .fi-select-input-option-group:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-select-input .fi-select-input-option-group:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-select-input .fi-select-input-search-ctn{top:calc(var(--spacing)*0);z-index:10;background-color:var(--color-white);position:sticky}.fi-select-input .fi-select-input-search-ctn:where(.dark,.dark *){background-color:var(--gray-900)}.fi-select-input .fi-select-input-option{text-wrap:wrap;word-break:break-word;min-width:1px}.fi-select-input .fi-select-input-placeholder{color:var(--gray-400)}.fi-select-input .fi-select-input-placeholder:where(.dark,.dark *){color:var(--gray-500)}.fi-select-input .fi-disabled{cursor:not-allowed;opacity:.7}.fi-select-input .fi-disabled .fi-select-input-placeholder{color:var(--gray-400)}.fi-select-input .fi-disabled .fi-select-input-placeholder:where(.dark,.dark *){color:var(--gray-500)}.fi-select-input .fi-select-input-message{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-select-input .fi-select-input-message:where(.dark,.dark *){color:var(--gray-400)}.fi-select-input .fi-select-input-ctn.fi-select-input-ctn-option-labels-not-wrapped .fi-select-input-value-ctn>span{text-overflow:ellipsis;white-space:nowrap;text-wrap:nowrap;overflow-wrap:normal;word-break:normal;overflow:hidden}.fi-select-input .fi-select-input-ctn.fi-select-input-ctn-option-labels-not-wrapped .fi-select-input-option>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fi-input-wrp{border-radius:var(--radius-lg);background-color:var(--color-white);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);display:flex}@supports (color:color-mix(in lab, red, red)){.fi-input-wrp{--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}.fi-input-wrp{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}.fi-input-wrp:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-input-wrp:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-input-wrp:where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-input-wrp:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-input-wrp:not(.fi-disabled):not(:has(.fi-ac-action:focus)):focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--primary-600)}.fi-input-wrp:not(.fi-disabled):not(:has(.fi-ac-action:focus)):where(.dark,.dark *):focus-within{--tw-ring-color:var(--primary-500)}.fi-input-wrp:not(.fi-disabled):not(:has(.fi-ac-action:focus)).fi-invalid:focus-within{--tw-ring-color:var(--danger-600)}.fi-input-wrp:not(.fi-disabled):not(:has(.fi-ac-action:focus)).fi-invalid:where(.dark,.dark *):focus-within{--tw-ring-color:var(--danger-500)}.fi-input-wrp.fi-disabled{background-color:var(--gray-50)}.fi-input-wrp.fi-disabled:where(.dark,.dark *){background-color:#0000}.fi-input-wrp.fi-disabled:not(.fi-invalid):where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-input-wrp.fi-disabled:not(.fi-invalid):where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-input-wrp.fi-invalid{--tw-ring-color:var(--danger-600)}.fi-input-wrp.fi-invalid:where(.dark,.dark *){--tw-ring-color:var(--danger-500)}.fi-input-wrp .fi-input-wrp-prefix{align-items:center;column-gap:calc(var(--spacing)*3);padding-inline-start:calc(var(--spacing)*3);display:none}.fi-input-wrp .fi-input-wrp-prefix.fi-input-wrp-prefix-has-content{display:flex}.fi-input-wrp .fi-input-wrp-prefix.fi-inline{padding-inline-end:calc(var(--spacing)*2)}.fi-input-wrp .fi-input-wrp-prefix.fi-inline.fi-input-wrp-prefix-has-label{padding-inline-end:calc(var(--spacing)*1)}.fi-input-wrp .fi-input-wrp-prefix:not(.fi-inline){border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-color:var(--gray-200);padding-inline-start:calc(var(--spacing)*3);padding-inline-end:calc(var(--spacing)*3)}.fi-input-wrp .fi-input-wrp-prefix:not(.fi-inline):where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-input-wrp .fi-input-wrp-prefix:not(.fi-inline):where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-input-wrp .fi-input-wrp-content-ctn,.fi-input-wrp:not(:has(.fi-input-wrp-content-ctn))>*{min-width:calc(var(--spacing)*0);flex:1}:is(.fi-input-wrp .fi-input-wrp-content-ctn,.fi-input-wrp:not(:has(.fi-input-wrp-content-ctn))>*).fi-input-wrp-content-ctn-ps{padding-inline-start:calc(var(--spacing)*3)}.fi-input-wrp .fi-input-wrp-suffix{align-items:center;column-gap:calc(var(--spacing)*3);padding-inline-end:calc(var(--spacing)*3);display:flex}.fi-input-wrp .fi-input-wrp-suffix.fi-inline{padding-inline-start:calc(var(--spacing)*2)}.fi-input-wrp .fi-input-wrp-suffix.fi-inline.fi-input-wrp-suffix-has-label{padding-inline-start:calc(var(--spacing)*1)}.fi-input-wrp .fi-input-wrp-suffix:not(.fi-inline){border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px;border-color:var(--gray-200);padding-inline-start:calc(var(--spacing)*3)}.fi-input-wrp .fi-input-wrp-suffix:not(.fi-inline):where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-input-wrp .fi-input-wrp-suffix:not(.fi-inline):where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-input-wrp .fi-input-wrp-actions{align-items:center;gap:calc(var(--spacing)*3);display:flex}.fi-input-wrp .fi-input-wrp-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));white-space:nowrap;color:var(--gray-500)}.fi-input-wrp .fi-input-wrp-label:where(.dark,.dark *),:is(.fi-input-wrp .fi-input-wrp-prefix,.fi-input-wrp .fi-input-wrp-suffix) .fi-icon{color:var(--gray-400)}:is(.fi-input-wrp .fi-input-wrp-prefix,.fi-input-wrp .fi-input-wrp-suffix) .fi-icon:where(.dark,.dark *){color:var(--gray-500)}:is(.fi-input-wrp .fi-input-wrp-prefix,.fi-input-wrp .fi-input-wrp-suffix) .fi-icon.fi-color{color:var(--color-500)}.fi-link{justify-content:center;align-items:center;gap:calc(var(--spacing)*1.5);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-700);--tw-outline-style:none;outline-style:none;display:inline-flex;position:relative}.fi-link:where(.dark,.dark *){color:var(--gray-200)}@media (hover:hover){.fi-link:not(.fi-disabled):not([disabled]):hover{text-decoration-line:underline}}.fi-link:not(.fi-disabled):not([disabled]):focus-visible{text-decoration-line:underline}.fi-link.fi-disabled,.fi-link[disabled]{cursor:default;opacity:.7}:is(.fi-link.fi-disabled,.fi-link[disabled]):not([x-tooltip]){pointer-events:none}.fi-link.fi-size-xs{gap:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fi-link.fi-size-sm{gap:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.fi-link.fi-size-md,.fi-link.fi-size-lg,.fi-link.fi-size-xl{gap:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.fi-link.fi-font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.fi-link.fi-font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.fi-link.fi-font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.fi-link.fi-font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.fi-link.fi-font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.fi-link.fi-font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.fi-link.fi-font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.fi-link.fi-font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.fi-link.fi-color{color:var(--text)}.fi-link.fi-color:where(.dark,.dark *){color:var(--dark-text)}.fi-link:not(.fi-color)>.fi-icon{color:var(--gray-400)}.fi-link:not(.fi-color)>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-link .fi-link-badge-ctn{inset-inline-start:100%;top:calc(var(--spacing)*0);z-index:1;--tw-translate-x:calc(calc(1/4*100%)*-1);width:max-content;translate:var(--tw-translate-x)var(--tw-translate-y);--tw-translate-y:calc(calc(3/4*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);border-radius:var(--radius-md);background-color:var(--color-white);--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);position:absolute}@media (hover:hover){.fi-link .fi-link-badge-ctn:hover{text-decoration-line:none}}.fi-link .fi-link-badge-ctn:focus-visible{text-decoration-line:none}.fi-link .fi-link-badge-ctn:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(1/4*100%);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-link .fi-link-badge-ctn:where(.dark,.dark *){background-color:var(--gray-900)}p>.fi-link,span>.fi-link{vertical-align:middle;text-align:inherit;padding-bottom:2px}.fi-loading-indicator{animation:var(--animate-spin)}.fi-loading-section{animation:var(--animate-pulse)}:is(.fi-modal.fi-modal-slide-over,.fi-modal.fi-width-screen)>.fi-modal-window-ctn>.fi-modal-window{height:100dvh}:is(.fi-modal.fi-modal-slide-over,.fi-modal.fi-width-screen)>.fi-modal-window-ctn>.fi-modal-window .fi-modal-content{flex:1}.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window{margin-inline-start:auto;overflow-y:auto}.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window.fi-transition-enter-start,.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window.fi-transition-leave-end{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}:is(.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window.fi-transition-enter-start,.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window.fi-transition-leave-end):where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window.fi-transition-enter-end,.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window.fi-transition-leave-start{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window .fi-modal-header{column-gap:calc(var(--spacing)*3)}.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg{margin-block:calc(var(--spacing)*-2);padding:calc(var(--spacing)*2);margin-inline-start:calc(var(--spacing)*-2)}.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window .fi-modal-close-btn{inset-inline-end:calc(var(--spacing)*6);top:calc(var(--spacing)*6)}.fi-modal:not(.fi-modal-slide-over):not(.fi-width-screen)>.fi-modal-window-ctn{overflow-y:auto}.fi-modal:not(.fi-modal-slide-over):not(.fi-width-screen)>.fi-modal-window-ctn .fi-modal-footer.fi-sticky{border-bottom-right-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.fi-modal:not(.fi-modal-slide-over)>.fi-modal-window-ctn>.fi-modal-window.fi-transition-enter-start,.fi-modal:not(.fi-modal-slide-over)>.fi-modal-window-ctn>.fi-modal-window.fi-transition-leave-end{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y);opacity:0}.fi-modal:not(.fi-modal-slide-over)>.fi-modal-window-ctn>.fi-modal-window.fi-transition-enter-end,.fi-modal:not(.fi-modal-slide-over)>.fi-modal-window-ctn>.fi-modal-window.fi-transition-leave-start{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y);opacity:1}.fi-modal:not(.fi-modal-slide-over)>.fi-modal-window-ctn>.fi-modal-window .fi-modal-close-btn{inset-inline-end:calc(var(--spacing)*4);top:calc(var(--spacing)*4)}.fi-modal.fi-align-start>.fi-modal-window-ctn>.fi-modal-window-has-icon:not(.fi-modal-window-has-sticky-header) .fi-modal-content,.fi-modal.fi-align-start>.fi-modal-window-ctn>.fi-modal-window-has-icon:not(.fi-modal-window-has-sticky-header) .fi-modal-footer:not(.fi-align-center){padding-inline-start:5.25rem;padding-inline-end:calc(var(--spacing)*6)}.fi-modal:not(.fi-align-start)>.fi-modal-window-ctn>.fi-modal-window .fi-modal-content,.fi-modal:not(.fi-align-start)>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer{padding-inline:calc(var(--spacing)*6)}.fi-modal>.fi-modal-close-overlay{inset:calc(var(--spacing)*0);z-index:40;background-color:var(--gray-950);position:fixed}@supports (color:color-mix(in lab, red, red)){.fi-modal>.fi-modal-close-overlay{background-color:color-mix(in oklab,var(--gray-950)50%,transparent)}}.fi-modal>.fi-modal-close-overlay:where(.dark,.dark *){background-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-modal>.fi-modal-close-overlay:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-950)75%,transparent)}}.fi-modal>.fi-modal-window-ctn{inset:calc(var(--spacing)*0);z-index:40;grid-template-rows:1fr auto 1fr;justify-items:center;min-height:100%;display:grid;position:fixed}@media (min-width:40rem){.fi-modal>.fi-modal-window-ctn{grid-template-rows:1fr auto 3fr}}.fi-modal>.fi-modal-window-ctn.fi-clickable{cursor:pointer}.fi-modal:not(.fi-modal-slide-over):not(.fi-width-screen)>.fi-modal-window-ctn{padding:calc(var(--spacing)*4)}.fi-modal:not(.fi-modal-slide-over):not(.fi-width-screen)>.fi-modal-window-ctn .fi-modal-window{border-radius:var(--radius-xl);margin-inline:auto}.fi-modal:not(.fi-modal-slide-over):not(.fi-width-screen)>.fi-modal-window-ctn .fi-modal-window .fi-modal-header.fi-sticky{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window{pointer-events:auto;cursor:default;background-color:var(--color-white);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);width:100%;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);flex-direction:column;grid-row-start:2;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.fi-modal>.fi-modal-window-ctn>.fi-modal-window{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-modal>.fi-modal-window-ctn>.fi-modal-window:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-modal>.fi-modal-window-ctn>.fi-modal-window:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-modal>.fi-modal-window-ctn>.fi-modal-window{contain:layout}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-header{padding-inline:calc(var(--spacing)*6);padding-top:calc(var(--spacing)*6);display:flex}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-header.fi-vertical-align-center{align-items:center}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-header.fi-sticky{top:calc(var(--spacing)*0);z-index:10;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);background-color:var(--color-white);padding-bottom:calc(var(--spacing)*6);position:sticky}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-header.fi-sticky:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-header.fi-sticky:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-header.fi-sticky:where(.dark,.dark *){background-color:var(--gray-900)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-heading{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-heading:where(.dark,.dark *){color:var(--color-white)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-description{margin-top:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-description:where(.dark,.dark *){color:var(--gray-400)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-content{row-gap:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*6);flex-direction:column;display:flex}:is(.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-align-start,.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-align-left) .fi-modal-header{column-gap:calc(var(--spacing)*5)}:is(.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-align-start,.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-align-left) .fi-modal-icon-bg{padding:calc(var(--spacing)*2)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-align-center .fi-modal-header{text-align:center;flex-direction:column}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-align-center .fi-modal-icon-ctn{margin-bottom:calc(var(--spacing)*5);justify-content:center;align-items:center;display:flex}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-align-center .fi-modal-icon-bg{padding:calc(var(--spacing)*3)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-hidden{display:none}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-xs{max-width:var(--container-xs)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-sm{max-width:var(--container-sm)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-md{max-width:var(--container-md)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-lg{max-width:var(--container-lg)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-xl{max-width:var(--container-xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-2xl{max-width:var(--container-2xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-3xl{max-width:var(--container-3xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-4xl{max-width:var(--container-4xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-5xl{max-width:var(--container-5xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-6xl{max-width:var(--container-6xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-7xl{max-width:var(--container-7xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-full{max-width:100%}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-min{max-width:min-content}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-max{max-width:max-content}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-fit{max-width:fit-content}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-prose{max-width:65ch}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-screen-sm{max-width:var(--breakpoint-sm)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-screen-md{max-width:var(--breakpoint-md)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-screen-lg{max-width:var(--breakpoint-lg)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-screen-xl{max-width:var(--breakpoint-xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-screen-2xl{max-width:var(--breakpoint-2xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-screen{inset:calc(var(--spacing)*0);position:fixed}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-transition-enter,.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-transition-leave{--tw-duration:.3s;transition-duration:.3s}.fi-modal>.fi-modal-window-ctn>.fi-modal-window:not(.fi-modal-window-has-content) .fi-modal-footer:not(.fi-sticky){margin-top:calc(var(--spacing)*6)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window:not(.fi-modal-window-has-content):not(.fi-modal-window-has-footer) .fi-modal-header{padding-bottom:calc(var(--spacing)*6)}:is(.fi-modal>.fi-modal-window-ctn>.fi-modal-window:not(.fi-modal-window-has-icon),.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-modal-window-has-sticky-header) .fi-modal-content,:is(.fi-modal>.fi-modal-window-ctn>.fi-modal-window:not(.fi-modal-window-has-icon),.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-modal-window-has-sticky-header) .fi-modal-footer{padding-inline:calc(var(--spacing)*6)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-modal-window-has-close-btn.fi-align-center:not(.fi-modal-window-has-icon) .fi-modal-heading{margin-inline-start:calc(var(--spacing)*6)}:is(.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-modal-window-has-close-btn:not(.fi-modal-window-has-icon),.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-modal-window-has-close-btn.fi-align-start,.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-modal-window-has-close-btn.fi-align-left) .fi-modal-heading{margin-inline-end:calc(var(--spacing)*6)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-close-btn{position:absolute}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer{width:100%}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-sticky{bottom:calc(var(--spacing)*0);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-200);background-color:var(--color-white);padding-block:calc(var(--spacing)*5);position:sticky}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-sticky:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-sticky:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-sticky:where(.dark,.dark *){background-color:var(--gray-900)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer:not(.fi-sticky){padding-bottom:calc(var(--spacing)*6)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer:is(.fi-modal-slide-over .fi-modal-footer){margin-top:auto}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer .fi-modal-footer-actions{gap:calc(var(--spacing)*3)}:is(.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-align-start,.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-align-left) .fi-modal-footer-actions{flex-wrap:wrap;align-items:center;display:flex}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-align-center{padding-inline:calc(var(--spacing)*6)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-align-center .fi-modal-footer-actions{flex-direction:column-reverse;display:flex}:is(.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-align-end,.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-align-right) .fi-modal-footer-actions{flex-flow:row-reverse wrap;align-items:center;display:flex}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg{background-color:var(--gray-100);border-radius:3.40282e38px}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg:where(.dark,.dark *){background-color:var(--gray-500)}@supports (color:color-mix(in lab, red, red)){.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-500)20%,transparent)}}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg>.fi-icon{color:var(--gray-500)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg>.fi-icon:where(.dark,.dark *){color:var(--gray-400)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg.fi-color{background-color:var(--color-100)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg.fi-color:where(.dark,.dark *){background-color:var(--color-500)}@supports (color:color-mix(in lab, red, red)){.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg.fi-color:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-500)20%,transparent)}}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg.fi-color>.fi-icon{color:var(--color-600)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg.fi-color>.fi-icon:where(.dark,.dark *){color:var(--color-400)}@supports (container-type:inline-size){.fi-modal>.fi-modal-window-ctn>.fi-modal-window{container-type:inline-size}@container (min-width:24rem){.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-align-center .fi-modal-footer-actions{grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid}}}@supports not (container-type:inline-size){@media (min-width:40rem){.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-align-center .fi-modal-footer-actions{grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid}}}:scope .fi-modal-trigger{display:flex}.fi-pagination{align-items:center;column-gap:calc(var(--spacing)*3);grid-template-columns:1fr auto 1fr;display:grid}.fi-pagination:empty{display:none}.fi-pagination .fi-pagination-previous-btn{justify-self:flex-start}.fi-pagination .fi-pagination-overview{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-700);display:none}.fi-pagination .fi-pagination-overview:where(.dark,.dark *){color:var(--gray-200)}.fi-pagination .fi-pagination-records-per-page-select-ctn{grid-column-start:2;justify-self:center}.fi-pagination .fi-pagination-records-per-page-select:not(.fi-compact){display:none}.fi-pagination .fi-pagination-next-btn{grid-column-start:3;justify-self:flex-end}.fi-pagination .fi-pagination-items{border-radius:var(--radius-lg);background-color:var(--color-white);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);justify-self:flex-end;display:none}@supports (color:color-mix(in lab, red, red)){.fi-pagination .fi-pagination-items{--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}.fi-pagination .fi-pagination-items:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-pagination .fi-pagination-items:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-pagination .fi-pagination-items:where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-pagination .fi-pagination-items:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-pagination .fi-pagination-item{border-inline-style:var(--tw-border-style);border-inline-width:.5px;border-color:var(--gray-200)}.fi-pagination .fi-pagination-item:first-child{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.fi-pagination .fi-pagination-item:last-child{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}.fi-pagination .fi-pagination-item:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-pagination .fi-pagination-item:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-pagination .fi-pagination-item.fi-active .fi-pagination-item-btn{background-color:var(--gray-50)}.fi-pagination .fi-pagination-item.fi-active .fi-pagination-item-btn:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-pagination .fi-pagination-item.fi-active .fi-pagination-item-btn:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-pagination .fi-pagination-item.fi-active .fi-pagination-item-label{color:var(--primary-700)}.fi-pagination .fi-pagination-item.fi-active .fi-pagination-item-label:where(.dark,.dark *){color:var(--primary-400)}.fi-pagination .fi-pagination-item:first-of-type .fi-pagination-item-btn{border-start-start-radius:var(--radius-lg);border-end-start-radius:var(--radius-lg)}.fi-pagination .fi-pagination-item:last-of-type .fi-pagination-item-btn{border-start-end-radius:var(--radius-lg);border-end-end-radius:var(--radius-lg)}.fi-pagination .fi-pagination-item.fi-disabled .fi-pagination-item-label{color:var(--gray-500)}.fi-pagination .fi-pagination-item.fi-disabled .fi-pagination-item-label:where(.dark,.dark *){color:var(--gray-400)}.fi-pagination .fi-pagination-item-btn{padding:calc(var(--spacing)*2);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;--tw-outline-style:none;outline-style:none;transition-duration:75ms;display:flex;position:relative;overflow:hidden}@media (hover:hover){.fi-pagination .fi-pagination-item-btn:enabled:hover{background-color:var(--gray-50)}}.fi-pagination .fi-pagination-item-btn:enabled:focus-visible{z-index:10;--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--primary-600)}@media (hover:hover){.fi-pagination .fi-pagination-item-btn:enabled:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-pagination .fi-pagination-item-btn:enabled:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-pagination .fi-pagination-item-btn:enabled:where(.dark,.dark *):focus-visible{--tw-ring-color:var(--primary-500)}.fi-pagination .fi-pagination-item-btn:hover .fi-icon{color:var(--gray-500)}.fi-pagination .fi-pagination-item-btn:hover .fi-icon:where(.dark,.dark *){color:var(--gray-400)}.fi-pagination .fi-pagination-item-btn .fi-icon{color:var(--gray-400);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}.fi-pagination .fi-pagination-item-btn .fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-pagination .fi-pagination-item-btn .fi-pagination-item-label{padding-inline:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-700)}.fi-pagination .fi-pagination-item-btn .fi-pagination-item-label:where(.dark,.dark *){color:var(--gray-200)}@supports (container-type:inline-size){.fi-pagination{container-type:inline-size}@container (min-width:28rem){.fi-pagination .fi-pagination-records-per-page-select:not(.fi-compact){display:inline}.fi-pagination .fi-pagination-records-per-page-select.fi-compact{display:none}}@container (min-width:56rem){.fi-pagination:not(.fi-simple) .fi-pagination-previous-btn,.fi-pagination:not(.fi-simple) .fi-pagination-next-btn{display:none}.fi-pagination .fi-pagination-overview{display:inline}.fi-pagination .fi-pagination-items{display:flex}}}@supports not (container-type:inline-size){@media (min-width:40rem){.fi-pagination .fi-pagination-records-per-page-select:not(.fi-compact){display:inline}.fi-pagination .fi-pagination-records-per-page-select.fi-compact{display:none}}@media (min-width:48rem){.fi-pagination:not(.fi-simple) .fi-pagination-previous-btn,.fi-pagination:not(.fi-simple) .fi-pagination-next-btn{display:none}.fi-pagination .fi-pagination-overview{display:inline}.fi-pagination .fi-pagination-items{display:flex}}}.fi-section:not(.fi-section-not-contained):not(.fi-divided)>.fi-section-content-ctn>.fi-section-content,.fi-section:not(.fi-section-not-contained).fi-divided>.fi-section-content-ctn>.fi-section-content>*{padding:calc(var(--spacing)*6)}.fi-section:not(.fi-section-not-contained)>.fi-section-content-ctn>.fi-section-footer{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-200);padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*4)}.fi-section:not(.fi-section-not-contained)>.fi-section-content-ctn>.fi-section-footer:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-section:not(.fi-section-not-contained)>.fi-section-content-ctn>.fi-section-footer:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-section:not(.fi-section-not-contained):not(.fi-aside){border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-section:not(.fi-section-not-contained):not(.fi-aside){--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-section:not(.fi-section-not-contained):not(.fi-aside):where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-section:not(.fi-section-not-contained):not(.fi-aside):where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-section:not(.fi-section-not-contained):not(.fi-aside).fi-compact{border-radius:var(--radius-lg)}.fi-section:not(.fi-section-not-contained):not(.fi-aside).fi-secondary{background-color:var(--gray-50)}.fi-section:not(.fi-section-not-contained):not(.fi-aside).fi-secondary:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-section:not(.fi-section-not-contained):not(.fi-aside).fi-secondary:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-section:not(.fi-section-not-contained):not(.fi-aside)>.fi-section-header{padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*4)}.fi-section:not(.fi-section-not-contained):not(.fi-aside).fi-section-has-header:not(.fi-collapsed)>.fi-section-content-ctn{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-200)}.fi-section:not(.fi-section-not-contained):not(.fi-aside).fi-section-has-header:not(.fi-collapsed)>.fi-section-content-ctn:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-section:not(.fi-section-not-contained):not(.fi-aside).fi-section-has-header:not(.fi-collapsed)>.fi-section-content-ctn:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-section:not(.fi-section-not-contained).fi-aside>.fi-section-content-ctn{border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-section:not(.fi-section-not-contained).fi-aside>.fi-section-content-ctn{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}@media (min-width:48rem){.fi-section:not(.fi-section-not-contained).fi-aside>.fi-section-content-ctn{grid-column:span 2/span 2}}.fi-section:not(.fi-section-not-contained).fi-aside>.fi-section-content-ctn:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-section:not(.fi-section-not-contained).fi-aside>.fi-section-content-ctn:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-section:not(.fi-section-not-contained).fi-aside.fi-compact>.fi-section-content-ctn{border-radius:var(--radius-lg)}.fi-section:not(.fi-section-not-contained).fi-aside.fi-secondary>.fi-section-content-ctn{background-color:var(--gray-50)}.fi-section:not(.fi-section-not-contained).fi-aside.fi-secondary>.fi-section-content-ctn:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-section:not(.fi-section-not-contained).fi-aside.fi-secondary>.fi-section-content-ctn:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-section:not(.fi-section-not-contained).fi-compact:not(.fi-aside)>.fi-section-header{padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2.5)}.fi-section:not(.fi-section-not-contained).fi-compact:not(.fi-divided)>.fi-section-content-ctn>.fi-section-content,.fi-section:not(.fi-section-not-contained).fi-compact.fi-divided>.fi-section-content-ctn>.fi-section-content>*{padding:calc(var(--spacing)*4)}.fi-section:not(.fi-section-not-contained).fi-compact>.fi-section-footer{padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2.5)}@media (min-width:48rem){.fi-section.fi-section-not-contained.fi-aside>.fi-section-content-ctn{grid-column:span 2/span 2}}.fi-section.fi-section-not-contained:not(.fi-aside),.fi-section.fi-section-not-contained:not(.fi-aside)>.fi-section-content-ctn{row-gap:calc(var(--spacing)*4);display:grid}.fi-section.fi-section-not-contained:not(.fi-aside).fi-divided>.fi-section-content-ctn>.fi-section-content>*{padding-block:calc(var(--spacing)*6)}.fi-section.fi-section-not-contained:not(.fi-aside).fi-compact,.fi-section.fi-section-not-contained:not(.fi-aside).fi-compact>.fi-section-content-ctn{row-gap:calc(var(--spacing)*2.5)}.fi-section.fi-section-not-contained:not(.fi-aside).fi-compact.fi-divided>.fi-section-content-ctn>.fi-section-content>*{padding-block:calc(var(--spacing)*4)}:where(.fi-section.fi-divided>.fi-section-content-ctn>.fi-section-content>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-section.fi-divided>.fi-section-content-ctn>.fi-section-content:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-section.fi-divided>.fi-section-content-ctn>.fi-section-content:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-section.fi-aside{align-items:flex-start;column-gap:calc(var(--spacing)*6);row-gap:calc(var(--spacing)*4);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media (min-width:48rem){.fi-section.fi-aside{grid-template-columns:repeat(3,minmax(0,1fr))}}.fi-section.fi-collapsible>.fi-section-header{cursor:pointer}.fi-section.fi-collapsed>.fi-section-header>.fi-section-collapse-btn{rotate:180deg}.fi-section.fi-collapsed>.fi-section-content-ctn{visibility:hidden;height:calc(var(--spacing)*0);--tw-border-style:none;border-style:none;position:absolute;overflow:hidden}@media (min-width:48rem){.fi-section.fi-section-has-content-before>.fi-section-content-ctn{order:-9999}}.fi-section>.fi-section-header{align-items:center;gap:calc(var(--spacing)*3);display:flex}.fi-section>.fi-section-header>.fi-icon{color:var(--gray-400);flex-shrink:0}.fi-section>.fi-section-header>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-section>.fi-section-header>.fi-icon.fi-color{color:var(--color-500)}.fi-section>.fi-section-header>.fi-icon.fi-color:where(.dark,.dark *){color:var(--color-400)}.fi-section>.fi-section-header>.fi-icon.fi-size-sm{margin-top:calc(var(--spacing)*1)}.fi-section>.fi-section-header>.fi-icon.fi-size-md{margin-top:calc(var(--spacing)*.5)}.fi-section>.fi-section-header>.fi-section-header-after-ctn .fi-sc-text,.fi-section>.fi-section-header>.fi-section-header-after-ctn .fi-link{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.fi-section>.fi-section-header>.fi-section-header-after-ctn .fi-btn.fi-size-xs{margin-block:calc(var(--spacing)*-.5)}.fi-section>.fi-section-header>.fi-section-header-after-ctn .fi-btn.fi-size-sm{margin-block:calc(var(--spacing)*-1)}.fi-section>.fi-section-header>.fi-section-header-after-ctn .fi-btn.fi-size-md{margin-block:calc(var(--spacing)*-1.5)}.fi-section>.fi-section-header>.fi-section-header-after-ctn .fi-btn.fi-size-lg{margin-block:calc(var(--spacing)*-2)}.fi-section>.fi-section-header>.fi-section-header-after-ctn .fi-btn.fi-size-xl{margin-block:calc(var(--spacing)*-2.5)}.fi-section>.fi-section-header>.fi-section-collapse-btn{margin-block:calc(var(--spacing)*-1.5);flex-shrink:0}.fi-section .fi-section-header-text-ctn{row-gap:calc(var(--spacing)*1);flex:1;display:grid}.fi-section .fi-section-header-heading{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}.fi-section .fi-section-header-heading:where(.dark,.dark *){color:var(--color-white)}.fi-section .fi-section-header-description{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));overflow-wrap:break-word;color:var(--gray-500);overflow:hidden}.fi-section .fi-section-header-description:where(.dark,.dark *){color:var(--gray-400)}.fi-tabs{column-gap:calc(var(--spacing)*1);max-width:100%;display:flex;overflow-x:auto}.fi-tabs.fi-contained{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2.5)}.fi-tabs.fi-contained:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-tabs.fi-contained:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-tabs:not(.fi-contained){border-radius:var(--radius-xl);background-color:var(--color-white);padding:calc(var(--spacing)*2);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);margin-inline:auto}@supports (color:color-mix(in lab, red, red)){.fi-tabs:not(.fi-contained){--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-tabs:not(.fi-contained):where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-tabs:not(.fi-contained):where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-tabs.fi-vertical{column-gap:calc(var(--spacing)*0);row-gap:calc(var(--spacing)*1);flex-direction:column;overflow:hidden auto}.fi-tabs.fi-vertical.fi-contained{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:0}.fi-tabs.fi-vertical:not(.fi-contained){margin-inline:calc(var(--spacing)*0)}.fi-tabs.fi-vertical .fi-tabs-item{justify-content:flex-start}.fi-tabs-item{justify-content:center;align-items:center;column-gap:calc(var(--spacing)*2);border-radius:var(--radius-lg);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;--tw-outline-style:none;outline-style:none;transition-duration:75ms;display:flex}@media (hover:hover){.fi-tabs-item:hover{background-color:var(--gray-50)}}.fi-tabs-item:focus-visible{background-color:var(--gray-50)}@media (hover:hover){.fi-tabs-item:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-tabs-item:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-tabs-item:where(.dark,.dark *):focus-visible{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-tabs-item:where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-tabs-item.fi-active{background-color:var(--gray-50)}.fi-tabs-item.fi-active:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-tabs-item.fi-active:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-tabs-item.fi-active .fi-tabs-item-label,.fi-tabs-item.fi-active .fi-icon{color:var(--primary-700)}:is(.fi-tabs-item.fi-active .fi-tabs-item-label,.fi-tabs-item.fi-active .fi-icon):where(.dark,.dark *){color:var(--primary-400)}.fi-tabs-item :not(.fi-active):hover .fi-tabs-item-label,.fi-tabs-item :not(.fi-active):hover .fi-tabs-item-label:is(:where(.group):focus-visible *){color:var(--gray-700)}.fi-tabs-item :not(.fi-active):hover .fi-tabs-item-label:where(.dark,.dark *),.fi-tabs-item :not(.fi-active):hover .fi-tabs-item-label:where(.dark,.dark *):is(:where(.group):focus-visible *){color:var(--gray-200)}.fi-tabs-item :not(.fi-active):focus-visible .fi-tabs-item-label{color:var(--gray-700)}.fi-tabs-item :not(.fi-active):focus-visible .fi-tabs-item-label:where(.dark,.dark *){color:var(--gray-200)}.fi-tabs-item .fi-tabs-item-label{color:var(--gray-500);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}.fi-tabs-item .fi-tabs-item-label:where(.dark,.dark *){color:var(--gray-400)}.fi-tabs-item .fi-icon{color:var(--gray-400);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;flex-shrink:0;transition-duration:75ms}.fi-tabs-item .fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-tabs-item .fi-badge{width:max-content}.fi-toggle{height:calc(var(--spacing)*6);width:calc(var(--spacing)*11);cursor:pointer;border-style:var(--tw-border-style);background-color:var(--gray-200);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;--tw-ease:var(--ease-in-out);transition-duration:.2s;transition-timing-function:var(--ease-in-out);--tw-outline-style:none;border-width:2px;border-color:#0000;border-radius:3.40282e38px;outline-style:none;flex-shrink:0;display:inline-flex;position:relative}.fi-toggle:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--primary-600);--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.fi-toggle:disabled{pointer-events:none;opacity:.7}.fi-toggle:where(.dark,.dark *){background-color:var(--gray-700)}.fi-toggle:where(.dark,.dark *):focus-visible{--tw-ring-color:var(--primary-500);--tw-ring-offset-color:var(--gray-900)}.fi-toggle:disabled,.fi-toggle[disabled]{pointer-events:none;opacity:.7}.fi-toggle.fi-color{background-color:var(--bg)}.fi-toggle.fi-color:where(.dark,.dark *){background-color:var(--dark-bg)}.fi-toggle.fi-color .fi-icon{color:var(--text)}.fi-toggle.fi-hidden{display:none}.fi-toggle>:first-child{pointer-events:none;width:calc(var(--spacing)*5);height:calc(var(--spacing)*5);transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,);background-color:var(--color-white);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;--tw-ease:var(--ease-in-out);transition-duration:.2s;transition-timing-function:var(--ease-in-out);border-radius:3.40282e38px;display:inline-block;position:relative}.fi-toggle>:first-child>*{inset:calc(var(--spacing)*0);width:100%;height:100%;transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));justify-content:center;align-items:center;display:flex;position:absolute}.fi-toggle .fi-icon{color:var(--gray-400)}.fi-toggle .fi-icon:where(.dark,.dark *){color:var(--gray-700)}.fi-toggle.fi-toggle-on>:first-child{--tw-translate-x:calc(var(--spacing)*5);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-toggle.fi-toggle-on>:first-child:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--spacing)*-5);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-toggle.fi-toggle-on>:first-child>:first-child{opacity:0;--tw-duration:.1s;--tw-ease:var(--ease-out);transition-duration:.1s;transition-timing-function:var(--ease-out)}.fi-toggle.fi-toggle-on>:first-child>:last-child{opacity:1;--tw-duration:.2s;--tw-ease:var(--ease-in);transition-duration:.2s;transition-timing-function:var(--ease-in)}.fi-toggle.fi-toggle-off>:first-child{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-toggle.fi-toggle-off>:first-child>:first-child{opacity:1;--tw-duration:.2s;--tw-ease:var(--ease-in);transition-duration:.2s;transition-timing-function:var(--ease-in)}.fi-toggle.fi-toggle-off>:first-child>:last-child{opacity:0;--tw-duration:.1s;--tw-ease:var(--ease-out);transition-duration:.1s;transition-timing-function:var(--ease-out)}.fi-sortable-ghost{opacity:.3}.fi-ac{gap:calc(var(--spacing)*3)}.fi-ac:not(.fi-width-full){flex-wrap:wrap;align-items:center;display:flex}.fi-ac:not(.fi-width-full).fi-align-start,.fi-ac:not(.fi-width-full).fi-align-left{justify-content:flex-start}.fi-ac:not(.fi-width-full).fi-align-center{justify-content:center}.fi-ac:not(.fi-width-full).fi-align-end,.fi-ac:not(.fi-width-full).fi-align-right{flex-direction:row-reverse}.fi-ac:not(.fi-width-full).fi-align-between,.fi-ac:not(.fi-width-full).fi-align-justify{justify-content:space-between}.fi-ac.fi-width-full{grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid}.CodeMirror{color:#000;direction:ltr;height:300px;font-family:monospace}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{white-space:nowrap;background-color:#f7f7f7;border-right:1px solid #ddd}.CodeMirror-linenumber{text-align:right;color:#999;white-space:nowrap;min-width:20px;padding:0 3px 0 5px}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{background:#7e7;width:auto;border:0!important}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection{background:0 0}.cm-fat-cursor .CodeMirror-line>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line>span>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line::-moz-selection{background:0 0}.cm-fat-cursor .CodeMirror-line>span::-moz-selection{background:0 0}.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:0 0}.cm-fat-cursor{caret-color:#0000}@keyframes blink{50%{background-color:#0000}}.cm-tab{-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;display:inline-block}.CodeMirror-rulers{position:absolute;inset:-50px 0 0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;position:absolute;top:0;bottom:0}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error,.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:#ff96004d}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{background:#fff;position:relative;overflow:hidden}.CodeMirror-scroll{z-index:0;outline:0;height:100%;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;position:relative;overflow:scroll!important}.CodeMirror-sizer{border-right:50px solid #0000;position:relative}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{z-index:6;outline:0;display:none;position:absolute}.CodeMirror-vscrollbar{top:0;right:0;overflow:hidden scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow:scroll hidden}.CodeMirror-scrollbar-filler{bottom:0;right:0}.CodeMirror-gutter-filler{bottom:0;left:0}.CodeMirror-gutters{z-index:3;min-height:100%;position:absolute;top:0;left:0}.CodeMirror-gutter{white-space:normal;vertical-align:top;height:100%;margin-bottom:-50px;display:inline-block}.CodeMirror-gutter-wrapper{z-index:4;position:absolute;background:0 0!important;border:none!important}.CodeMirror-gutter-background{z-index:4;position:absolute;top:0;bottom:0}.CodeMirror-gutter-elt{cursor:default;z-index:4;position:absolute}.CodeMirror-gutter-wrapper ::selection{background-color:#0000}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{font-family:inherit;font-size:inherit;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;background:0 0;border-width:0;border-radius:0;margin:0;position:relative;overflow:visible}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{z-index:0;position:absolute;inset:0}.CodeMirror-linewidget{z-index:2;padding:.1px;position:relative}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{box-sizing:content-box}.CodeMirror-measure{visibility:hidden;width:100%;height:0;position:absolute;overflow:hidden}.CodeMirror-cursor{pointer-events:none;position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;z-index:3;position:relative}div.CodeMirror-dragcursors,.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection{background:#d7d4f0}.CodeMirror-line>span::selection{background:#d7d4f0}.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection{background:#d7d4f0}.CodeMirror-line>span::-moz-selection{background:#d7d4f0}.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:0 0}.EasyMDEContainer{display:block}.CodeMirror-rtl pre{direction:rtl}.EasyMDEContainer.sided--no-fullscreen{flex-flow:wrap;display:flex}.EasyMDEContainer .CodeMirror{box-sizing:border-box;height:auto;font:inherit;z-index:0;word-wrap:break-word;border:1px solid #ced4da;border-bottom-right-radius:4px;border-bottom-left-radius:4px;padding:10px}.EasyMDEContainer .CodeMirror-scroll{cursor:text}.EasyMDEContainer .CodeMirror-fullscreen{z-index:8;background:#fff;height:auto;inset:50px 0 0;border-right:none!important;border-bottom-right-radius:0!important;position:fixed!important}.EasyMDEContainer .CodeMirror-sided{width:50%!important}.EasyMDEContainer.sided--no-fullscreen .CodeMirror-sided{border-bottom-right-radius:0;flex:auto;position:relative;border-right:none!important}.EasyMDEContainer .CodeMirror-placeholder{opacity:.5}.EasyMDEContainer .CodeMirror-focused .CodeMirror-selected{background:#d9d9d9}.editor-toolbar{-webkit-user-select:none;user-select:none;-o-user-select:none;border-top:1px solid #ced4da;border-left:1px solid #ced4da;border-right:1px solid #ced4da;border-top-left-radius:4px;border-top-right-radius:4px;padding:9px 10px;position:relative}.editor-toolbar.fullscreen{box-sizing:border-box;opacity:1;z-index:9;background:#fff;border:0;width:100%;height:50px;padding-top:10px;padding-bottom:10px;position:fixed;top:0;left:0}.editor-toolbar.fullscreen:before{background:-o-linear-gradient(270deg,#fff 0,#fff0 100%);background:-ms-linear-gradient(left,#fff 0,#fff0 100%);background:linear-gradient(90deg,#fff 0,#fff0);width:20px;height:50px;margin:0;padding:0;position:fixed;top:0;left:0}.editor-toolbar.fullscreen:after{background:-o-linear-gradient(270deg,#fff0 0,#fff 100%);background:-ms-linear-gradient(left,#fff0 0,#fff 100%);background:linear-gradient(90deg,#fff0 0,#fff);width:20px;height:50px;margin:0;padding:0;position:fixed;top:0;right:0}.EasyMDEContainer.sided--no-fullscreen .editor-toolbar{width:100%}.editor-toolbar .easymde-dropdown,.editor-toolbar button{text-align:center;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;height:30px;margin:0;padding:0;display:inline-block;text-decoration:none!important}.editor-toolbar button{white-space:nowrap;min-width:30px;padding:0 6px;font-weight:700}.editor-toolbar button.active,.editor-toolbar button:hover{background:#fcfcfc;border-color:#95a5a6}.editor-toolbar i.separator{color:#0000;text-indent:-10px;border-left:1px solid #d9d9d9;border-right:1px solid #fff;width:0;margin:0 6px;display:inline-block}.editor-toolbar button:after{vertical-align:text-bottom;font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:65%;position:relative;top:2px}.editor-toolbar button.heading-1:after{content:"1"}.editor-toolbar button.heading-2:after{content:"2"}.editor-toolbar button.heading-3:after{content:"3"}.editor-toolbar button.heading-bigger:after{content:"▲"}.editor-toolbar button.heading-smaller:after{content:"▼"}.editor-toolbar.disabled-for-preview button:not(.no-disable){opacity:.6;pointer-events:none}@media only screen and (max-width:700px){.editor-toolbar i.no-mobile{display:none}}.editor-statusbar{color:#959694;text-align:right;padding:8px 10px;font-size:12px}.EasyMDEContainer.sided--no-fullscreen .editor-statusbar{width:100%}.editor-statusbar span{min-width:4em;margin-left:1em;display:inline-block}.editor-statusbar .lines:before{content:"lines: "}.editor-statusbar .words:before{content:"words: "}.editor-statusbar .characters:before{content:"characters: "}.editor-preview-full{z-index:7;box-sizing:border-box;width:100%;height:100%;display:none;position:absolute;top:0;left:0;overflow:auto}.editor-preview-side{z-index:9;box-sizing:border-box;word-wrap:break-word;border:1px solid #ddd;width:50%;display:none;position:fixed;top:50px;bottom:0;right:0;overflow:auto}.editor-preview-active-side{display:block}.EasyMDEContainer.sided--no-fullscreen .editor-preview-active-side{flex:auto;height:auto;position:static}.editor-preview-active{display:block}.editor-preview{background:#fafafa;padding:10px}.editor-preview>p{margin-top:0}.editor-preview pre{background:#eee;margin-bottom:10px}.editor-preview table td,.editor-preview table th{border:1px solid #ddd;padding:5px}.cm-s-easymde .cm-tag{color:#63a35c}.cm-s-easymde .cm-attribute{color:#795da3}.cm-s-easymde .cm-string{color:#183691}.cm-s-easymde .cm-header-1{font-size:calc(1.375rem + 1.5vw)}.cm-s-easymde .cm-header-2{font-size:calc(1.325rem + .9vw)}.cm-s-easymde .cm-header-3{font-size:calc(1.3rem + .6vw)}.cm-s-easymde .cm-header-4{font-size:calc(1.275rem + .3vw)}.cm-s-easymde .cm-header-5{font-size:1.25rem}.cm-s-easymde .cm-header-6{font-size:1rem}.cm-s-easymde .cm-header-1,.cm-s-easymde .cm-header-2,.cm-s-easymde .cm-header-3,.cm-s-easymde .cm-header-4,.cm-s-easymde .cm-header-5,.cm-s-easymde .cm-header-6{margin-bottom:.5rem;line-height:1.2}.cm-s-easymde .cm-comment{background:#0000000d;border-radius:2px}.cm-s-easymde .cm-link{color:#7f8c8d}.cm-s-easymde .cm-url{color:#aab2b3}.cm-s-easymde .cm-quote{color:#7f8c8d;font-style:italic}.editor-toolbar .easymde-dropdown{background:linear-gradient(to bottom right,#fff 0 84%,#333 50% 100%);border:1px solid #fff;border-radius:0;position:relative}.editor-toolbar .easymde-dropdown:hover{background:linear-gradient(to bottom right,#fff 0 84%,#333 50% 100%)}.easymde-dropdown-content{visibility:hidden;z-index:2;background-color:#f9f9f9;padding:8px;display:block;position:absolute;top:30px;box-shadow:0 8px 16px #0003}.easymde-dropdown:active .easymde-dropdown-content,.easymde-dropdown:focus .easymde-dropdown-content,.easymde-dropdown:focus-within .easymde-dropdown-content{visibility:visible}.easymde-dropdown-content button{display:block}span[data-img-src]:after{content:"";background-image:var(--bg-image);max-width:100%;height:0;max-height:100%;padding-top:var(--height);width:var(--width);background-repeat:no-repeat;background-size:contain;display:block}.CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word){background:#ff000026}.cropper-container{-webkit-touch-callout:none;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;user-select:none;direction:ltr;font-size:0;line-height:0;position:relative}.cropper-container img{backface-visibility:hidden;image-orientation:0deg;width:100%;height:100%;display:block;min-width:0!important;max-width:none!important;min-height:0!important;max-height:none!important}.cropper-canvas,.cropper-crop-box,.cropper-drag-box,.cropper-modal,.cropper-wrap-box{position:absolute;inset:0}.cropper-canvas,.cropper-wrap-box{overflow:hidden}.cropper-drag-box{opacity:0;background-color:#fff}.cropper-modal{opacity:.5;background-color:#000}.cropper-view-box{outline:1px solid #3399ffbf;width:100%;height:100%;display:block;overflow:hidden}.cropper-dashed{opacity:.5;border:0 dashed #eee;display:block;position:absolute}.cropper-dashed.dashed-h{border-top-width:1px;border-bottom-width:1px;width:100%;height:33.3333%;top:33.3333%;left:0}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;width:33.3333%;height:100%;top:0;left:33.3333%}.cropper-center{opacity:.75;width:0;height:0;display:block;position:absolute;top:50%;left:50%}.cropper-center:after,.cropper-center:before{content:" ";background-color:#eee;display:block;position:absolute}.cropper-center:before{width:7px;height:1px;top:0;left:-3px}.cropper-center:after{width:1px;height:7px;top:-3px;left:0}.cropper-face,.cropper-line,.cropper-point{opacity:.1;width:100%;height:100%;display:block;position:absolute}.cropper-face{background-color:#fff;top:0;left:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;width:5px;top:0;right:-3px}.cropper-line.line-n{cursor:ns-resize;height:5px;top:-3px;left:0}.cropper-line.line-w{cursor:ew-resize;width:5px;top:0;left:-3px}.cropper-line.line-s{cursor:ns-resize;height:5px;bottom:-3px;left:0}.cropper-point{opacity:.75;background-color:#39f;width:5px;height:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;top:50%;right:-3px}.cropper-point.point-n{cursor:ns-resize;margin-left:-3px;top:-3px;left:50%}.cropper-point.point-w{cursor:ew-resize;margin-top:-3px;top:50%;left:-3px}.cropper-point.point-s{cursor:s-resize;margin-left:-3px;bottom:-3px;left:50%}.cropper-point.point-ne{cursor:nesw-resize;top:-3px;right:-3px}.cropper-point.point-nw{cursor:nwse-resize;top:-3px;left:-3px}.cropper-point.point-sw{cursor:nesw-resize;bottom:-3px;left:-3px}.cropper-point.point-se{cursor:nwse-resize;opacity:1;width:20px;height:20px;bottom:-3px;right:-3px}@media (min-width:768px){.cropper-point.point-se{width:15px;height:15px}}@media (min-width:992px){.cropper-point.point-se{width:10px;height:10px}}@media (min-width:1200px){.cropper-point.point-se{opacity:.75;width:5px;height:5px}}.cropper-point.point-se:before{content:" ";opacity:0;background-color:#39f;width:200%;height:200%;display:block;position:absolute;bottom:-50%;right:-50%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{width:0;height:0;display:block;position:absolute}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.filepond--assistant{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.filepond--browser.filepond--browser{opacity:0;width:calc(100% - 2em);margin:0;padding:0;font-size:0;position:absolute;top:1.75em;left:1em}.filepond--data{visibility:hidden;pointer-events:none;contain:strict;border:none;width:0;height:0;margin:0;padding:0;position:absolute}.filepond--drip{opacity:.1;pointer-events:none;background:#00000003;border-radius:.5em;position:absolute;inset:0;overflow:hidden}.filepond--drip-blob{transform-origin:50%;background:#292625;border-radius:50%;width:8em;height:8em;margin-top:-4em;margin-left:-4em}.filepond--drip-blob,.filepond--drop-label{will-change:transform,opacity;position:absolute;top:0;left:0}.filepond--drop-label{color:#4f4f4f;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;height:0;margin:0;display:flex;right:0}.filepond--drop-label.filepond--drop-label label{margin:0;padding:.5em;display:block}.filepond--drop-label label{cursor:default;text-align:center;font-size:.875em;font-weight:400;line-height:1.5}.filepond--label-action{-webkit-text-decoration-skip:ink;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto;cursor:pointer;-webkit-text-decoration:underline #a7a4a4;text-decoration:underline #a7a4a4}.filepond--root[data-disabled] .filepond--drop-label label{opacity:.5}.filepond--file-action-button.filepond--file-action-button{width:1.625em;height:1.625em;font-family:inherit;font-size:1em;line-height:inherit;will-change:transform,opacity;border:none;outline:none;margin:0;padding:0}.filepond--file-action-button.filepond--file-action-button span{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.filepond--file-action-button.filepond--file-action-button svg{width:100%;height:100%}.filepond--file-action-button.filepond--file-action-button:after{content:"";position:absolute;inset:-.75em}.filepond--file-action-button{cursor:auto;color:#fff;background-color:#00000080;background-image:none;border-radius:50%;transition:box-shadow .25s ease-in;box-shadow:0 0 #fff0}.filepond--file-action-button:focus,.filepond--file-action-button:hover{box-shadow:0 0 0 .125em #ffffffe6}.filepond--file-action-button[disabled]{color:#ffffff80;background-color:#00000040}.filepond--file-action-button[hidden]{display:none}.filepond--file-info{will-change:transform,opacity;pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;flex:1;align-items:flex-start;min-width:0;margin:0 .5em 0 0;display:flex;position:static}.filepond--file-info *{margin:0}.filepond--file-info .filepond--file-info-main{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:.75em;line-height:1.2;overflow:hidden}.filepond--file-info .filepond--file-info-sub{opacity:.5;white-space:nowrap;font-size:.625em;transition:opacity .25s ease-in-out}.filepond--file-info .filepond--file-info-sub:empty{display:none}.filepond--file-status{text-align:right;will-change:transform,opacity;pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;flex-grow:0;flex-shrink:0;align-items:flex-end;min-width:2.25em;margin:0;display:flex;position:static}.filepond--file-status *{white-space:nowrap;margin:0}.filepond--file-status .filepond--file-status-main{font-size:.75em;line-height:1.2}.filepond--file-status .filepond--file-status-sub{opacity:.5;font-size:.625em;transition:opacity .25s ease-in-out}.filepond--file-wrapper.filepond--file-wrapper{border:none;min-width:0;height:100%;margin:0;padding:0}.filepond--file-wrapper.filepond--file-wrapper>legend{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.filepond--file{color:#fff;border-radius:.5em;align-items:flex-start;height:100%;padding:.5625em;display:flex;position:static}.filepond--file .filepond--file-status{margin-left:auto;margin-right:2.25em}.filepond--file .filepond--processing-complete-indicator{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:3}.filepond--file .filepond--file-action-button,.filepond--file .filepond--processing-complete-indicator,.filepond--file .filepond--progress-indicator{position:absolute}.filepond--file [data-align*=left]{left:.5625em}.filepond--file [data-align*=right]{right:.5625em}.filepond--file [data-align*=center]{left:calc(50% - .8125em)}.filepond--file [data-align*=bottom]{bottom:1.125em}.filepond--file [data-align=center]{top:calc(50% - .8125em)}.filepond--file .filepond--progress-indicator{margin-top:.1875em}.filepond--file .filepond--progress-indicator[data-align*=right]{margin-right:.1875em}.filepond--file .filepond--progress-indicator[data-align*=left]{margin-left:.1875em}[data-filepond-item-state*=error] .filepond--file-info,[data-filepond-item-state*=invalid] .filepond--file-info,[data-filepond-item-state=cancelled] .filepond--file-info{margin-right:2.25em}[data-filepond-item-state~=processing] .filepond--file-status-sub{opacity:0}[data-filepond-item-state~=processing] .filepond--action-abort-item-processing~.filepond--file-status .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-error] .filepond--file-status-sub{opacity:0}[data-filepond-item-state=processing-error] .filepond--action-retry-item-processing~.filepond--file-status .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing svg{animation:.5s linear .125s both fall}[data-filepond-item-state=processing-complete] .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-complete] .filepond--file-info-sub,[data-filepond-item-state=processing-complete] .filepond--processing-complete-indicator:not([style*=hidden])~.filepond--file-status .filepond--file-status-sub{opacity:0}[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing~.filepond--file-info .filepond--file-info-sub{opacity:.5}[data-filepond-item-state*=error] .filepond--file-wrapper,[data-filepond-item-state*=error] .filepond--panel,[data-filepond-item-state*=invalid] .filepond--file-wrapper,[data-filepond-item-state*=invalid] .filepond--panel{animation:.65s linear both shake}[data-filepond-item-state*=busy] .filepond--progress-indicator svg{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes shake{10%,90%{transform:translate(-.0625em)}20%,80%{transform:translate(.125em)}30%,50%,70%{transform:translate(-.25em)}40%,60%{transform:translate(.25em)}}@keyframes fall{0%{opacity:0;animation-timing-function:ease-out;transform:scale(.5)}70%{opacity:1;animation-timing-function:ease-in-out;transform:scale(1.1)}to{animation-timing-function:ease-out;transform:scale(1)}}.filepond--hopper[data-hopper-state=drag-over]>*{pointer-events:none}.filepond--hopper[data-hopper-state=drag-over]:after{content:"";z-index:100;position:absolute;inset:0}.filepond--progress-indicator{z-index:103}.filepond--file-action-button{z-index:102}.filepond--file-status{z-index:101}.filepond--file-info{z-index:100}.filepond--item{z-index:1;will-change:transform,opacity;touch-action:auto;margin:.25em;padding:0;position:absolute;top:0;left:0;right:0}.filepond--item>.filepond--panel{z-index:-1}.filepond--item>.filepond--panel .filepond--panel-bottom{box-shadow:0 .0625em .125em -.0625em #00000040}.filepond--item>.filepond--file-wrapper,.filepond--item>.filepond--panel{transition:opacity .15s ease-out}.filepond--item[data-drag-state]{cursor:-webkit-grab;cursor:grab}.filepond--item[data-drag-state]>.filepond--panel{transition:box-shadow .125s ease-in-out;box-shadow:0 0 #0000}.filepond--item[data-drag-state=drag]{cursor:-webkit-grabbing;cursor:grabbing}.filepond--item[data-drag-state=drag]>.filepond--panel{box-shadow:0 .125em .3125em #00000053}.filepond--item[data-drag-state]:not([data-drag-state=idle]){z-index:2}.filepond--item-panel{background-color:#64605e}[data-filepond-item-state=processing-complete] .filepond--item-panel{background-color:#369763}[data-filepond-item-state*=error] .filepond--item-panel,[data-filepond-item-state*=invalid] .filepond--item-panel{background-color:#c44e47}.filepond--item-panel{border-radius:.5em;transition:background-color .25s}.filepond--list-scroller{will-change:transform;margin:0;position:absolute;top:0;left:0;right:0}.filepond--list-scroller[data-state=overflow] .filepond--list{bottom:0;right:0}.filepond--list-scroller[data-state=overflow]{-webkit-overflow-scrolling:touch;overflow:hidden scroll;-webkit-mask:linear-gradient(#000 calc(100% - .5em),#0000);mask:linear-gradient(#000 calc(100% - .5em),#0000)}.filepond--list-scroller::-webkit-scrollbar{background:0 0}.filepond--list-scroller::-webkit-scrollbar:vertical{width:1em}.filepond--list-scroller::-webkit-scrollbar:horizontal{height:0}.filepond--list-scroller::-webkit-scrollbar-thumb{background-color:#0000004d;background-clip:content-box;border:.3125em solid #0000;border-radius:99999px}.filepond--list.filepond--list{will-change:transform;margin:0;padding:0;list-style-type:none;position:absolute;top:0}.filepond--list{left:.75em;right:.75em}.filepond--root[data-style-panel-layout~=integrated]{width:100%;max-width:none;height:100%;margin:0}.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root,.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root{border-radius:0}.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root>*,.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root>*{display:none}.filepond--root[data-style-panel-layout~=circle] .filepond--drop-label,.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label{z-index:7;justify-content:center;align-items:center;height:auto;display:flex;bottom:0}.filepond--root[data-style-panel-layout~=circle] .filepond--item-panel,.filepond--root[data-style-panel-layout~=integrated] .filepond--item-panel{display:none}.filepond--root[data-style-panel-layout~=compact] .filepond--list-scroller,.filepond--root[data-style-panel-layout~=integrated] .filepond--list-scroller{height:100%;margin-top:0;margin-bottom:0;overflow:hidden}.filepond--root[data-style-panel-layout~=compact] .filepond--list,.filepond--root[data-style-panel-layout~=integrated] .filepond--list{height:100%;left:0;right:0}.filepond--root[data-style-panel-layout~=compact] .filepond--item,.filepond--root[data-style-panel-layout~=integrated] .filepond--item{margin:0}.filepond--root[data-style-panel-layout~=compact] .filepond--file-wrapper,.filepond--root[data-style-panel-layout~=integrated] .filepond--file-wrapper{height:100%}.filepond--root[data-style-panel-layout~=compact] .filepond--drop-label,.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label{z-index:7}.filepond--root[data-style-panel-layout~=circle]{border-radius:99999rem;overflow:hidden}.filepond--root[data-style-panel-layout~=circle]>.filepond--panel{border-radius:inherit}.filepond--root[data-style-panel-layout~=circle]>.filepond--panel>*,.filepond--root[data-style-panel-layout~=circle] .filepond--file-info,.filepond--root[data-style-panel-layout~=circle] .filepond--file-status{display:none}@media not all and (min-resolution:.001dpcm){@supports ((-webkit-appearance:none)) and (stroke-color:transparent){.filepond--root[data-style-panel-layout~=circle]{will-change:transform}}}.filepond--panel-root{background-color:#f1f0ef;border-radius:.5em}.filepond--panel{pointer-events:none;margin:0;position:absolute;top:0;left:0;right:0;height:100%!important}.filepond-panel:not([data-scalable=false]){height:auto!important}.filepond--panel[data-scalable=false]>div{display:none}.filepond--panel[data-scalable=true]{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;background-color:#0000!important;border:none!important}.filepond--panel-bottom,.filepond--panel-center,.filepond--panel-top{margin:0;padding:0;position:absolute;top:0;left:0;right:0}.filepond--panel-bottom,.filepond--panel-top{height:.5em}.filepond--panel-top{border-bottom:none!important;border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.filepond--panel-top:after{content:"";background-color:inherit;height:2px;position:absolute;bottom:-1px;left:0;right:0}.filepond--panel-bottom,.filepond--panel-center{will-change:transform;backface-visibility:hidden;transform-origin:0 0;transform:translateY(.5em)}.filepond--panel-bottom{border-top:none!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.filepond--panel-bottom:before{content:"";background-color:inherit;height:2px;position:absolute;top:-1px;left:0;right:0}.filepond--panel-center{border-top:none!important;border-bottom:none!important;border-radius:0!important;height:100px!important}.filepond--panel-center:not([style]){visibility:hidden}.filepond--progress-indicator{color:#fff;pointer-events:none;will-change:transform,opacity;width:1.25em;height:1.25em;margin:0;position:static}.filepond--progress-indicator svg{vertical-align:top;transform-box:fill-box;width:100%;height:100%}.filepond--progress-indicator path{fill:none;stroke:currentColor}.filepond--list-scroller{z-index:6}.filepond--drop-label{z-index:5}.filepond--drip{z-index:3}.filepond--root>.filepond--panel{z-index:2}.filepond--browser{z-index:1}.filepond--root{box-sizing:border-box;text-align:left;text-rendering:optimizeLegibility;contain:layout style size;direction:ltr;margin-bottom:1em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:1rem;font-weight:450;line-height:normal;position:relative}.filepond--root *{box-sizing:inherit;line-height:inherit}.filepond--root :not(text){font-size:inherit}.filepond--root[data-disabled]{pointer-events:none}.filepond--root[data-disabled] .filepond--list-scroller{pointer-events:all}.filepond--root[data-disabled] .filepond--list{pointer-events:none}.filepond--root .filepond--drop-label{min-height:4.75em}.filepond--root .filepond--list-scroller{margin-top:1em;margin-bottom:1em}.filepond--root .filepond--credits{opacity:.4;color:inherit;z-index:3;font-size:11px;line-height:.85;text-decoration:none;position:absolute;bottom:-14px;right:0}.filepond--root .filepond--credits[style]{margin-top:14px;top:0;bottom:auto}.filepond--action-edit-item.filepond--action-edit-item{width:2em;height:2em;padding:.1875em}.filepond--action-edit-item.filepond--action-edit-item[data-align*=center]{margin-left:-.1875em}.filepond--action-edit-item.filepond--action-edit-item[data-align*=bottom]{margin-bottom:-.1875em}.filepond--action-edit-item-alt{line-height:inherit;color:inherit;pointer-events:all;background:0 0;border:none;outline:none;margin:0 0 0 .25em;padding:0;font-family:inherit;position:absolute}.filepond--action-edit-item-alt svg{width:1.3125em;height:1.3125em}.filepond--action-edit-item-alt span{opacity:0;font-size:0}.filepond--root[data-style-panel-layout~=circle] .filepond--action-edit-item{opacity:1!important;visibility:visible!important}.filepond--image-preview-markup{position:absolute;top:0;left:0}.filepond--image-preview-wrapper{z-index:2}.filepond--image-preview-overlay{opacity:0;z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;min-height:5rem;max-height:7rem;margin:0;display:block;position:absolute;top:0;left:0}.filepond--image-preview-overlay svg{width:100%;height:auto;color:inherit;max-height:inherit}.filepond--image-preview-overlay-idle{mix-blend-mode:multiply;color:#282828d9}.filepond--image-preview-overlay-success{mix-blend-mode:normal;color:#369763}.filepond--image-preview-overlay-failure{mix-blend-mode:normal;color:#c44e47}@supports (-webkit-marquee-repetition:infinite) and ((-o-object-fit:fill) or (object-fit:fill)){.filepond--image-preview-overlay-idle{mix-blend-mode:normal}}.filepond--image-preview-wrapper{-webkit-user-select:none;user-select:none;background:#00000003;border-radius:.45em;height:100%;margin:0;position:absolute;top:0;left:0;right:0;overflow:hidden}.filepond--image-preview{z-index:1;pointer-events:none;will-change:transform,opacity;background:#222;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.filepond--image-clip{margin:0 auto;position:relative;overflow:hidden}.filepond--image-clip[data-transparency-indicator=grid] img,.filepond--image-clip[data-transparency-indicator=grid] canvas{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' fill='%23eee'%3E%3Cpath d='M0 0 H50 V50 H0'/%3E%3Cpath d='M50 50 H100 V100 H50'/%3E%3C/svg%3E");background-size:1.25em 1.25em}.filepond--image-bitmap,.filepond--image-vector{will-change:transform;position:absolute;top:0;left:0}.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview-wrapper{border-radius:0}.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview{justify-content:center;align-items:center;height:100%;display:flex}.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-wrapper{border-radius:99999rem}.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-overlay{top:auto;bottom:0;transform:scaleY(-1)}.filepond--root[data-style-panel-layout~=circle] .filepond--file .filepond--file-action-button[data-align*=bottom]:not([data-align*=center]){margin-bottom:.325em}.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=left]{left:calc(50% - 3em)}.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=right]{right:calc(50% - 3em)}.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=left],.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=right]{margin-bottom:.5125em}.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=center]{margin-top:0;margin-bottom:.1875em;margin-left:.1875em}.filepond--media-preview audio{display:none}.filepond--media-preview .audioplayer{width:calc(100% - 1.4em);margin:2.3em auto auto}.filepond--media-preview .playpausebtn{float:left;cursor:pointer;background-position:50%;background-repeat:no-repeat;border:none;border-radius:25px;outline:none;width:25px;height:25px;margin-top:.3em;margin-right:.3em}.filepond--media-preview .playpausebtn:hover{background-color:#00000080}.filepond--media-preview .play{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAyElEQVQ4T9XUsWoCQRRG4XPaFL5SfIy8gKYKBCysrax8Ahs7qzQ2qVIFOwsrsbEWLEK6EBFGBrIQhN2d3dnGgalm+Jh7789Ix8uOPe4YDCH0gZ66atKW0pJDCE/AEngDXtRjCpwCRucbGANzNVTBqWBhfAJDdV+GNgWj8wtM41bPt3AbsDB2f69d/0dzwC0wUDe54A8wAWbqJbfkD+BZPeQO5QsYqYu6LKb0MIb7VT3VYfG8CnwEHtT3FKi4c8e/TZMyk3LYFrwCgMdHFbRDKS8AAAAASUVORK5CYII=)}.filepond--media-preview .pause{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAh0lEQVQ4T+2UsQkCURBE30PLMbAMMResQrAPsQ0TK9AqDKxGZeTLD74aGNwlhzfZssvADDMrPcOe+RggYZIJcG2s2KinMidZAvu6u6uzT8u+JCeZArfmcKUeK+EaONTdQy23bxgJX8aPHvIHsSnVuzTx36rn2pQFsGuqN//ZlK7vbIDvq6vkJ9yteBXzecYbAAAAAElFTkSuQmCC)}.filepond--media-preview .timeline{float:left;background:#ffffff4d;border-radius:15px;width:calc(100% - 2.5em);height:3px;margin-top:1em}.filepond--media-preview .playhead{background:#fff;border-radius:50%;width:13px;height:13px;margin-top:-5px}.filepond--media-preview-wrapper{pointer-events:auto;background:#00000003;border-radius:.45em;height:100%;margin:0;position:absolute;top:0;left:0;right:0;overflow:hidden}.filepond--media-preview-wrapper:before{content:" ";width:100%;height:2em;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#00000000",GradientType=0);z-index:3;background:linear-gradient(#000,#0000);position:absolute}.filepond--media-preview{z-index:1;transform-origin:50%;will-change:transform,opacity;width:100%;height:100%;display:block;position:relative}.filepond--media-preview video,.filepond--media-preview audio{will-change:transform;width:100%}.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:#0000;-webkit-user-select:none;user-select:none;-ms-touch-action:none;touch-action:none;box-sizing:border-box}.noUi-target{position:relative}.noUi-base,.noUi-connects{z-index:1;width:100%;height:100%;position:relative}.noUi-connects{z-index:0;overflow:hidden}.noUi-connect,.noUi-origin{will-change:transform;z-index:1;transform-origin:0 0;width:100%;height:100%;-webkit-transform-style:preserve-3d;transform-style:flat;position:absolute;top:0;right:0}.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin{left:0;right:auto}.noUi-vertical .noUi-origin{width:0;top:-100%}.noUi-horizontal .noUi-origin{height:0}.noUi-handle{backface-visibility:hidden;position:absolute}.noUi-touch-area{width:100%;height:100%}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{transition:transform .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;top:-6px;right:-17px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;bottom:-17px;right:-6px}.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle{left:-17px;right:auto}.noUi-target{background:#fafafa;border:1px solid #d3d3d3;border-radius:4px;box-shadow:inset 0 1px 1px #f0f0f0,0 3px 6px -5px #bbb}.noUi-connects{border-radius:3px}.noUi-connect{background:#3fb8af}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{cursor:default;background:#fff;border:1px solid #d9d9d9;border-radius:3px;box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ebebeb,0 3px 6px -3px #bbb}.noUi-active{box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ddd,0 3px 6px -3px #bbb}.noUi-handle:before,.noUi-handle:after{content:"";background:#e8e7e6;width:1px;height:14px;display:block;position:absolute;top:6px;left:14px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:before,.noUi-vertical .noUi-handle:after{width:14px;height:1px;top:14px;left:6px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect{background:#b8b8b8}[disabled].noUi-target,[disabled].noUi-handle,[disabled] .noUi-handle{cursor:not-allowed}.noUi-pips,.noUi-pips *{box-sizing:border-box}.noUi-pips{color:#999;position:absolute}.noUi-value{white-space:nowrap;text-align:center;position:absolute}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{background:#ccc;position:absolute}.noUi-marker-sub,.noUi-marker-large{background:#aaa}.noUi-pips-horizontal{width:100%;height:80px;padding:10px 0;top:100%;left:0}.noUi-value-horizontal{transform:translate(-50%,50%)}.noUi-rtl .noUi-value-horizontal{transform:translate(50%,50%)}.noUi-marker-horizontal.noUi-marker{width:2px;height:5px;margin-left:-1px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{height:100%;padding:0 10px;top:0;left:100%}.noUi-value-vertical{padding-left:25px;transform:translateY(-50%)}.noUi-rtl .noUi-value-vertical{transform:translateY(50%)}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{color:#000;text-align:center;white-space:nowrap;background:#fff;border:1px solid #d9d9d9;border-radius:3px;padding:5px;display:block;position:absolute}.noUi-horizontal .noUi-tooltip{bottom:120%;left:50%;transform:translate(-50%)}.noUi-vertical .noUi-tooltip{top:50%;right:120%;transform:translateY(-50%)}.noUi-horizontal .noUi-origin>.noUi-tooltip{bottom:10px;left:auto;transform:translate(50%)}.noUi-vertical .noUi-origin>.noUi-tooltip{top:auto;right:28px;transform:translateY(-18px)}.fi-fo-builder{row-gap:calc(var(--spacing)*4);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}.fi-fo-builder .fi-fo-builder-actions{column-gap:calc(var(--spacing)*3);display:flex}.fi-fo-builder .fi-fo-builder-actions.fi-hidden{display:none}:where(.fi-fo-builder .fi-fo-builder-items>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.fi-fo-builder .fi-fo-builder-item{border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-fo-builder .fi-fo-builder-item{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-fo-builder .fi-fo-builder-item:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-builder .fi-fo-builder-item:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-builder .fi-fo-builder-item:where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-builder .fi-fo-builder-item:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-builder .fi-fo-builder-item.fi-collapsed .fi-fo-builder-item-header-collapsible-actions{rotate:-180deg}.fi-fo-builder .fi-fo-builder-item.fi-collapsed .fi-fo-builder-item-header-collapse-action,.fi-fo-builder .fi-fo-builder-item:not(.fi-collapsed) .fi-fo-builder-item-header-expand-action{pointer-events:none;opacity:0}.fi-fo-builder .fi-fo-builder-item-header{align-items:center;column-gap:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);display:flex;overflow:hidden}.fi-fo-builder.fi-collapsible .fi-fo-builder-item-header{cursor:pointer;-webkit-user-select:none;user-select:none}.fi-fo-builder .fi-fo-builder-item-header-start-actions{align-items:center;column-gap:calc(var(--spacing)*3);display:flex}.fi-fo-builder .fi-fo-builder-item-header-icon{color:var(--gray-400)}.fi-fo-builder .fi-fo-builder-item-header-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-fo-builder .fi-fo-builder-item-header-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-fo-builder .fi-fo-builder-item-header-label:where(.dark,.dark *){color:var(--color-white)}.fi-fo-builder .fi-fo-builder-item-header-label.fi-truncated{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fi-fo-builder .fi-fo-builder-item-header-end-actions{align-items:center;column-gap:calc(var(--spacing)*3);margin-inline-start:auto;display:flex}.fi-fo-builder .fi-fo-builder-item-header-collapsible-actions{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));position:relative}.fi-fo-builder .fi-fo-builder-item-header-collapse-action{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.fi-fo-builder .fi-fo-builder-item-header-expand-action{inset:calc(var(--spacing)*0);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));position:absolute;rotate:180deg}.fi-fo-builder .fi-fo-builder-item-content{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-100);position:relative}.fi-fo-builder .fi-fo-builder-item-content:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-builder .fi-fo-builder-item-content:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-builder .fi-fo-builder-item-content:not(.fi-fo-builder-item-content-has-preview){padding:calc(var(--spacing)*4)}.fi-fo-builder .fi-fo-builder-item-preview:not(.fi-interactive){pointer-events:none}.fi-fo-builder .fi-fo-builder-item-preview-edit-overlay{inset:calc(var(--spacing)*0);z-index:1;cursor:pointer;position:absolute}.fi-fo-builder .fi-fo-builder-add-between-items-ctn{top:calc(var(--spacing)*-2);margin-block:calc(var(--spacing)*0);height:calc(var(--spacing)*0);position:relative}.fi-fo-builder .fi-fo-builder-add-between-items{opacity:0;width:100%;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;justify-content:center;transition-duration:75ms;display:flex}@media (hover:hover){.fi-fo-builder .fi-fo-builder-add-between-items:hover{opacity:1}}.fi-fo-builder .fi-fo-builder-block-picker-ctn{border-radius:var(--radius-lg);background-color:var(--color-white)}.fi-fo-builder .fi-fo-builder-block-picker-ctn:where(.dark,.dark *){background-color:var(--gray-900)}.fi-fo-builder .fi-fo-builder-label-between-items-ctn{top:calc(var(--spacing)*2);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-200);position:relative}.fi-fo-builder .fi-fo-builder-label-between-items-ctn:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-builder .fi-fo-builder-label-between-items-ctn:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-builder .fi-fo-builder-label-between-items{inset-inline-start:calc(var(--spacing)*3);top:calc(var(--spacing)*-2.5);padding-inline:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);position:absolute}.fi-fo-builder .fi-fo-builder-block-picker{justify-content:center;display:flex}.fi-fo-builder .fi-fo-builder-block-picker.fi-align-start,.fi-fo-builder .fi-fo-builder-block-picker.fi-align-left{justify-content:flex-start}.fi-fo-builder .fi-fo-builder-block-picker.fi-align-end,.fi-fo-builder .fi-fo-builder-block-picker.fi-align-right{justify-content:flex-end}.fi-fo-checkbox-list .fi-fo-checkbox-list-search-input-wrp{margin-bottom:calc(var(--spacing)*4)}.fi-fo-checkbox-list .fi-fo-checkbox-list-actions{margin-bottom:calc(var(--spacing)*2)}.fi-fo-checkbox-list .fi-fo-checkbox-list-options{gap:calc(var(--spacing)*4)}.fi-fo-checkbox-list .fi-fo-checkbox-list-options.fi-grid-direction-col{margin-top:calc(var(--spacing)*-4)}.fi-fo-checkbox-list .fi-fo-checkbox-list-options.fi-grid-direction-col .fi-fo-checkbox-list-option-ctn{break-inside:avoid;padding-top:calc(var(--spacing)*4)}.fi-fo-checkbox-list .fi-fo-checkbox-list-option{column-gap:calc(var(--spacing)*3);display:flex}.fi-fo-checkbox-list .fi-fo-checkbox-list-option .fi-checkbox-input{margin-top:calc(var(--spacing)*1);flex-shrink:0}.fi-fo-checkbox-list .fi-fo-checkbox-list-option .fi-fo-checkbox-list-option-text{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);display:grid}.fi-fo-checkbox-list .fi-fo-checkbox-list-option .fi-fo-checkbox-list-option-label{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);overflow-wrap:break-word;color:var(--gray-950);overflow:hidden}.fi-fo-checkbox-list .fi-fo-checkbox-list-option .fi-fo-checkbox-list-option-label:where(.dark,.dark *){color:var(--color-white)}.fi-fo-checkbox-list .fi-fo-checkbox-list-option .fi-fo-checkbox-list-option-description{color:var(--gray-500)}.fi-fo-checkbox-list .fi-fo-checkbox-list-option .fi-fo-checkbox-list-option-description:where(.dark,.dark *){color:var(--gray-400)}.fi-fo-checkbox-list .fi-fo-checkbox-list-no-search-results-message{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-fo-checkbox-list .fi-fo-checkbox-list-no-search-results-message:where(.dark,.dark *){color:var(--gray-400)}.fi-fo-code-editor{overflow:hidden}.fi-fo-code-editor .cm-editor.cm-focused{--tw-outline-style:none!important;outline-style:none!important}.fi-fo-code-editor .cm-editor .cm-gutters{min-height:calc(var(--spacing)*48)!important;border-inline-end-color:var(--gray-300)!important;background-color:var(--gray-100)!important}.fi-fo-code-editor .cm-editor .cm-gutters:where(.dark,.dark *){border-inline-end-color:var(--gray-800)!important;background-color:var(--gray-950)!important}.fi-fo-code-editor .cm-editor .cm-gutters .cm-gutter.cm-lineNumbers .cm-gutterElement{border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md);margin-inline-start:calc(var(--spacing)*1)}.fi-fo-code-editor .cm-editor .cm-gutters .cm-gutter.cm-lineNumbers .cm-gutterElement.cm-activeLineGutter{background-color:var(--gray-200)!important}.fi-fo-code-editor .cm-editor .cm-gutters .cm-gutter.cm-lineNumbers .cm-gutterElement.cm-activeLineGutter:where(.dark,.dark *){background-color:var(--gray-800)!important}.fi-fo-code-editor .cm-editor .cm-gutters .cm-gutter.cm-foldGutter .cm-gutterElement.cm-activeLineGutter{background-color:var(--gray-200)!important}.fi-fo-code-editor .cm-editor .cm-gutters .cm-gutter.cm-foldGutter .cm-gutterElement.cm-activeLineGutter:where(.dark,.dark *){background-color:var(--gray-800)!important}.fi-fo-code-editor .cm-editor .cm-scroller{min-height:calc(var(--spacing)*48)!important}.fi-fo-code-editor .cm-editor .cm-line{border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md);margin-inline-end:calc(var(--spacing)*1)}.fi-fo-code-editor.fi-disabled .cm-editor .cm-gutters .cm-gutter.cm-lineNumbers .cm-gutterElement.cm-activeLineGutter,.fi-fo-code-editor.fi-disabled .cm-editor .cm-gutters .cm-gutter.cm-foldGutter .cm-gutterElement.cm-activeLineGutter,.fi-fo-code-editor.fi-disabled .cm-editor .cm-line.cm-activeLine{background-color:#0000!important}.fi-fo-color-picker .fi-input-wrp-content{display:flex}.fi-fo-color-picker .fi-fo-color-picker-preview{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5);-webkit-user-select:none;user-select:none;border-radius:3.40282e38px;flex-shrink:0;margin-block:auto;margin-inline-end:calc(var(--spacing)*3)}.fi-fo-color-picker .fi-fo-color-picker-preview.fi-empty{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-200);--tw-ring-inset:inset}.fi-fo-color-picker .fi-fo-color-picker-preview.fi-empty:where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-color-picker .fi-fo-color-picker-preview.fi-empty:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-color-picker .fi-fo-color-picker-panel{z-index:10;border-radius:var(--radius-lg);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);display:none;position:absolute}.fi-fo-date-time-picker input::-webkit-datetime-edit{padding:0;display:block}.fi-fo-date-time-picker .fi-fo-date-time-picker-trigger{width:100%}.fi-fo-date-time-picker .fi-fo-date-time-picker-display-text-input{--tw-border-style:none;width:100%;padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);color:var(--gray-950);--tw-outline-style:none;background-color:#0000;border-style:none;outline-style:none}@media (forced-colors:active){.fi-fo-date-time-picker .fi-fo-date-time-picker-display-text-input{outline-offset:2px;outline:2px solid #0000}}.fi-fo-date-time-picker .fi-fo-date-time-picker-display-text-input{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}.fi-fo-date-time-picker .fi-fo-date-time-picker-display-text-input::placeholder{color:var(--gray-400)}.fi-fo-date-time-picker .fi-fo-date-time-picker-display-text-input:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-fo-date-time-picker .fi-fo-date-time-picker-display-text-input:disabled{color:var(--gray-500);-webkit-text-fill-color:var(--color-gray-500)}.fi-fo-date-time-picker .fi-fo-date-time-picker-display-text-input:where(.dark,.dark *){color:var(--color-white)}.fi-fo-date-time-picker .fi-fo-date-time-picker-display-text-input:where(.dark,.dark *)::placeholder{color:var(--gray-500)}.fi-fo-date-time-picker .fi-fo-date-time-picker-display-text-input:where(.dark,.dark *):disabled{color:var(--gray-400);-webkit-text-fill-color:var(--color-gray-400)}.fi-fo-date-time-picker .fi-fo-date-time-picker-panel{z-index:10;position:absolute}:where(.fi-fo-date-time-picker .fi-fo-date-time-picker-panel>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}.fi-fo-date-time-picker .fi-fo-date-time-picker-panel{border-radius:var(--radius-lg);background-color:var(--color-white);padding:calc(var(--spacing)*4);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-fo-date-time-picker .fi-fo-date-time-picker-panel{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-fo-date-time-picker .fi-fo-date-time-picker-panel:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-date-time-picker .fi-fo-date-time-picker-panel:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-date-time-picker .fi-fo-date-time-picker-panel .fi-fo-date-time-picker-panel-header{justify-content:space-between;align-items:center;display:flex}.fi-fo-date-time-picker .fi-fo-date-time-picker-month-select{cursor:pointer;--tw-border-style:none;padding:calc(var(--spacing)*0);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950);background-color:#0000;border-style:none;flex-grow:1}.fi-fo-date-time-picker .fi-fo-date-time-picker-month-select:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-fo-date-time-picker .fi-fo-date-time-picker-month-select:where(.dark,.dark *){background-color:var(--gray-900);color:var(--color-white)}.fi-fo-date-time-picker .fi-fo-date-time-picker-year-input{width:calc(var(--spacing)*16);--tw-border-style:none;padding:calc(var(--spacing)*0);text-align:right;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-950);background-color:#0000;border-style:none}.fi-fo-date-time-picker .fi-fo-date-time-picker-year-input:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-fo-date-time-picker .fi-fo-date-time-picker-year-input:where(.dark,.dark *){color:var(--color-white)}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar-header{gap:calc(var(--spacing)*1);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar-header .fi-fo-date-time-picker-calendar-header-day{text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-500)}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar-header .fi-fo-date-time-picker-calendar-header-day:where(.dark,.dark *){color:var(--gray-400)}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar{grid-template-columns:repeat(7,minmax(calc(var(--spacing)*7),1fr));gap:calc(var(--spacing)*1);display:grid}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day{text-align:center;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:var(--leading-loose);line-height:var(--leading-loose);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;border-radius:3.40282e38px;transition-duration:75ms}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-disabled{pointer-events:none;opacity:.5}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day:not(.fi-disabled){cursor:pointer}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-selected{background-color:var(--gray-50);color:var(--primary-600)}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-selected:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-selected:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-selected:where(.dark,.dark *){color:var(--primary-400)}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-focused:not(.fi-selected):not(.fi-disabled){background-color:var(--gray-100)}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-focused:not(.fi-selected):not(.fi-disabled):where(.dark,.dark *){background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-focused:not(.fi-selected):not(.fi-disabled):where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-fo-date-time-picker-calendar-day-today:not(.fi-focused):not(.fi-selected):not(.fi-disabled){color:var(--primary-600)}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-fo-date-time-picker-calendar-day-today:not(.fi-focused):not(.fi-selected):not(.fi-disabled):where(.dark,.dark *){color:var(--primary-400)}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day:not(.fi-fo-date-time-picker-calendar-day-today):not(.fi-selected){color:var(--gray-950)}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day:not(.fi-fo-date-time-picker-calendar-day-today):not(.fi-selected):where(.dark,.dark *){color:var(--color-white)}.fi-fo-date-time-picker .fi-fo-date-time-picker-time-inputs{justify-content:center;align-items:center;display:flex}.fi-fo-date-time-picker .fi-fo-date-time-picker-time-inputs:where(:dir(rtl),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.fi-fo-date-time-picker .fi-fo-date-time-picker-time-inputs input{width:calc(var(--spacing)*10);--tw-border-style:none;padding:calc(var(--spacing)*0);text-align:center;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-950);background-color:#0000;border-style:none;margin-inline-end:calc(var(--spacing)*1)}.fi-fo-date-time-picker .fi-fo-date-time-picker-time-inputs input:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-fo-date-time-picker .fi-fo-date-time-picker-time-inputs input:where(.dark,.dark *){color:var(--color-white)}.fi-fo-date-time-picker .fi-fo-date-time-picker-time-inputs .fi-fo-date-time-picker-time-input-separator{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-500)}.fi-fo-date-time-picker .fi-fo-date-time-picker-time-inputs .fi-fo-date-time-picker-time-input-separator:where(.dark,.dark *){color:var(--gray-400)}.fi-fo-field{row-gap:calc(var(--spacing)*2);display:grid}@media (min-width:40rem){.fi-fo-field.fi-fo-field-has-inline-label{align-items:flex-start;column-gap:calc(var(--spacing)*4);grid-template-columns:repeat(3,minmax(0,1fr))}.fi-fo-field.fi-fo-field-has-inline-label .fi-fo-field-content-col{grid-column:span 2/span 2}}.fi-fo-field .fi-fo-field-label-ctn,.fi-fo-field .fi-fo-field-label{align-items:flex-start;column-gap:calc(var(--spacing)*3);display:flex}:is(.fi-fo-field .fi-fo-field-label-ctn,.fi-fo-field .fi-fo-field-label)>.fi-checkbox-input{margin-top:calc(var(--spacing)*.5)}:is(.fi-fo-field .fi-fo-field-label-ctn,.fi-fo-field .fi-fo-field-label)>.fi-toggle{margin-block:calc(var(--spacing)*-.5)}:is(.fi-fo-field .fi-fo-field-label-ctn,.fi-fo-field .fi-fo-field-label)>.fi-sc:first-child{flex-grow:0}:is(.fi-fo-field .fi-fo-field-label-ctn,.fi-fo-field .fi-fo-field-label).fi-hidden{display:none}.fi-fo-field .fi-fo-field-label-content{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-fo-field .fi-fo-field-label-content:where(.dark,.dark *){color:var(--color-white)}.fi-fo-field .fi-fo-field-label-content .fi-fo-field-label-required-mark{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--danger-600)}.fi-fo-field .fi-fo-field-label-content .fi-fo-field-label-required-mark:where(.dark,.dark *){color:var(--danger-400)}.fi-fo-field .fi-fo-field-label-col{row-gap:calc(var(--spacing)*2);grid-auto-columns:minmax(0,1fr);display:grid}@media (min-width:40rem){.fi-fo-field .fi-fo-field-label-col.fi-vertical-align-start{align-items:flex-start}.fi-fo-field .fi-fo-field-label-col.fi-vertical-align-center{align-items:center}.fi-fo-field .fi-fo-field-label-col.fi-vertical-align-end{align-items:flex-end}}.fi-fo-field .fi-fo-field-content-col{row-gap:calc(var(--spacing)*2);grid-auto-columns:minmax(0,1fr);display:grid}.fi-fo-field .fi-fo-field-content-ctn{align-items:center;column-gap:calc(var(--spacing)*3);width:100%;display:flex}.fi-fo-field .fi-fo-field-content{width:100%}.fi-fo-field .fi-fo-field-wrp-error-message{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--danger-600)}.fi-fo-field .fi-fo-field-wrp-error-message:where(.dark,.dark *){color:var(--danger-400)}.fi-fo-field .fi-fo-field-wrp-error-list{list-style-type:disc;list-style-position:inside}:where(.fi-fo-field .fi-fo-field-wrp-error-list>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}.fi-fo-file-upload{row-gap:calc(var(--spacing)*2);flex-direction:column;display:flex}.fi-fo-file-upload.fi-align-start,.fi-fo-file-upload.fi-align-left{align-items:flex-start}.fi-fo-file-upload.fi-align-center{align-items:center}.fi-fo-file-upload.fi-align-end,.fi-fo-file-upload.fi-align-right{align-items:flex-end}.fi-fo-file-upload .fi-fo-file-upload-input-ctn{width:100%;height:100%}.fi-fo-file-upload.fi-fo-file-upload-avatar .fi-fo-file-upload-input-ctn{height:100%;width:calc(var(--spacing)*32)}.fi-fo-file-upload .fi-fo-file-upload-error-message{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--danger-600)}.fi-fo-file-upload .fi-fo-file-upload-error-message:where(.dark,.dark *){color:var(--danger-400)}.fi-fo-file-upload .filepond--root{margin-bottom:calc(var(--spacing)*0);border-radius:var(--radius-lg);background-color:var(--color-white);font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .filepond--root{--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}.fi-fo-file-upload .filepond--root:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .filepond--root:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-file-upload .filepond--root:where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .filepond--root:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-fo-file-upload .filepond--root[data-disabled=disabled]{background-color:var(--gray-50)}.fi-fo-file-upload .filepond--root[data-disabled=disabled]:where(.dark,.dark *){--tw-ring-color:#ffffff1a;background-color:#0000}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .filepond--root[data-disabled=disabled]:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-file-upload .filepond--root[data-style-panel-layout=compact\ circle]{border-radius:3.40282e38px}.fi-fo-file-upload .filepond--panel-root{background-color:#0000}.fi-fo-file-upload .filepond--drop-label label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-600);padding:calc(var(--spacing)*3)!important}.fi-fo-file-upload .filepond--drop-label label:where(.dark,.dark *){color:var(--gray-400)}.fi-fo-file-upload .filepond--label-action{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--primary-600);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;text-decoration-line:none;transition-duration:75ms}@media (hover:hover){.fi-fo-file-upload .filepond--label-action:hover{color:var(--primary-500)}}.fi-fo-file-upload .filepond--label-action:where(.dark,.dark *){color:var(--color-white)}@media (hover:hover){.fi-fo-file-upload .filepond--label-action:where(.dark,.dark *):hover{color:var(--primary-500)}}.fi-fo-file-upload .filepond--drip-blob{background-color:var(--gray-400)}.fi-fo-file-upload .filepond--drip-blob:where(.dark,.dark *){background-color:var(--gray-500)}.fi-fo-file-upload .filepond--root[data-style-panel-layout=grid] .filepond--item{width:calc(50% - .5rem);display:inline}@media (min-width:64rem){.fi-fo-file-upload .filepond--root[data-style-panel-layout=grid] .filepond--item{width:calc(33.33% - .5rem)}}.fi-fo-file-upload .filepond--download-icon{pointer-events:auto;width:calc(var(--spacing)*4);height:calc(var(--spacing)*4);background-color:var(--color-white);vertical-align:bottom;margin-inline-end:calc(var(--spacing)*1);display:inline-block}@media (hover:hover){.fi-fo-file-upload .filepond--download-icon:hover{background-color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .filepond--download-icon:hover{background-color:color-mix(in oklab,var(--color-white)70%,transparent)}}}.fi-fo-file-upload .filepond--download-icon{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItZG93bmxvYWQiPjxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ij48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz0iNyAxMCAxMiAxNSAxNyAxMCI+PC9wb2x5bGluZT48bGluZSB4MT0iMTIiIHkxPSIxNSIgeDI9IjEyIiB5Mj0iMyI+PC9saW5lPjwvc3ZnPg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItZG93bmxvYWQiPjxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ij48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz0iNyAxMCAxMiAxNSAxNyAxMCI+PC9wb2x5bGluZT48bGluZSB4MT0iMTIiIHkxPSIxNSIgeDI9IjEyIiB5Mj0iMyI+PC9saW5lPjwvc3ZnPg==);-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.fi-fo-file-upload .filepond--open-icon{pointer-events:auto;width:calc(var(--spacing)*4);height:calc(var(--spacing)*4);background-color:var(--color-white);vertical-align:bottom;margin-inline-end:calc(var(--spacing)*1);display:inline-block}@media (hover:hover){.fi-fo-file-upload .filepond--open-icon:hover{background-color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .filepond--open-icon:hover{background-color:color-mix(in oklab,var(--color-white)70%,transparent)}}}.fi-fo-file-upload .filepond--open-icon{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTYgdy02IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogIDxwYXRoIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTEwIDZINmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJ2LTRNMTQgNGg2bTAgMHY2bTAtNkwxMCAxNCIgLz4KPC9zdmc+Cg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTYgdy02IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogIDxwYXRoIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTEwIDZINmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJ2LTRNMTQgNGg2bTAgMHY2bTAtNkwxMCAxNCIgLz4KPC9zdmc+Cg==);-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.fi-fo-file-upload .filepond--file-action-button.filepond--action-edit-item{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .filepond--file-action-button.filepond--action-edit-item{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.fi-fo-file-upload .fi-fo-file-upload-editor{inset:calc(var(--spacing)*0);isolation:isolate;z-index:50;width:100vw;height:100dvh;padding:calc(var(--spacing)*2);position:fixed}@media (min-width:40rem){.fi-fo-file-upload .fi-fo-file-upload-editor{padding:calc(var(--spacing)*10)}}@media (min-width:48rem){.fi-fo-file-upload .fi-fo-file-upload-editor{padding:calc(var(--spacing)*20)}}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-overlay{inset:calc(var(--spacing)*0);cursor:pointer;background-color:var(--gray-950);width:100%;height:100%;position:fixed}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-overlay{background-color:color-mix(in oklab,var(--gray-950)50%,transparent)}}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-overlay:where(.dark,.dark *){background-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-overlay:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-950)75%,transparent)}}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-overlay{will-change:transform}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-window{isolation:isolate;border-radius:var(--radius-xl);background-color:var(--color-white);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);width:100%;height:100%;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-900);flex-direction:column;margin-inline:auto;display:flex;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-window{--tw-ring-color:color-mix(in oklab,var(--gray-900)10%,transparent)}}@media (min-width:64rem){.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-window{flex-direction:row}}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-window:where(.dark,.dark *){background-color:var(--gray-800);--tw-ring-color:var(--gray-50)}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-window:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--gray-50)10%,transparent)}}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-image-ctn{width:100%;height:100%;padding:calc(var(--spacing)*4);flex:1;overflow:auto}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-image{width:auto;height:100%}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel{background-color:var(--gray-50);flex-direction:column;flex:1;width:100%;height:100%;display:flex;overflow-y:auto}@media (min-width:64rem){.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel{max-width:var(--container-xs)}}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel:where(.dark,.dark *){background-color:var(--gray-900)}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-900)30%,transparent)}}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-main{flex:1}:where(.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-main>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-main{padding:calc(var(--spacing)*4);overflow:auto}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-group{gap:calc(var(--spacing)*3);display:grid}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-group .fi-btn-group{width:100%}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-group .fi-btn.fi-active{background-color:var(--gray-50)}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-group .fi-btn.fi-active:where(.dark,.dark *){background-color:var(--gray-700)}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-group .fi-fo-file-upload-editor-control-panel-group-title{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--gray-950)}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-group .fi-fo-file-upload-editor-control-panel-group-title:where(.dark,.dark *){color:var(--color-white)}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-footer{align-items:center;gap:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);display:flex}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-reset-action{margin-left:auto}.fi-fo-file-upload .fi-fo-file-upload-editor .cropper-drag-box.cropper-crop.cropper-modal{background-color:var(--gray-100)}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .fi-fo-file-upload-editor .cropper-drag-box.cropper-crop.cropper-modal{background-color:color-mix(in oklab,var(--gray-100)50%,transparent)}}.fi-fo-file-upload .fi-fo-file-upload-editor .cropper-drag-box.cropper-crop.cropper-modal{opacity:1}.fi-fo-file-upload .fi-fo-file-upload-editor .cropper-drag-box.cropper-crop.cropper-modal:where(.dark,.dark *){background-color:var(--gray-900)}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .fi-fo-file-upload-editor .cropper-drag-box.cropper-crop.cropper-modal:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-900)80%,transparent)}}.fi-fo-file-upload .fi-fo-file-upload-editor.fi-fo-file-upload-editor-circle-cropper .cropper-view-box,.fi-fo-file-upload .fi-fo-file-upload-editor.fi-fo-file-upload-editor-circle-cropper .cropper-face{border-radius:50%}:where(.fi-fo-key-value .fi-fo-key-value-table-ctn>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-fo-key-value .fi-fo-key-value-table-ctn:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-fo-key-value .fi-fo-key-value-table-ctn:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-key-value .fi-fo-key-value-table{table-layout:auto;width:100%}:where(.fi-fo-key-value .fi-fo-key-value-table>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-fo-key-value .fi-fo-key-value-table:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-fo-key-value .fi-fo-key-value-table:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-key-value .fi-fo-key-value-table>thead>tr>th{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);text-align:start;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-700)}.fi-fo-key-value .fi-fo-key-value-table>thead>tr>th:where(.dark,.dark *){color:var(--gray-200)}.fi-fo-key-value .fi-fo-key-value-table>thead>tr>th.fi-has-action{width:calc(var(--spacing)*9);padding:calc(var(--spacing)*0)}:where(.fi-fo-key-value .fi-fo-key-value-table>tbody>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-fo-key-value .fi-fo-key-value-table>tbody:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-fo-key-value .fi-fo-key-value-table>tbody:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}:where(.fi-fo-key-value .fi-fo-key-value-table>tbody>tr>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));border-color:var(--gray-200)}:where(.fi-fo-key-value .fi-fo-key-value-table>tbody>tr:where(:dir(rtl),[dir=rtl],[dir=rtl] *)>:not(:last-child)){--tw-divide-x-reverse:1}:where(.fi-fo-key-value .fi-fo-key-value-table>tbody>tr:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-fo-key-value .fi-fo-key-value-table>tbody>tr:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-key-value .fi-fo-key-value-table>tbody>tr>td{width:50%;padding:calc(var(--spacing)*0)}.fi-fo-key-value .fi-fo-key-value-table>tbody>tr>td.fi-has-action{width:auto;padding:calc(var(--spacing)*.5)}.fi-fo-key-value .fi-fo-key-value-table>tbody>tr>td.fi-has-action .fi-fo-key-value-table-row-sortable-handle{display:flex}.fi-fo-key-value .fi-fo-key-value-table>tbody>tr>td .fi-input{font-family:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.fi-fo-key-value .fi-fo-key-value-add-action-ctn{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);justify-content:center;display:flex}@media (min-width:40rem){.fi-fo-key-value-wrp.fi-fo-field-has-inline-label .fi-fo-field-label-col{padding-top:calc(var(--spacing)*1.5)}}.fi-fo-markdown-editor{--color-cm-red:#991b1b;--color-cm-orange:#9a3412;--color-cm-amber:#92400e;--color-cm-yellow:#854d0e;--color-cm-lime:#3f6212;--color-cm-green:#166534;--color-cm-emerald:#065f46;--color-cm-teal:#115e59;--color-cm-cyan:#155e75;--color-cm-sky:#075985;--color-cm-blue:#1e40af;--color-cm-indigo:#3730a3;--color-cm-violet:#5b21b6;--color-cm-purple:#6b21a8;--color-cm-fuchsia:#86198f;--color-cm-pink:#9d174d;--color-cm-rose:#9f1239;--color-cm-gray:#18181b;--color-cm-gray-muted:#71717a;--color-cm-gray-background:#e4e4e7}.fi-fo-markdown-editor:not(.fi-disabled){max-width:100%;font-family:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-950);overflow:hidden}.fi-fo-markdown-editor:not(.fi-disabled):where(.dark,.dark *){color:var(--color-white)}.fi-fo-markdown-editor.fi-disabled{border-radius:var(--radius-lg);background-color:var(--gray-50);width:100%;padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);display:block}@supports (color:color-mix(in lab, red, red)){.fi-fo-markdown-editor.fi-disabled{--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}.fi-fo-markdown-editor.fi-disabled:where(.dark,.dark *){color:var(--gray-400);--tw-ring-color:#ffffff1a;background-color:#0000}@supports (color:color-mix(in lab, red, red)){.fi-fo-markdown-editor.fi-disabled:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-markdown-editor .EasyMDEContainer .CodeMirror{padding-inline:calc(var(--spacing)*4)!important;padding-block:calc(var(--spacing)*3)!important}.fi-fo-markdown-editor .cm-s-easymde .cm-comment{color:var(--color-cm-gray-muted);background-color:#0000}.fi-fo-markdown-editor .EasyMDEContainer .CodeMirror-cursor{border-color:currentColor}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-keyword{color:var(--color-cm-violet)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-atom{color:var(--color-cm-blue)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-number{color:var(--color-cm-green)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-def{color:var(--color-cm-blue)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-variable{color:var(--color-cm-yellow)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-variable-2{color:var(--color-cm-blue)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-variable-3{color:var(--color-cm-emerald)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-property,.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-operator{color:var(--color-cm-gray)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-string,.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-string-2{color:var(--color-cm-rose)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-meta{color:var(--color-cm-gray-muted)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-error{color:var(--color-cm-red)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-qualifier{color:var(--color-cm-gray-muted)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-builtin{color:var(--color-cm-violet)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-bracket,.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-hr{color:var(--color-cm-gray-muted)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-formatting-quote{color:var(--color-cm-sky)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-formatting-quote+.cm-quote{color:var(--color-cm-gray-muted)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-formatting-list,.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-formatting-list+.cm-variable-2,.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-tab+.cm-variable-2{color:var(--color-cm-gray)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-link{color:var(--color-cm-blue)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-tag{color:var(--color-cm-red)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-attribute{color:var(--color-cm-amber)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-attribute+.cm-string{color:var(--color-cm-green)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-formatting-code+.cm-comment:not(.cm-formatting-code){background-color:var(--color-cm-gray-background);color:var(--color-cm-gray)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-header-1{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-header-2{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-header-3{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-header-4{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-header-5{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-header-6{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-comment{background-image:none}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-formatting-code-block,.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-tab+.cm-comment{color:inherit;background-color:#0000}.fi-fo-markdown-editor .EasyMDEContainer .CodeMirror{--tw-border-style:none;padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*1.5);color:inherit;background-color:#0000;border-style:none}.fi-fo-markdown-editor .EasyMDEContainer .CodeMirror-scroll{height:auto}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar{gap:calc(var(--spacing)*1);border-style:var(--tw-border-style);border-width:0;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);padding-inline:calc(var(--spacing)*2.5);padding-block:calc(var(--spacing)*2);border-radius:0;flex-wrap:wrap;display:flex}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8);border-radius:var(--radius-lg);--tw-border-style:none;padding:calc(var(--spacing)*0);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;border-style:none;place-content:center;transition-duration:75ms;display:grid}@media (hover:hover){.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button:hover{background-color:var(--gray-50)}}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button:focus-visible{background-color:var(--gray-50)}@media (hover:hover){.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button:where(.dark,.dark *):focus-visible{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button:where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button.active{background-color:var(--gray-50)}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button.active:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button.active:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button:before{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5);background-color:var(--gray-700);content:"";display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button.active:before{background-color:var(--primary-600)}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .separator{width:calc(var(--spacing)*1);--tw-border-style:none;border-style:none;margin:calc(var(--spacing)*0)!important}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .bold:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M4 3a1 1 0 0 1 1-1h6a4.5 4.5 0 0 1 3.274 7.587A4.75 4.75 0 0 1 11.25 18H5a1 1 0 0 1-1-1V3Zm2.5 5.5v-4H11a2 2 0 1 1 0 4H6.5Zm0 2.5v4.5h4.75a2.25 2.25 0 0 0 0-4.5H6.5Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M4 3a1 1 0 0 1 1-1h6a4.5 4.5 0 0 1 3.274 7.587A4.75 4.75 0 0 1 11.25 18H5a1 1 0 0 1-1-1V3Zm2.5 5.5v-4H11a2 2 0 1 1 0 4H6.5Zm0 2.5v4.5h4.75a2.25 2.25 0 0 0 0-4.5H6.5Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .italic:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M8 2.75A.75.75 0 0 1 8.75 2h7.5a.75.75 0 0 1 0 1.5h-3.215l-4.483 13h2.698a.75.75 0 0 1 0 1.5h-7.5a.75.75 0 0 1 0-1.5h3.215l4.483-13H8.75A.75.75 0 0 1 8 2.75Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M8 2.75A.75.75 0 0 1 8.75 2h7.5a.75.75 0 0 1 0 1.5h-3.215l-4.483 13h2.698a.75.75 0 0 1 0 1.5h-7.5a.75.75 0 0 1 0-1.5h3.215l4.483-13H8.75A.75.75 0 0 1 8 2.75Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .strikethrough:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M11.617 3.963c-1.186-.318-2.418-.323-3.416.015-.992.336-1.49.91-1.642 1.476-.152.566-.007 1.313.684 2.1.528.6 1.273 1.1 2.128 1.446h7.879a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5h3.813a5.976 5.976 0 0 1-.447-.456C5.18 7.479 4.798 6.231 5.11 5.066c.312-1.164 1.268-2.055 2.61-2.509 1.336-.451 2.877-.42 4.286-.043.856.23 1.684.592 2.409 1.074a.75.75 0 1 1-.83 1.25 6.723 6.723 0 0 0-1.968-.875Zm1.909 8.123a.75.75 0 0 1 1.015.309c.53.99.607 2.062.18 3.01-.421.94-1.289 1.648-2.441 2.038-1.336.452-2.877.42-4.286.043-1.409-.377-2.759-1.121-3.69-2.18a.75.75 0 1 1 1.127-.99c.696.791 1.765 1.403 2.952 1.721 1.186.318 2.418.323 3.416-.015.853-.288 1.34-.756 1.555-1.232.21-.467.205-1.049-.136-1.69a.75.75 0 0 1 .308-1.014Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M11.617 3.963c-1.186-.318-2.418-.323-3.416.015-.992.336-1.49.91-1.642 1.476-.152.566-.007 1.313.684 2.1.528.6 1.273 1.1 2.128 1.446h7.879a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5h3.813a5.976 5.976 0 0 1-.447-.456C5.18 7.479 4.798 6.231 5.11 5.066c.312-1.164 1.268-2.055 2.61-2.509 1.336-.451 2.877-.42 4.286-.043.856.23 1.684.592 2.409 1.074a.75.75 0 1 1-.83 1.25 6.723 6.723 0 0 0-1.968-.875Zm1.909 8.123a.75.75 0 0 1 1.015.309c.53.99.607 2.062.18 3.01-.421.94-1.289 1.648-2.441 2.038-1.336.452-2.877.42-4.286.043-1.409-.377-2.759-1.121-3.69-2.18a.75.75 0 1 1 1.127-.99c.696.791 1.765 1.403 2.952 1.721 1.186.318 2.418.323 3.416-.015.853-.288 1.34-.756 1.555-1.232.21-.467.205-1.049-.136-1.69a.75.75 0 0 1 .308-1.014Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .link:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath d='M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z' /%3E%3Cpath d='M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath d='M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z' /%3E%3Cpath d='M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .heading:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M2.75 4a.75.75 0 0 1 .75.75v4.5h5v-4.5a.75.75 0 0 1 1.5 0v10.5a.75.75 0 0 1-1.5 0v-4.5h-5v4.5a.75.75 0 0 1-1.5 0V4.75A.75.75 0 0 1 2.75 4ZM13 8.75a.75.75 0 0 1 .75-.75h1.75a.75.75 0 0 1 .75.75v5.75h1a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1 0-1.5h1v-5h-1a.75.75 0 0 1-.75-.75Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M2.75 4a.75.75 0 0 1 .75.75v4.5h5v-4.5a.75.75 0 0 1 1.5 0v10.5a.75.75 0 0 1-1.5 0v-4.5h-5v4.5a.75.75 0 0 1-1.5 0V4.75A.75.75 0 0 1 2.75 4ZM13 8.75a.75.75 0 0 1 .75-.75h1.75a.75.75 0 0 1 .75.75v5.75h1a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1 0-1.5h1v-5h-1a.75.75 0 0 1-.75-.75Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .quote:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M10 2c-2.236 0-4.43.18-6.57.524C1.993 2.755 1 4.014 1 5.426v5.148c0 1.413.993 2.67 2.43 2.902 1.168.188 2.352.327 3.55.414.28.02.521.18.642.413l1.713 3.293a.75.75 0 0 0 1.33 0l1.713-3.293a.783.783 0 0 1 .642-.413 41.102 41.102 0 0 0 3.55-.414c1.437-.231 2.43-1.49 2.43-2.902V5.426c0-1.413-.993-2.67-2.43-2.902A41.289 41.289 0 0 0 10 2ZM6.75 6a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5Zm0 2.5a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M10 2c-2.236 0-4.43.18-6.57.524C1.993 2.755 1 4.014 1 5.426v5.148c0 1.413.993 2.67 2.43 2.902 1.168.188 2.352.327 3.55.414.28.02.521.18.642.413l1.713 3.293a.75.75 0 0 0 1.33 0l1.713-3.293a.783.783 0 0 1 .642-.413 41.102 41.102 0 0 0 3.55-.414c1.437-.231 2.43-1.49 2.43-2.902V5.426c0-1.413-.993-2.67-2.43-2.902A41.289 41.289 0 0 0 10 2ZM6.75 6a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5Zm0 2.5a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .code:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M6.28 5.22a.75.75 0 0 1 0 1.06L2.56 10l3.72 3.72a.75.75 0 0 1-1.06 1.06L.97 10.53a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0Zm7.44 0a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L17.44 10l-3.72-3.72a.75.75 0 0 1 0-1.06ZM11.377 2.011a.75.75 0 0 1 .612.867l-2.5 14.5a.75.75 0 0 1-1.478-.255l2.5-14.5a.75.75 0 0 1 .866-.612Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M6.28 5.22a.75.75 0 0 1 0 1.06L2.56 10l3.72 3.72a.75.75 0 0 1-1.06 1.06L.97 10.53a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0Zm7.44 0a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L17.44 10l-3.72-3.72a.75.75 0 0 1 0-1.06ZM11.377 2.011a.75.75 0 0 1 .612.867l-2.5 14.5a.75.75 0 0 1-1.478-.255l2.5-14.5a.75.75 0 0 1 .866-.612Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .unordered-list:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M6 4.75A.75.75 0 0 1 6.75 4h10.5a.75.75 0 0 1 0 1.5H6.75A.75.75 0 0 1 6 4.75ZM6 10a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H6.75A.75.75 0 0 1 6 10Zm0 5.25a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H6.75a.75.75 0 0 1-.75-.75ZM1.99 4.75a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1v-.01ZM1.99 15.25a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1v-.01ZM1.99 10a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1V10Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M6 4.75A.75.75 0 0 1 6.75 4h10.5a.75.75 0 0 1 0 1.5H6.75A.75.75 0 0 1 6 4.75ZM6 10a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H6.75A.75.75 0 0 1 6 10Zm0 5.25a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H6.75a.75.75 0 0 1-.75-.75ZM1.99 4.75a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1v-.01ZM1.99 15.25a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1v-.01ZM1.99 10a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1V10Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .ordered-list:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath d='M3 1.25a.75.75 0 0 0 0 1.5h.25v2.5a.75.75 0 0 0 1.5 0V2A.75.75 0 0 0 4 1.25H3ZM2.97 8.654a3.5 3.5 0 0 1 1.524-.12.034.034 0 0 1-.012.012L2.415 9.579A.75.75 0 0 0 2 10.25v1c0 .414.336.75.75.75h2.5a.75.75 0 0 0 0-1.5H3.927l1.225-.613c.52-.26.848-.79.848-1.371 0-.647-.429-1.327-1.193-1.451a5.03 5.03 0 0 0-2.277.155.75.75 0 0 0 .44 1.434ZM7.75 3a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5ZM7.75 9.25a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5ZM7.75 15.5a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5ZM2.625 13.875a.75.75 0 0 0 0 1.5h1.5a.125.125 0 0 1 0 .25H3.5a.75.75 0 0 0 0 1.5h.625a.125.125 0 0 1 0 .25h-1.5a.75.75 0 0 0 0 1.5h1.5a1.625 1.625 0 0 0 1.37-2.5 1.625 1.625 0 0 0-1.37-2.5h-1.5Z' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath d='M3 1.25a.75.75 0 0 0 0 1.5h.25v2.5a.75.75 0 0 0 1.5 0V2A.75.75 0 0 0 4 1.25H3ZM2.97 8.654a3.5 3.5 0 0 1 1.524-.12.034.034 0 0 1-.012.012L2.415 9.579A.75.75 0 0 0 2 10.25v1c0 .414.336.75.75.75h2.5a.75.75 0 0 0 0-1.5H3.927l1.225-.613c.52-.26.848-.79.848-1.371 0-.647-.429-1.327-1.193-1.451a5.03 5.03 0 0 0-2.277.155.75.75 0 0 0 .44 1.434ZM7.75 3a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5ZM7.75 9.25a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5ZM7.75 15.5a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5ZM2.625 13.875a.75.75 0 0 0 0 1.5h1.5a.125.125 0 0 1 0 .25H3.5a.75.75 0 0 0 0 1.5h.625a.125.125 0 0 1 0 .25h-1.5a.75.75 0 0 0 0 1.5h1.5a1.625 1.625 0 0 0 1.37-2.5 1.625 1.625 0 0 0-1.37-2.5h-1.5Z' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .table:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M.99 5.24A2.25 2.25 0 0 1 3.25 3h13.5A2.25 2.25 0 0 1 19 5.25l.01 9.5A2.25 2.25 0 0 1 16.76 17H3.26A2.267 2.267 0 0 1 1 14.74l-.01-9.5Zm8.26 9.52v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75v.615c0 .414.336.75.75.75h5.373a.75.75 0 0 0 .627-.74Zm1.5 0a.75.75 0 0 0 .627.74h5.373a.75.75 0 0 0 .75-.75v-.615a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75v.625Zm6.75-3.63v-.625a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75v.625c0 .414.336.75.75.75h5.25a.75.75 0 0 0 .75-.75Zm-8.25 0v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75v.625c0 .414.336.75.75.75H8.5a.75.75 0 0 0 .75-.75ZM17.5 7.5v-.625a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75V7.5c0 .414.336.75.75.75h5.25a.75.75 0 0 0 .75-.75Zm-8.25 0v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75V7.5c0 .414.336.75.75.75H8.5a.75.75 0 0 0 .75-.75Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M.99 5.24A2.25 2.25 0 0 1 3.25 3h13.5A2.25 2.25 0 0 1 19 5.25l.01 9.5A2.25 2.25 0 0 1 16.76 17H3.26A2.267 2.267 0 0 1 1 14.74l-.01-9.5Zm8.26 9.52v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75v.615c0 .414.336.75.75.75h5.373a.75.75 0 0 0 .627-.74Zm1.5 0a.75.75 0 0 0 .627.74h5.373a.75.75 0 0 0 .75-.75v-.615a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75v.625Zm6.75-3.63v-.625a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75v.625c0 .414.336.75.75.75h5.25a.75.75 0 0 0 .75-.75Zm-8.25 0v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75v.625c0 .414.336.75.75.75H8.5a.75.75 0 0 0 .75-.75ZM17.5 7.5v-.625a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75V7.5c0 .414.336.75.75.75h5.25a.75.75 0 0 0 .75-.75Zm-8.25 0v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75V7.5c0 .414.336.75.75.75H8.5a.75.75 0 0 0 .75-.75Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .upload-image:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M1 5.25A2.25 2.25 0 0 1 3.25 3h13.5A2.25 2.25 0 0 1 19 5.25v9.5A2.25 2.25 0 0 1 16.75 17H3.25A2.25 2.25 0 0 1 1 14.75v-9.5Zm1.5 5.81v3.69c0 .414.336.75.75.75h13.5a.75.75 0 0 0 .75-.75v-2.69l-2.22-2.219a.75.75 0 0 0-1.06 0l-1.91 1.909.47.47a.75.75 0 1 1-1.06 1.06L6.53 8.091a.75.75 0 0 0-1.06 0l-2.97 2.97ZM12 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M1 5.25A2.25 2.25 0 0 1 3.25 3h13.5A2.25 2.25 0 0 1 19 5.25v9.5A2.25 2.25 0 0 1 16.75 17H3.25A2.25 2.25 0 0 1 1 14.75v-9.5Zm1.5 5.81v3.69c0 .414.336.75.75.75h13.5a.75.75 0 0 0 .75-.75v-2.69l-2.22-2.219a.75.75 0 0 0-1.06 0l-1.91 1.909.47.47a.75.75 0 1 1-1.06 1.06L6.53 8.091a.75.75 0 0 0-1.06 0l-2.97 2.97ZM12 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .undo:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M7.793 2.232a.75.75 0 0 1-.025 1.06L3.622 7.25h10.003a5.375 5.375 0 0 1 0 10.75H10.75a.75.75 0 0 1 0-1.5h2.875a3.875 3.875 0 0 0 0-7.75H3.622l4.146 3.957a.75.75 0 0 1-1.036 1.085l-5.5-5.25a.75.75 0 0 1 0-1.085l5.5-5.25a.75.75 0 0 1 1.06.025Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M7.793 2.232a.75.75 0 0 1-.025 1.06L3.622 7.25h10.003a5.375 5.375 0 0 1 0 10.75H10.75a.75.75 0 0 1 0-1.5h2.875a3.875 3.875 0 0 0 0-7.75H3.622l4.146 3.957a.75.75 0 0 1-1.036 1.085l-5.5-5.25a.75.75 0 0 1 0-1.085l5.5-5.25a.75.75 0 0 1 1.06.025Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .redo:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M12.207 2.232a.75.75 0 0 0 .025 1.06l4.146 3.958H6.375a5.375 5.375 0 0 0 0 10.75H9.25a.75.75 0 0 0 0-1.5H6.375a3.875 3.875 0 0 1 0-7.75h10.003l-4.146 3.957a.75.75 0 0 0 1.036 1.085l5.5-5.25a.75.75 0 0 0 0-1.085l-5.5-5.25a.75.75 0 0 0-1.06.025Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M12.207 2.232a.75.75 0 0 0 .025 1.06l4.146 3.958H6.375a5.375 5.375 0 0 0 0 10.75H9.25a.75.75 0 0 0 0-1.5H6.375a3.875 3.875 0 0 1 0-7.75h10.003l-4.146 3.957a.75.75 0 0 0 1.036 1.085l5.5-5.25a.75.75 0 0 0 0-1.085l-5.5-5.25a.75.75 0 0 0-1.06.025Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-statusbar{display:none}.fi-fo-markdown-editor:where(.dark,.dark *){--color-cm-red:#f87171;--color-cm-orange:#fb923c;--color-cm-amber:#fbbf24;--color-cm-yellow:#facc15;--color-cm-lime:#a3e635;--color-cm-green:#4ade80;--color-cm-emerald:#4ade80;--color-cm-teal:#2dd4bf;--color-cm-cyan:#22d3ee;--color-cm-sky:#38bdf8;--color-cm-blue:#60a5fa;--color-cm-indigo:#818cf8;--color-cm-violet:#a78bfa;--color-cm-purple:#c084fc;--color-cm-fuchsia:#e879f9;--color-cm-pink:#f472b6;--color-cm-rose:#fb7185;--color-cm-gray:#fafafa;--color-cm-gray-muted:#a1a1aa;--color-cm-gray-background:#52525b}.fi-fo-markdown-editor:where(.dark,.dark *) .EasyMDEContainer .cm-s-easymde span.CodeMirror-selectedtext{filter:invert()}.fi-fo-markdown-editor:where(.dark,.dark *) .EasyMDEContainer .editor-toolbar button:before{background-color:var(--gray-300)}.fi-fo-markdown-editor:where(.dark,.dark *) .EasyMDEContainer .editor-toolbar button.active:before{background-color:var(--primary-400)}.fi-fo-modal-table-select:not(.fi-fo-modal-table-select-multiple){align-items:flex-start;column-gap:calc(var(--spacing)*3);--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5);display:flex}.fi-fo-modal-table-select.fi-fo-modal-table-select-multiple{gap:calc(var(--spacing)*2);display:grid}.fi-fo-modal-table-select.fi-fo-modal-table-select-multiple .fi-fo-modal-table-select-badges-ctn{gap:calc(var(--spacing)*1.5);flex-wrap:wrap;display:flex}.fi-fo-modal-table-select .fi-fo-modal-table-select-placeholder{color:var(--gray-400)}.fi-fo-modal-table-select .fi-fo-modal-table-select-placeholder:where(.dark,.dark *){color:var(--gray-500)}.fi-fo-radio{gap:calc(var(--spacing)*4)}.fi-fo-radio.fi-inline{flex-wrap:wrap;display:flex}.fi-fo-radio:not(.fi-inline).fi-grid-direction-col{margin-top:calc(var(--spacing)*-4)}.fi-fo-radio:not(.fi-inline).fi-grid-direction-col>.fi-fo-radio-label{break-inside:avoid;padding-top:calc(var(--spacing)*4)}.fi-fo-radio>.fi-fo-radio-label{column-gap:calc(var(--spacing)*3);align-self:flex-start;display:flex}.fi-fo-radio>.fi-fo-radio-label>.fi-radio-input{margin-top:calc(var(--spacing)*1);flex-shrink:0}.fi-fo-radio>.fi-fo-radio-label>.fi-fo-radio-label-text{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950);display:grid}.fi-fo-radio>.fi-fo-radio-label>.fi-fo-radio-label-text:where(.dark,.dark *){color:var(--color-white)}.fi-fo-radio>.fi-fo-radio-label .fi-fo-radio-label-description{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);color:var(--gray-500)}.fi-fo-radio>.fi-fo-radio-label .fi-fo-radio-label-description:where(.dark,.dark *){color:var(--gray-400)}.fi-fo-repeater{row-gap:calc(var(--spacing)*4);display:grid}.fi-fo-repeater .fi-fo-repeater-actions{column-gap:calc(var(--spacing)*3);display:flex}.fi-fo-repeater .fi-fo-repeater-actions.fi-hidden{display:none}.fi-fo-repeater .fi-fo-repeater-items{align-items:flex-start;gap:calc(var(--spacing)*4)}.fi-fo-repeater .fi-fo-repeater-item{border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-fo-repeater .fi-fo-repeater-item{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-fo-repeater .fi-fo-repeater-item:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-repeater .fi-fo-repeater-item:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-repeater .fi-fo-repeater-item:where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-repeater .fi-fo-repeater-item:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-repeater .fi-fo-repeater-item.fi-collapsed .fi-fo-repeater-item-header-collapsible-actions{rotate:-180deg}.fi-fo-repeater .fi-fo-repeater-item.fi-collapsed .fi-fo-repeater-item-header-collapse-action,.fi-fo-repeater .fi-fo-repeater-item:not(.fi-collapsed) .fi-fo-repeater-item-header-expand-action{pointer-events:none;opacity:0}.fi-fo-repeater .fi-fo-repeater-item-header{align-items:center;column-gap:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);display:flex;overflow:hidden}.fi-fo-repeater.fi-collapsible .fi-fo-repeater-item-header{cursor:pointer;-webkit-user-select:none;user-select:none}.fi-fo-repeater .fi-fo-repeater-item-header-start-actions{align-items:center;column-gap:calc(var(--spacing)*3);display:flex}.fi-fo-repeater .fi-fo-repeater-item-header-icon{color:var(--gray-400)}.fi-fo-repeater .fi-fo-repeater-item-header-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-fo-repeater .fi-fo-repeater-item-header-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-fo-repeater .fi-fo-repeater-item-header-label:where(.dark,.dark *){color:var(--color-white)}.fi-fo-repeater .fi-fo-repeater-item-header-label.fi-truncated{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fi-fo-repeater .fi-fo-repeater-item-header-end-actions{align-items:center;column-gap:calc(var(--spacing)*3);margin-inline-start:auto;display:flex}.fi-fo-repeater .fi-fo-repeater-item-header-collapsible-actions{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));position:relative}.fi-fo-repeater .fi-fo-repeater-item-header-collapse-action{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.fi-fo-repeater .fi-fo-repeater-item-header-expand-action{inset:calc(var(--spacing)*0);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));position:absolute;rotate:180deg}.fi-fo-repeater .fi-fo-repeater-item-content{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-100);padding:calc(var(--spacing)*4)}.fi-fo-repeater .fi-fo-repeater-item-content:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-repeater .fi-fo-repeater-item-content:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-repeater .fi-fo-repeater-add-between-items-ctn{justify-content:center;width:100%;display:flex}.fi-fo-repeater .fi-fo-repeater-add-between-items{border-radius:var(--radius-lg);background-color:var(--color-white)}.fi-fo-repeater .fi-fo-repeater-add-between-items:where(.dark,.dark *){background-color:var(--gray-900)}.fi-fo-repeater .fi-fo-repeater-label-between-items-ctn{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-200);position:relative}.fi-fo-repeater .fi-fo-repeater-label-between-items-ctn:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-repeater .fi-fo-repeater-label-between-items-ctn:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-repeater .fi-fo-repeater-label-between-items{inset-inline-start:calc(var(--spacing)*3);top:calc(var(--spacing)*-2.5);padding-inline:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);position:absolute}.fi-fo-repeater .fi-fo-repeater-add{justify-content:center;width:100%;display:flex}.fi-fo-repeater .fi-fo-repeater-add.fi-align-start,.fi-fo-repeater .fi-fo-repeater-add.fi-align-left{justify-content:flex-start}.fi-fo-repeater .fi-fo-repeater-add.fi-align-end,.fi-fo-repeater .fi-fo-repeater-add.fi-align-right{justify-content:flex-end}.fi-fo-simple-repeater{row-gap:calc(var(--spacing)*4);display:grid}.fi-fo-simple-repeater .fi-fo-simple-repeater-items{gap:calc(var(--spacing)*4)}.fi-fo-simple-repeater .fi-fo-simple-repeater-item{justify-content:flex-start;column-gap:calc(var(--spacing)*3);display:flex}.fi-fo-simple-repeater .fi-fo-simple-repeater-item-content{flex:1}.fi-fo-simple-repeater .fi-fo-simple-repeater-item-actions{align-items:center;column-gap:calc(var(--spacing)*1);display:flex}.fi-fo-simple-repeater .fi-fo-simple-repeater-add{justify-content:center;width:100%;display:flex}.fi-fo-simple-repeater .fi-fo-simple-repeater-add.fi-align-start,.fi-fo-simple-repeater .fi-fo-simple-repeater-add.fi-align-left{justify-content:flex-start}.fi-fo-simple-repeater .fi-fo-simple-repeater-add.fi-align-end,.fi-fo-simple-repeater .fi-fo-simple-repeater-add.fi-align-right{justify-content:flex-end}.fi-fo-table-repeater{gap:calc(var(--spacing)*3);display:grid}.fi-fo-table-repeater>table{width:100%;display:block}:where(.fi-fo-table-repeater>table>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}.fi-fo-table-repeater>table{border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-fo-table-repeater>table{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}:where(.fi-fo-table-repeater>table:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-fo-table-repeater>table:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-table-repeater>table:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-table-repeater>table:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-table-repeater>table>thead{white-space:nowrap;display:none}.fi-fo-table-repeater>table>thead>tr>th{border-color:var(--gray-200);background-color:var(--gray-50);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}.fi-fo-table-repeater>table>thead>tr>th:first-of-type{border-top-left-radius:var(--radius-xl)}.fi-fo-table-repeater>table>thead>tr>th:last-of-type{border-top-right-radius:var(--radius-xl)}.fi-fo-table-repeater>table>thead>tr>th:where(.dark,.dark *){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-table-repeater>table>thead>tr>th:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-table-repeater>table>thead>tr>th:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-table-repeater>table>thead>tr>th:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-table-repeater>table>thead>tr>th:where(.dark,.dark *){color:var(--color-white)}.fi-fo-table-repeater>table>thead>tr>th:not(:first-of-type){border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.fi-fo-table-repeater>table>thead>tr>th:not(:last-of-type){border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.fi-fo-table-repeater>table>thead>tr>th.fi-align-start,.fi-fo-table-repeater>table>thead>tr>th.fi-align-left{text-align:start}.fi-fo-table-repeater>table>thead>tr>th.fi-align-end,.fi-fo-table-repeater>table>thead>tr>th.fi-align-right{text-align:end}.fi-fo-table-repeater>table>thead>tr>th.fi-wrapped{white-space:normal}.fi-fo-table-repeater>table>thead>tr>th:not(.fi-wrapped){white-space:nowrap}.fi-fo-table-repeater>table>thead>tr>th.fi-fo-table-repeater-empty-header-cell{width:calc(var(--spacing)*1)}.fi-fo-table-repeater>table>tbody{display:block}:where(.fi-fo-table-repeater>table>tbody>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-fo-table-repeater>table>tbody:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-fo-table-repeater>table>tbody:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-table-repeater>table>tbody>tr{gap:calc(var(--spacing)*6);padding:calc(var(--spacing)*6);display:grid}.fi-fo-table-repeater>table>tbody>tr>td{display:block}.fi-fo-table-repeater>table>tbody>tr>td.fi-hidden{display:none}.fi-fo-table-repeater>table .fi-fo-table-repeater-header-required-mark{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--danger-600)}.fi-fo-table-repeater>table .fi-fo-table-repeater-header-required-mark:where(.dark,.dark *){color:var(--danger-400)}.fi-fo-table-repeater>table .fi-fo-table-repeater-actions{align-items:center;column-gap:calc(var(--spacing)*3);height:100%;display:flex}@supports (container-type:inline-size){.fi-fo-table-repeater{container-type:inline-size}@container (min-width:36rem){.fi-fo-table-repeater>table{display:table}.fi-fo-table-repeater>table>thead{display:table-header-group}.fi-fo-table-repeater>table>tbody{display:table-row-group}.fi-fo-table-repeater>table>tbody>tr{padding:calc(var(--spacing)*0);display:table-row}.fi-fo-table-repeater>table>tbody>tr>td{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);display:table-cell}.fi-fo-table-repeater>table>tbody>tr>td.fi-hidden{display:table-cell}.fi-fo-table-repeater>table>tbody>tr>td .fi-fo-field,.fi-fo-table-repeater>table>tbody>tr>td .fi-in-entry{row-gap:calc(var(--spacing)*0)}.fi-fo-table-repeater>table>tbody>tr>td .fi-fo-field-label-content,.fi-fo-table-repeater>table>tbody>tr>td .fi-in-entry-label-content{display:none}.fi-fo-table-repeater>table .fi-fo-table-repeater-actions{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2)}}}@supports not (container-type:inline-size){@media (min-width:64rem){.fi-fo-table-repeater>table{display:table}.fi-fo-table-repeater>table>thead{display:table-header-group}.fi-fo-table-repeater>table>tbody{display:table-row-group}.fi-fo-table-repeater>table>tbody>tr{padding:calc(var(--spacing)*0);display:table-row}.fi-fo-table-repeater>table>tbody>tr>td{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);display:table-cell}.fi-fo-table-repeater>table>tbody>tr>td.fi-hidden{display:table-cell}.fi-fo-table-repeater>table>tbody>tr>td .fi-fo-field,.fi-fo-table-repeater>table>tbody>tr>td .fi-in-entry{row-gap:calc(var(--spacing)*0)}.fi-fo-table-repeater>table>tbody>tr>td .fi-fo-field-label-content,.fi-fo-table-repeater>table>tbody>tr>td .fi-in-entry-label-content{display:none}.fi-fo-table-repeater>table .fi-fo-table-repeater-actions{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2)}}}.fi-fo-table-repeater .fi-fo-table-repeater-add{justify-content:center;width:100%;display:flex}.fi-fo-table-repeater .fi-fo-table-repeater-add.fi-align-start,.fi-fo-table-repeater .fi-fo-table-repeater-add.fi-align-left{justify-content:flex-start}.fi-fo-table-repeater .fi-fo-table-repeater-add.fi-align-end,.fi-fo-table-repeater .fi-fo-table-repeater-add.fi-align-right{justify-content:flex-end}.fi-fo-rich-editor .fi-fo-rich-editor-uploading-file{pointer-events:none;cursor:wait;opacity:.5}.fi-fo-rich-editor .fi-fo-rich-editor-toolbar{column-gap:calc(var(--spacing)*3);row-gap:calc(var(--spacing)*1);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);padding-inline:calc(var(--spacing)*2.5);padding-block:calc(var(--spacing)*2);flex-wrap:wrap;display:flex;position:relative}.fi-fo-rich-editor .fi-fo-rich-editor-toolbar:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-toolbar:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-floating-toolbar{visibility:hidden;z-index:20;margin-top:calc(var(--spacing)*-1);column-gap:calc(var(--spacing)*3);row-gap:calc(var(--spacing)*1);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--gray-300);background-color:var(--color-white);padding:calc(var(--spacing)*1);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);flex-wrap:wrap;display:flex;position:absolute}.fi-fo-rich-editor .fi-fo-rich-editor-floating-toolbar:where(.dark,.dark *){border-color:var(--gray-600);background-color:var(--gray-800)}.fi-fo-rich-editor .fi-fo-rich-editor-toolbar-group{column-gap:calc(var(--spacing)*1);display:flex}.fi-fo-rich-editor .fi-fo-rich-editor-tool{height:calc(var(--spacing)*8);min-width:calc(var(--spacing)*8);border-radius:var(--radius-lg);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-700);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;justify-content:center;align-items:center;transition-duration:75ms;display:flex}@media (hover:hover){.fi-fo-rich-editor .fi-fo-rich-editor-tool:hover{background-color:var(--gray-50)}}.fi-fo-rich-editor .fi-fo-rich-editor-tool:focus-visible{background-color:var(--gray-50)}.fi-fo-rich-editor .fi-fo-rich-editor-tool:where(.dark,.dark *){color:var(--gray-200)}@media (hover:hover){.fi-fo-rich-editor .fi-fo-rich-editor-tool:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-tool:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-fo-rich-editor .fi-fo-rich-editor-tool:where(.dark,.dark *):focus-visible{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-tool:where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-tool.fi-active{background-color:var(--gray-50);color:var(--primary-600)}.fi-fo-rich-editor .fi-fo-rich-editor-tool.fi-active:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-tool.fi-active:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-tool.fi-active:where(.dark,.dark *){color:var(--primary-400)}.fi-fo-rich-editor .fi-fo-rich-editor-uploading-file-message{align-items:center;column-gap:calc(var(--spacing)*3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);background-color:var(--gray-50);padding-inline:calc(var(--spacing)*5);padding-block:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-700);display:flex}.fi-fo-rich-editor .fi-fo-rich-editor-uploading-file-message:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-uploading-file-message:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-uploading-file-message:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-uploading-file-message:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-uploading-file-message:where(.dark,.dark *){color:var(--gray-200)}.fi-fo-rich-editor .fi-fo-rich-editor-uploading-file-message .fi-loading-indicator{color:var(--gray-400)}.fi-fo-rich-editor .fi-fo-rich-editor-uploading-file-message .fi-loading-indicator:where(.dark,.dark *){color:var(--gray-500)}.fi-fo-rich-editor .fi-fo-rich-editor-main{flex-direction:column-reverse;display:flex}.fi-fo-rich-editor .fi-fo-rich-editor-content{min-height:calc(var(--spacing)*12);width:100%;padding-inline:calc(var(--spacing)*5);padding-block:calc(var(--spacing)*3);flex:1}.fi-fo-rich-editor span[data-type=mergeTag]:before{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);opacity:.6;content:"{{";margin-inline-end:calc(var(--spacing)*1)}.fi-fo-rich-editor span[data-type=mergeTag]:after{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);opacity:.6;content:"}}";margin-inline-start:calc(var(--spacing)*1)}.fi-fo-rich-editor .fi-fo-rich-editor-panels{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);background-color:var(--gray-50);width:100%}.fi-fo-rich-editor .fi-fo-rich-editor-panels:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-panels:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-panels:where(.dark,.dark *){background-color:var(--gray-900)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-panels:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-900)30%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-panel-header{align-items:flex-start;gap:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);display:flex}.fi-fo-rich-editor .fi-fo-rich-editor-panel-heading{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950);flex:1}.fi-fo-rich-editor .fi-fo-rich-editor-panel-heading:where(.dark,.dark *){color:var(--color-white)}.fi-fo-rich-editor .fi-fo-rich-editor-panel-close-btn-ctn{flex-shrink:0}.fi-fo-rich-editor .fi-fo-rich-editor-panel{display:grid}:where(.fi-fo-rich-editor .fi-fo-rich-editor-panel>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-fo-rich-editor .fi-fo-rich-editor-panel:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-fo-rich-editor .fi-fo-rich-editor-panel:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-merge-tags-list{gap:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);flex-wrap:wrap;display:flex}.fi-fo-rich-editor .fi-fo-rich-editor-merge-tag-btn{cursor:move;border-radius:var(--radius-lg);background-color:var(--color-white);padding:calc(var(--spacing)*1);text-align:start;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-600);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-600)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-merge-tag-btn{--tw-ring-color:color-mix(in oklab,var(--gray-600)10%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-merge-tag-btn:where(.dark,.dark *){background-color:var(--gray-400)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-merge-tag-btn:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-400)10%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-merge-tag-btn:where(.dark,.dark *){color:var(--gray-200);--tw-ring-color:var(--gray-400)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-merge-tag-btn:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--gray-400)20%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-custom-blocks-list{gap:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);flex-wrap:wrap;display:flex}.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-btn{cursor:move;gap:calc(var(--spacing)*1.5);border-radius:var(--radius-lg);background-color:var(--color-white);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1);text-align:start;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-600);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-600);display:flex}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-btn{--tw-ring-color:color-mix(in oklab,var(--gray-600)10%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-btn:where(.dark,.dark *){background-color:var(--gray-400)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-btn:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-400)10%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-btn:where(.dark,.dark *){color:var(--gray-200);--tw-ring-color:var(--gray-400)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-btn:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--gray-400)20%,transparent)}}.fi-fo-rich-editor .tiptap{height:100%}.fi-fo-rich-editor .tiptap:focus{--tw-outline-style:none;outline-style:none}div:is(.fi-fo-rich-editor .tiptap:focus .ProseMirror-selectednode)[data-type=customBlock],img:is(.fi-fo-rich-editor .tiptap:focus .ProseMirror-selectednode){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--primary-600)}:is(div:is(.fi-fo-rich-editor .tiptap:focus .ProseMirror-selectednode)[data-type=customBlock],img:is(.fi-fo-rich-editor .tiptap:focus .ProseMirror-selectednode)):where(.dark,.dark *){--tw-ring-color:var(--primary-500)}.fi-fo-rich-editor .tiptap p.is-editor-empty:first-child:before{pointer-events:none;float:inline-start;height:calc(var(--spacing)*0);color:var(--gray-400);content:attr(data-placeholder)}.fi-fo-rich-editor .tiptap p.is-editor-empty:first-child:where(.dark,.dark *):before{color:var(--gray-500)}.fi-fo-rich-editor .tiptap [data-type=details]{margin-block:calc(var(--spacing)*6);gap:calc(var(--spacing)*1);border-radius:var(--radius-md);border-style:var(--tw-border-style);border-width:1px;border-color:var(--gray-950);display:flex}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .tiptap [data-type=details]{border-color:color-mix(in oklab,var(--gray-950)20%,transparent)}}.fi-fo-rich-editor .tiptap [data-type=details]{padding:calc(var(--spacing)*4)}.fi-fo-rich-editor .tiptap [data-type=details]:where(.dark,.dark *){border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .tiptap [data-type=details]:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-fo-rich-editor .tiptap [data-type=details]>div:first-of-type{margin-top:calc(var(--spacing)*0)!important}.fi-fo-rich-editor .tiptap [data-type=details] summary{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);list-style-type:none}.fi-fo-rich-editor .tiptap [data-type=details]>button{margin-top:1px;margin-right:calc(var(--spacing)*2);width:calc(var(--spacing)*5);height:calc(var(--spacing)*5);border-radius:var(--radius-md);padding:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:1;background-color:#0000;justify-content:center;align-items:center;line-height:1;display:flex}@media (hover:hover){.fi-fo-rich-editor .tiptap [data-type=details]>button:hover{background-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .tiptap [data-type=details]>button:hover{background-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-fo-rich-editor .tiptap [data-type=details]>button:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .tiptap [data-type=details]>button:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-fo-rich-editor .tiptap [data-type=details]>button:before{content:"▶"}.fi-fo-rich-editor .tiptap [data-type=details].is-open>button:before{transform:rotate(90deg)}.fi-fo-rich-editor .tiptap [data-type=details]>div{gap:calc(var(--spacing)*4);flex-direction:column;width:100%;display:flex}.fi-fo-rich-editor .tiptap [data-type=details]>div>[data-type=detailsContent]{margin-top:calc(var(--spacing)*0)!important}.fi-fo-rich-editor .tiptap [data-type=details]>div>[data-type=detailsContent]>:last-child{margin-bottom:calc(var(--spacing)*4)}.fi-fo-rich-editor .tiptap table{margin:calc(var(--spacing)*0);table-layout:fixed;border-collapse:collapse;width:100%;overflow:hidden}.fi-fo-rich-editor .tiptap table:first-child{margin-top:calc(var(--spacing)*0)}.fi-fo-rich-editor .tiptap table td,.fi-fo-rich-editor .tiptap table th{border-style:var(--tw-border-style);border-width:1px;border-color:var(--gray-300);min-width:1em;padding-block:calc(var(--spacing)*2);vertical-align:top;position:relative;padding-inline:calc(var(--spacing)*2)!important}:is(.fi-fo-rich-editor .tiptap table td,.fi-fo-rich-editor .tiptap table th):where(.dark,.dark *){border-color:var(--gray-600)}:is(.fi-fo-rich-editor .tiptap table td,.fi-fo-rich-editor .tiptap table th)>*{margin-bottom:calc(var(--spacing)*0)}.fi-fo-rich-editor .tiptap table th{background-color:var(--gray-100);text-align:start;--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.fi-fo-rich-editor .tiptap table th:where(.dark,.dark *){background-color:var(--gray-800);color:var(--color-white)}.fi-fo-rich-editor .tiptap table .selectedCell:after{pointer-events:none;inset-inline-start:calc(var(--spacing)*0);inset-inline-end:calc(var(--spacing)*0);top:calc(var(--spacing)*0);bottom:calc(var(--spacing)*0);z-index:2;background-color:var(--gray-200);position:absolute}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .tiptap table .selectedCell:after{background-color:color-mix(in oklab,var(--gray-200)80%,transparent)}}.fi-fo-rich-editor .tiptap table .selectedCell:after{--tw-content:"";content:var(--tw-content)}.fi-fo-rich-editor .tiptap table .selectedCell:where(.dark,.dark *):after{background-color:var(--gray-800)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .tiptap table .selectedCell:where(.dark,.dark *):after{background-color:color-mix(in oklab,var(--gray-800)80%,transparent)}}.fi-fo-rich-editor .tiptap table .column-resize-handle{pointer-events:none;inset-inline-end:calc(var(--spacing)*0);top:calc(var(--spacing)*0);bottom:calc(var(--spacing)*0);width:calc(var(--spacing)*1);background-color:var(--primary-600);position:absolute;margin:calc(var(--spacing)*0)!important}.fi-fo-rich-editor .tiptap .tableWrapper{overflow-x:auto}.fi-fo-rich-editor .tiptap.resize-cursor{cursor:col-resize;cursor:ew-resize}.fi-fo-rich-editor img{display:inline-block}.fi-fo-rich-editor div[data-type=customBlock]{display:grid}:where(.fi-fo-rich-editor div[data-type=customBlock]>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}.fi-fo-rich-editor div[data-type=customBlock]{border-radius:var(--radius-lg);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor div[data-type=customBlock]{--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}:where(.fi-fo-rich-editor div[data-type=customBlock]:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-fo-rich-editor div[data-type=customBlock]:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-rich-editor div[data-type=customBlock]:where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor div[data-type=customBlock]:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-header{align-items:flex-start;gap:calc(var(--spacing)*3);background-color:var(--gray-50);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);display:flex}.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-header:where(.dark,.dark *){background-color:var(--gray-900)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-header:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-900)30%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-heading{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950);flex:1}.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-heading:where(.dark,.dark *){color:var(--color-white)}.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-edit-btn-ctn,.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-delete-btn-ctn{flex-shrink:0}.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-preview{padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3)}@supports (container-type:inline-size){.fi-fo-rich-editor{container-type:inline-size}@container (min-width:42rem){.fi-fo-rich-editor .fi-fo-rich-editor-main{flex-direction:row}.fi-fo-rich-editor .fi-fo-rich-editor-panels{max-width:var(--container-3xs);border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:0;border-end-end-radius:var(--radius-lg)}}}@supports not (container-type:inline-size){@media (min-width:48rem){.fi-fo-rich-editor .fi-fo-rich-editor-main{flex-direction:row}.fi-fo-rich-editor .fi-fo-rich-editor-panels{max-width:var(--container-3xs);border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:0;border-end-end-radius:var(--radius-lg)}}}.fi-fo-select .fi-hidden{display:none}.fi-fo-slider{gap:calc(var(--spacing)*4);border-radius:var(--radius-lg);border-style:var(--tw-border-style);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);background-color:#0000;border-width:0}@supports (color:color-mix(in lab, red, red)){.fi-fo-slider{--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}.fi-fo-slider:where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-fo-slider:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-fo-slider .noUi-connect{background-color:var(--primary-500)}.fi-fo-slider .noUi-connect:where(.dark,.dark *){background-color:var(--primary-600)}.fi-fo-slider .noUi-connects{border-radius:var(--radius-lg);background-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-fo-slider .noUi-connects{background-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-fo-slider .noUi-connects:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-slider .noUi-connects:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-slider .noUi-handle{border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--gray-950);position:absolute}@supports (color:color-mix(in lab, red, red)){.fi-fo-slider .noUi-handle{border-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}.fi-fo-slider .noUi-handle{background-color:var(--color-white);--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);backface-visibility:hidden}.fi-fo-slider .noUi-handle:focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--primary-600)}.fi-fo-slider .noUi-handle:where(.dark,.dark *){border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-fo-slider .noUi-handle:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-fo-slider .noUi-handle:where(.dark,.dark *){background-color:var(--gray-700)}.fi-fo-slider .noUi-handle:where(.dark,.dark *):focus{outline-color:var(--primary-500)}.fi-fo-slider .noUi-handle:before,.fi-fo-slider .noUi-handle:after{border-style:var(--tw-border-style);background-color:var(--gray-400);border-width:0}.fi-fo-slider .noUi-tooltip{border-radius:var(--radius-md);border-style:var(--tw-border-style);background-color:var(--color-white);color:var(--gray-950);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);border-width:0}@supports (color:color-mix(in lab, red, red)){.fi-fo-slider .noUi-tooltip{--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}.fi-fo-slider .noUi-tooltip:where(.dark,.dark *){background-color:var(--gray-800);color:var(--color-white);--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-fo-slider .noUi-tooltip:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-fo-slider .noUi-pips .noUi-value{color:var(--gray-950)}.fi-fo-slider .noUi-pips .noUi-value:where(.dark,.dark *){color:var(--color-white)}.fi-fo-slider.fi-fo-slider-vertical{margin-top:calc(var(--spacing)*4);height:calc(var(--spacing)*40)}.fi-fo-slider.fi-fo-slider-vertical.fi-fo-slider-has-tooltips{margin-inline-start:calc(var(--spacing)*10)}.fi-fo-slider:not(.fi-fo-slider-vertical).fi-fo-slider-has-pips{margin-bottom:calc(var(--spacing)*8)}.fi-fo-slider:not(.fi-fo-slider-vertical).fi-fo-slider-has-tooltips{margin-top:calc(var(--spacing)*10)}.fi-fo-slider:not(.fi-fo-slider-vertical) .noUi-pips .noUi-value{margin-top:calc(var(--spacing)*1)}.fi-fo-tags-input.fi-disabled .fi-badge-delete-btn{display:none}.fi-fo-tags-input .fi-fo-tags-input-tags-ctn{gap:calc(var(--spacing)*1.5);border-top-style:var(--tw-border-style);border-top-width:1px;border-top-color:var(--gray-200);width:100%;padding:calc(var(--spacing)*2);flex-wrap:wrap;display:flex}.fi-fo-tags-input .fi-fo-tags-input-tags-ctn:where(.dark,.dark *){border-top-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-tags-input .fi-fo-tags-input-tags-ctn:where(.dark,.dark *){border-top-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-tags-input .fi-fo-tags-input-tags-ctn>template{display:none}.fi-fo-tags-input .fi-fo-tags-input-tags-ctn>.fi-badge.fi-reorderable{cursor:move}.fi-fo-tags-input .fi-fo-tags-input-tags-ctn>.fi-badge .fi-badge-label-ctn{text-align:start;-webkit-user-select:none;user-select:none}@media (min-width:40rem){.fi-fo-tags-input-wrp.fi-fo-field-has-inline-label .fi-fo-field-label-col{padding-top:calc(var(--spacing)*1.5)}}.fi-fo-text-input{overflow:hidden}.fi-fo-text-input input.fi-revealable::-ms-reveal{display:none}@media (min-width:40rem){.fi-fo-text-input-wrp.fi-fo-field-has-inline-label .fi-fo-field-label-col{padding-top:calc(var(--spacing)*1.5)}}.fi-fo-textarea{overflow:hidden}.fi-fo-textarea textarea{--tw-border-style:none;width:100%;height:100%;padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);color:var(--gray-950);background-color:#0000;border-style:none;display:block}.fi-fo-textarea textarea::placeholder{color:var(--gray-400)}.fi-fo-textarea textarea:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-outline-style:none;outline-style:none}.fi-fo-textarea textarea:disabled{color:var(--gray-500);-webkit-text-fill-color:var(--color-gray-500)}.fi-fo-textarea textarea:disabled::placeholder{-webkit-text-fill-color:var(--color-gray-400)}.fi-fo-textarea textarea:where(.dark,.dark *){color:var(--color-white)}.fi-fo-textarea textarea:where(.dark,.dark *)::placeholder{color:var(--gray-500)}.fi-fo-textarea textarea:where(.dark,.dark *):disabled{color:var(--gray-400);-webkit-text-fill-color:var(--color-gray-400)}.fi-fo-textarea textarea:where(.dark,.dark *):disabled::placeholder{-webkit-text-fill-color:var(--color-gray-500)}.fi-fo-textarea.fi-autosizable textarea{resize:none}@media (min-width:40rem){.fi-fo-textarea-wrp.fi-fo-field-has-inline-label .fi-fo-field-label-col{padding-top:calc(var(--spacing)*1.5)}}.fi-fo-toggle-buttons.fi-btn-group{width:max-content}.fi-fo-toggle-buttons:not(.fi-btn-group){gap:calc(var(--spacing)*3)}.fi-fo-toggle-buttons:not(.fi-btn-group).fi-inline{flex-wrap:wrap;display:flex}.fi-fo-toggle-buttons:not(.fi-btn-group):not(.fi-inline).fi-grid-direction-col{margin-top:calc(var(--spacing)*-3)}.fi-fo-toggle-buttons:not(.fi-btn-group):not(.fi-inline).fi-grid-direction-col .fi-fo-toggle-buttons-btn-ctn{break-inside:avoid;padding-top:calc(var(--spacing)*3)}.fi-fo-toggle-buttons .fi-fo-toggle-buttons-input{pointer-events:none;opacity:0;position:absolute}@media (min-width:40rem){.fi-fo-toggle-buttons-wrp.fi-fo-field-has-inline-label .fi-fo-field-label-col{padding-top:calc(var(--spacing)*1.5)}}.fi-in-code .phiki{border-radius:var(--radius-lg);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);overflow-x:auto}@supports (color:color-mix(in lab, red, red)){.fi-in-code .phiki{--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}.fi-in-code .phiki:where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-in-code .phiki:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-in-code:where(.dark,.dark *) .phiki,.fi-in-code:where(.dark,.dark *) .phiki span{color:var(--phiki-dark-color)!important;background-color:var(--phiki-dark-background-color)!important;font-style:var(--phiki-dark-font-style)!important;font-weight:var(--phiki-dark-font-weight)!important;-webkit-text-decoration:var(--phiki-dark-text-decoration)!important;-webkit-text-decoration:var(--phiki-dark-text-decoration)!important;text-decoration:var(--phiki-dark-text-decoration)!important}.fi-in-code.fi-copyable{cursor:pointer}.fi-in-color{gap:calc(var(--spacing)*1.5);width:100%;display:flex}.fi-in-color.fi-wrapped{flex-wrap:wrap}.fi-in-color.fi-align-start,.fi-in-color.fi-align-left{justify-content:flex-start}.fi-in-color.fi-align-center{justify-content:center}.fi-in-color.fi-align-end,.fi-in-color.fi-align-right{justify-content:flex-end}.fi-in-color.fi-align-justify,.fi-in-color.fi-align-between{justify-content:space-between}.fi-in-color>.fi-in-color-item{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6);border-radius:var(--radius-md)}.fi-in-color>.fi-in-color-item.fi-copyable{cursor:pointer}.fi-in-entry{row-gap:calc(var(--spacing)*2);display:grid}@media (min-width:40rem){.fi-in-entry.fi-in-entry-has-inline-label{align-items:flex-start;column-gap:calc(var(--spacing)*4);grid-template-columns:repeat(3,minmax(0,1fr))}.fi-in-entry.fi-in-entry-has-inline-label .fi-in-entry-content-col{grid-column:span 2/span 2}}.fi-in-entry .fi-in-entry-label-ctn{align-items:flex-start;column-gap:calc(var(--spacing)*3);display:flex}.fi-in-entry .fi-in-entry-label-ctn>.fi-sc:first-child{flex-grow:0}.fi-in-entry .fi-in-entry-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-in-entry .fi-in-entry-label:where(.dark,.dark *){color:var(--color-white)}.fi-in-entry .fi-in-entry-label.fi-hidden{display:none}.fi-in-entry .fi-in-entry-label-col,.fi-in-entry .fi-in-entry-content-col{row-gap:calc(var(--spacing)*2);grid-auto-columns:minmax(0,1fr);display:grid}.fi-in-entry .fi-in-entry-content-ctn{align-items:center;column-gap:calc(var(--spacing)*3);width:100%;display:flex}.fi-in-entry .fi-in-entry-content{text-align:start;width:100%;display:block}.fi-in-entry .fi-in-entry-content.fi-align-center{text-align:center}.fi-in-entry .fi-in-entry-content.fi-align-end{text-align:end}.fi-in-entry .fi-in-entry-content.fi-align-left{text-align:left}.fi-in-entry .fi-in-entry-content.fi-align-right{text-align:right}.fi-in-entry .fi-in-entry-content.fi-align-justify,.fi-in-entry .fi-in-entry-content.fi-align-between{text-align:justify}.fi-in-entry .fi-in-placeholder{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-400)}.fi-in-entry .fi-in-placeholder:where(.dark,.dark *){color:var(--gray-500)}.fi-in-key-value{table-layout:auto;width:100%}:where(.fi-in-key-value>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}.fi-in-key-value{border-radius:var(--radius-lg);background-color:var(--color-white);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-in-key-value{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}:where(.fi-in-key-value:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-in-key-value:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-in-key-value:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-in-key-value:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-in-key-value:where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-in-key-value:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-in-key-value th{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);text-align:start;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-700)}.fi-in-key-value th:where(.dark,.dark *){color:var(--gray-200)}:where(.fi-in-key-value tbody>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}.fi-in-key-value tbody{font-family:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}@media (min-width:40rem){.fi-in-key-value tbody{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}}:where(.fi-in-key-value tbody:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-in-key-value tbody:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}:where(.fi-in-key-value tr>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));border-color:var(--gray-200)}:where(.fi-in-key-value tr:where(:dir(rtl),[dir=rtl],[dir=rtl] *)>:not(:last-child)){--tw-divide-x-reverse:1}:where(.fi-in-key-value tr:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-in-key-value tr:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-in-key-value td{width:50%;padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*1.5);overflow-wrap:anywhere}.fi-in-key-value td.fi-in-placeholder{width:100%;padding-block:calc(var(--spacing)*2);text-align:center;font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.fi-in-icon{gap:calc(var(--spacing)*1.5);width:100%;display:flex}.fi-in-icon.fi-wrapped{flex-wrap:wrap}.fi-in-icon.fi-in-icon-has-line-breaks{flex-direction:column}.fi-in-icon.fi-align-start,.fi-in-icon.fi-align-left{justify-content:flex-start}.fi-in-icon.fi-align-center{justify-content:center}.fi-in-icon.fi-align-end,.fi-in-icon.fi-align-right{justify-content:flex-end}.fi-in-icon.fi-align-justify,.fi-in-icon.fi-align-between{justify-content:space-between}.fi-in-icon>.fi-icon{color:var(--gray-400)}.fi-in-icon>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-in-icon>.fi-icon.fi-color{color:var(--text)}.fi-in-icon>.fi-icon.fi-color:where(.dark,.dark *){color:var(--dark-text)}.fi-in-image{align-items:center;gap:calc(var(--spacing)*1.5);width:100%;display:flex}.fi-in-image img{object-fit:cover;object-position:center;max-width:none}.fi-in-image.fi-circular img{border-radius:3.40282e38px}.fi-in-image.fi-in-image-ring img,.fi-in-image.fi-in-image-ring .fi-in-image-limited-remaining-text{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-white)}:is(.fi-in-image.fi-in-image-ring img,.fi-in-image.fi-in-image-ring .fi-in-image-limited-remaining-text):where(.dark,.dark *){--tw-ring-color:var(--gray-900)}.fi-in-image.fi-in-image-ring.fi-in-image-ring-1 img,.fi-in-image.fi-in-image-ring.fi-in-image-ring-1 .fi-in-image-limited-remaining-text{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-in-image.fi-in-image-ring.fi-in-image-ring-2 img,.fi-in-image.fi-in-image-ring.fi-in-image-ring-2 .fi-in-image-limited-remaining-text{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-in-image.fi-in-image-ring.fi-in-image-ring-4 img,.fi-in-image.fi-in-image-ring.fi-in-image-ring-4 .fi-in-image-limited-remaining-text{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-in-image.fi-in-image-overlap-1{column-gap:calc(var(--spacing)*0)}:where(.fi-in-image.fi-in-image-overlap-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-1)*calc(1 - var(--tw-space-x-reverse)))}.fi-in-image.fi-in-image-overlap-2{column-gap:calc(var(--spacing)*0)}:where(.fi-in-image.fi-in-image-overlap-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-2)*calc(1 - var(--tw-space-x-reverse)))}.fi-in-image.fi-in-image-overlap-3{column-gap:calc(var(--spacing)*0)}:where(.fi-in-image.fi-in-image-overlap-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-3)*calc(1 - var(--tw-space-x-reverse)))}.fi-in-image.fi-in-image-overlap-4{column-gap:calc(var(--spacing)*0)}:where(.fi-in-image.fi-in-image-overlap-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-4)*calc(1 - var(--tw-space-x-reverse)))}.fi-in-image.fi-in-image-overlap-5{column-gap:calc(var(--spacing)*0)}:where(.fi-in-image.fi-in-image-overlap-5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-5)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-5)*calc(1 - var(--tw-space-x-reverse)))}.fi-in-image.fi-in-image-overlap-6{column-gap:calc(var(--spacing)*0)}:where(.fi-in-image.fi-in-image-overlap-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-6)*calc(1 - var(--tw-space-x-reverse)))}.fi-in-image.fi-in-image-overlap-7{column-gap:calc(var(--spacing)*0)}:where(.fi-in-image.fi-in-image-overlap-7>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-7)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-7)*calc(1 - var(--tw-space-x-reverse)))}.fi-in-image.fi-in-image-overlap-8{column-gap:calc(var(--spacing)*0)}:where(.fi-in-image.fi-in-image-overlap-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-8)*calc(1 - var(--tw-space-x-reverse)))}.fi-in-image.fi-wrapped{flex-wrap:wrap}.fi-in-image.fi-align-start,.fi-in-image.fi-align-left{justify-content:flex-start}.fi-in-image.fi-align-center{justify-content:center}.fi-in-image.fi-align-end,.fi-in-image.fi-align-right{justify-content:flex-end}.fi-in-image.fi-align-justify,.fi-in-image.fi-align-between{justify-content:space-between}.fi-in-image.fi-stacked .fi-in-image-limited-remaining-text{background-color:var(--gray-100);border-radius:3.40282e38px}.fi-in-image.fi-stacked .fi-in-image-limited-remaining-text:where(.dark,.dark *){background-color:var(--gray-800)}.fi-in-image .fi-in-image-limited-remaining-text{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-500);justify-content:center;align-items:center;display:flex}.fi-in-image .fi-in-image-limited-remaining-text:where(.dark,.dark *){color:var(--gray-400)}.fi-in-image .fi-in-image-limited-remaining-text.fi-size-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fi-in-image .fi-in-image-limited-remaining-text.fi-size-base,.fi-in-image .fi-in-image-limited-remaining-text.fi-size-md{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.fi-in-image .fi-in-image-limited-remaining-text.fi-size-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}ul.fi-in-repeatable{gap:calc(var(--spacing)*4)}.fi-in-repeatable .fi-in-repeatable-item{display:block}.fi-in-repeatable.fi-contained .fi-in-repeatable-item{border-radius:var(--radius-xl);background-color:var(--color-white);padding:calc(var(--spacing)*4);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-in-repeatable.fi-contained .fi-in-repeatable-item{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-in-repeatable.fi-contained .fi-in-repeatable-item:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-in-repeatable.fi-contained .fi-in-repeatable-item:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-in-repeatable.fi-contained .fi-in-repeatable-item:where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-in-repeatable.fi-contained .fi-in-repeatable-item:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-in-text{width:100%}.fi-in-text.fi-in-text-affixed{gap:calc(var(--spacing)*3);display:flex}.fi-in-text .fi-in-text-affixed-content{min-width:calc(var(--spacing)*0);flex:1}.fi-in-text .fi-in-text-affix{align-items:center;gap:calc(var(--spacing)*3);align-self:stretch;display:flex}.fi-in-text.fi-in-text-list-limited{flex-direction:column;display:flex}.fi-in-text.fi-in-text-list-limited.fi-in-text-has-badges{row-gap:calc(var(--spacing)*2)}.fi-in-text.fi-in-text-list-limited:not(.fi-in-text-has-badges){row-gap:calc(var(--spacing)*1)}ul.fi-in-text.fi-bulleted,.fi-in-text.fi-bulleted ul{list-style-type:disc;list-style-position:inside}ul.fi-in-text:not(.fi-in-text-has-line-breaks).fi-in-text-has-badges,.fi-in-text:not(.fi-in-text-has-line-breaks).fi-in-text-has-badges ul{column-gap:calc(var(--spacing)*1.5);display:flex}:is(ul.fi-in-text:not(.fi-in-text-has-line-breaks).fi-in-text-has-badges,.fi-in-text:not(.fi-in-text-has-line-breaks).fi-in-text-has-badges ul).fi-wrapped,:is(ul.fi-in-text:not(.fi-in-text-has-line-breaks).fi-in-text-has-badges,.fi-in-text:not(.fi-in-text-has-line-breaks).fi-in-text-has-badges ul):is(.fi-wrapped ul){row-gap:calc(var(--spacing)*1);flex-wrap:wrap}:is(ul.fi-in-text.fi-in-text-has-badges,.fi-in-text.fi-in-text-has-badges ul).fi-in-text-has-line-breaks,:is(ul.fi-in-text.fi-in-text-has-badges,.fi-in-text.fi-in-text-has-badges ul):is(.fi-in-text-has-line-breaks ul){row-gap:calc(var(--spacing)*1);flex-direction:column;display:flex}:is(ul.fi-in-text.fi-in-text-has-badges,.fi-in-text.fi-in-text-has-badges ul):not(ul.fi-in-text-has-line-breaks),:is(ul.fi-in-text.fi-in-text-has-badges,.fi-in-text.fi-in-text-has-badges ul):not(.fi-in-text-has-line-breaks ul){column-gap:calc(var(--spacing)*1.5);display:flex}:is(:is(ul.fi-in-text.fi-in-text-has-badges,.fi-in-text.fi-in-text-has-badges ul):not(ul.fi-in-text-has-line-breaks),:is(ul.fi-in-text.fi-in-text-has-badges,.fi-in-text.fi-in-text-has-badges ul):not(.fi-in-text-has-line-breaks ul)).fi-wrapped,:is(:is(ul.fi-in-text.fi-in-text-has-badges,.fi-in-text.fi-in-text-has-badges ul):not(ul.fi-in-text-has-line-breaks),:is(ul.fi-in-text.fi-in-text-has-badges,.fi-in-text.fi-in-text-has-badges ul):not(.fi-in-text-has-line-breaks ul)):is(.fi-wrapped ul){row-gap:calc(var(--spacing)*1);flex-wrap:wrap}.fi-in-text.fi-wrapped:not(.fi-in-text-has-badges.fi-in-text-has-line-breaks){white-space:normal;overflow-wrap:break-word}.fi-in-text.fi-wrapped:not(.fi-in-text-has-badges.fi-in-text-has-line-breaks) .fi-badge,.fi-in-text.fi-wrapped:not(.fi-in-text-has-badges.fi-in-text-has-line-breaks) .fi-in-text-list-limited-message{white-space:nowrap}.fi-in-text>.fi-in-text-list-limited-message{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-in-text>.fi-in-text-list-limited-message:where(.dark,.dark *){color:var(--gray-400)}.fi-in-text.fi-align-center{text-align:center}ul.fi-in-text.fi-align-center,.fi-in-text.fi-align-center ul{justify-content:center}.fi-in-text.fi-align-end,.fi-in-text.fi-align-right{text-align:end}ul:is(.fi-in-text.fi-align-end,.fi-in-text.fi-align-right),:is(.fi-in-text.fi-align-end,.fi-in-text.fi-align-right) ul{justify-content:flex-end}.fi-in-text.fi-align-justify,.fi-in-text.fi-align-between{text-align:justify}ul:is(.fi-in-text.fi-align-justify,.fi-in-text.fi-align-between),:is(.fi-in-text.fi-align-justify,.fi-in-text.fi-align-between) ul{justify-content:space-between}.fi-in-text-item{color:var(--gray-950)}.fi-in-text-item:where(.dark,.dark *){color:var(--color-white)}@media (hover:hover){.fi-in-text-item a:hover{text-decoration-line:underline}}.fi-in-text-item a:focus-visible{text-decoration-line:underline}.fi-in-text-item:not(.fi-bulleted li.fi-in-text-item){-webkit-line-clamp:var(--line-clamp,none);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.fi-in-text-item.fi-copyable{cursor:pointer}.fi-in-text-item.fi-size-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fi-in-text-item.fi-size-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.fi-in-text-item.fi-size-md{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.fi-in-text-item.fi-size-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.fi-in-text-item.fi-font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.fi-in-text-item.fi-font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.fi-in-text-item.fi-font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.fi-in-text-item.fi-font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.fi-in-text-item.fi-font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.fi-in-text-item.fi-font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.fi-in-text-item.fi-font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.fi-in-text-item.fi-font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.fi-in-text-item.fi-font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.fi-in-text-item.fi-font-sans{font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.fi-in-text-item.fi-font-serif{font-family:var(--serif-font-family),ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.fi-in-text-item.fi-font-mono{font-family:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.fi-in-text-item.fi-color{color:var(--text)}.fi-in-text-item.fi-color:where(.dark,.dark *){color:var(--dark-text)}li.fi-in-text-item.fi-color::marker{color:var(--gray-950)}li.fi-in-text-item.fi-color:where(.dark,.dark *)::marker{color:var(--color-white)}.fi-in-text-item.fi-color-gray{color:var(--gray-500)}.fi-in-text-item.fi-color-gray:where(.dark,.dark *){color:var(--gray-400)}li.fi-in-text-item.fi-color-gray::marker{color:var(--gray-950)}.fi-in-text-item>.fi-icon{color:var(--gray-400);flex-shrink:0}.fi-in-text-item>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-in-text-item>.fi-icon.fi-color{color:var(--color-500)}.fi-in-text-item>.fi-icon{margin-top:calc(var(--spacing)*-1);display:inline-block}.fi-no-database{display:flex}.fi-no-database .fi-modal-window-ctn>.fi-modal-window .fi-modal-heading{display:inline-block;position:relative}.fi-no-database .fi-modal-window-ctn>.fi-modal-window .fi-modal-heading .fi-badge{inset-inline-start:100%;top:calc(var(--spacing)*-1);width:max-content;margin-inline-start:calc(var(--spacing)*1);position:absolute}.fi-no-database .fi-modal-window-ctn>.fi-modal-window .fi-modal-header .fi-ac{margin-top:calc(var(--spacing)*2)}.fi-no-database .fi-modal-window-ctn>.fi-modal-window .fi-modal-content{margin-inline:calc(var(--spacing)*-6);margin-top:calc(var(--spacing)*-6);row-gap:calc(var(--spacing)*0)}:where(.fi-no-database .fi-modal-window-ctn>.fi-modal-window .fi-modal-content>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-no-database .fi-modal-window-ctn>.fi-modal-window .fi-modal-content:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-no-database .fi-modal-window-ctn>.fi-modal-window .fi-modal-content:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-no-database .fi-modal-window-ctn>.fi-modal-window:not(.fi-modal-window-has-footer) .fi-modal-content{margin-bottom:calc(var(--spacing)*-6)}.fi-no-database .fi-modal-window-ctn>.fi-modal-window.fi-modal-window-has-footer .fi-modal-content{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200)}.fi-no-database .fi-modal-window-ctn>.fi-modal-window.fi-modal-window-has-footer .fi-modal-content:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-no-database .fi-modal-window-ctn>.fi-modal-window.fi-modal-window-has-footer .fi-modal-content:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-no-database .fi-no-notification-unread-ctn{position:relative}.fi-no-database .fi-no-notification-unread-ctn:before{content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);height:100%;width:calc(var(--spacing)*.5);content:var(--tw-content);background-color:var(--primary-600);position:absolute;inset-inline-start:calc(var(--spacing)*0)}.fi-no-database .fi-no-notification-unread-ctn:where(.dark,.dark *):before{content:var(--tw-content);background-color:var(--primary-500)}.fi-no-notification{pointer-events:auto;visibility:hidden;gap:calc(var(--spacing)*3);width:100%;padding:calc(var(--spacing)*4);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;flex-shrink:0;transition-duration:.3s;display:flex;overflow:hidden}.fi-no-notification .fi-no-notification-icon{color:var(--gray-400)}.fi-no-notification .fi-no-notification-icon.fi-color{color:var(--color-400)}.fi-no-notification .fi-no-notification-main{margin-top:calc(var(--spacing)*.5);gap:calc(var(--spacing)*3);flex:1;display:grid}.fi-no-notification .fi-no-notification-text{gap:calc(var(--spacing)*1);display:grid}.fi-no-notification .fi-no-notification-title{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-no-notification .fi-no-notification-title:where(.dark,.dark *){color:var(--color-white)}.fi-no-notification .fi-no-notification-date{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-no-notification .fi-no-notification-date:where(.dark,.dark *){color:var(--gray-400)}.fi-no-notification .fi-no-notification-body{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));text-wrap:pretty;overflow-wrap:break-word;color:var(--gray-500);overflow:hidden}.fi-no-notification .fi-no-notification-body:where(.dark,.dark *){color:var(--gray-400)}.fi-no-notification .fi-no-notification-body>p:not(:first-of-type){margin-top:calc(var(--spacing)*1)}.fi-no-notification:not(.fi-inline){max-width:var(--container-sm);gap:calc(var(--spacing)*3);border-radius:var(--radius-xl);background-color:var(--color-white);padding:calc(var(--spacing)*4);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);display:flex}@supports (color:color-mix(in lab, red, red)){.fi-no-notification:not(.fi-inline){--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-no-notification:not(.fi-inline):where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-no-notification:not(.fi-inline):where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-no-notification:not(.fi-inline).fi-color{--tw-ring-color:var(--color-600)}@supports (color:color-mix(in lab, red, red)){.fi-no-notification:not(.fi-inline).fi-color{--tw-ring-color:color-mix(in oklab,var(--color-600)20%,transparent)}}.fi-no-notification:not(.fi-inline).fi-color:where(.dark,.dark *){--tw-ring-color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){.fi-no-notification:not(.fi-inline).fi-color:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-400)30%,transparent)}}.fi-no-notification:not(.fi-inline).fi-transition-leave-end{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.fi-no-notification.fi-color{background-color:var(--color-50)}.fi-no-notification.fi-color:where(.dark,.dark *){background-color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){.fi-no-notification.fi-color:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-400)10%,transparent)}}.fi-no-notification.fi-transition-enter-start,.fi-no-notification.fi-transition-leave-end{opacity:0}:is(.fi-no.fi-align-start,.fi-no.fi-align-left) .fi-no-notification.fi-transition-enter-start{--tw-translate-x:calc(var(--spacing)*-12);translate:var(--tw-translate-x)var(--tw-translate-y)}:is(.fi-no.fi-align-end,.fi-no.fi-align-right) .fi-no-notification.fi-transition-enter-start{--tw-translate-x:calc(var(--spacing)*12);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-no.fi-align-center.fi-vertical-align-start .fi-no-notification.fi-transition-enter-start{--tw-translate-y:calc(var(--spacing)*-12);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-no.fi-align-center.fi-vertical-align-end .fi-no-notification.fi-transition-enter-start{--tw-translate-y:calc(var(--spacing)*12);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-no{pointer-events:none;inset:calc(var(--spacing)*4);z-index:50;gap:calc(var(--spacing)*3);margin-inline:auto;display:flex;position:fixed}.fi-no.fi-align-start,.fi-no.fi-align-left{align-items:flex-start}.fi-no.fi-align-center{align-items:center}.fi-no.fi-align-end,.fi-no.fi-align-right{align-items:flex-end}.fi-no.fi-vertical-align-start{flex-direction:column-reverse;justify-content:flex-end}.fi-no.fi-vertical-align-center{flex-direction:column;justify-content:center}.fi-no.fi-vertical-align-end{flex-direction:column;justify-content:flex-end}.fi-sc-actions{gap:calc(var(--spacing)*2);flex-direction:column;height:100%;display:flex}.fi-sc-actions .fi-sc-actions-label-ctn{align-items:center;column-gap:calc(var(--spacing)*3);display:flex}.fi-sc-actions .fi-sc-actions-label-ctn .fi-sc-actions-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-sc-actions .fi-sc-actions-label-ctn .fi-sc-actions-label:where(.dark,.dark *){color:var(--color-white)}.fi-sc-actions.fi-sticky .fi-ac{bottom:calc(var(--spacing)*0);margin-inline:calc(var(--spacing)*-4);width:100%;transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,);background-color:var(--color-white);padding:calc(var(--spacing)*4);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);position:fixed}@supports (color:color-mix(in lab, red, red)){.fi-sc-actions.fi-sticky .fi-ac{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-sc-actions.fi-sticky .fi-ac{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (min-width:48rem){.fi-sc-actions.fi-sticky .fi-ac{bottom:calc(var(--spacing)*4);border-radius:var(--radius-xl)}}.fi-sc-actions.fi-sticky .fi-ac:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-sc-actions.fi-sticky .fi-ac:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-sc-actions.fi-vertical-align-start{justify-content:flex-start}.fi-sc-actions.fi-vertical-align-center{justify-content:center}.fi-sc-actions.fi-vertical-align-end{justify-content:flex-end}.fi-sc-flex{gap:calc(var(--spacing)*6);display:flex}.fi-sc-flex.fi-dense{gap:calc(var(--spacing)*3)}.fi-sc-flex>.fi-hidden{display:none}.fi-sc-flex>.fi-growable{flex:1;width:100%}.fi-sc-flex.fi-from-default{align-items:flex-start}.fi-sc-flex.fi-from-default.fi-vertical-align-center{align-items:center}.fi-sc-flex.fi-from-default.fi-vertical-align-end{align-items:flex-end}.fi-sc-flex.fi-from-sm{flex-direction:column}@media (min-width:40rem){.fi-sc-flex.fi-from-sm{flex-direction:row;align-items:flex-start}.fi-sc-flex.fi-from-sm.fi-vertical-align-center{align-items:center}.fi-sc-flex.fi-from-sm.fi-vertical-align-end{align-items:flex-end}}.fi-sc-flex.fi-from-md{flex-direction:column}@media (min-width:48rem){.fi-sc-flex.fi-from-md{flex-direction:row;align-items:flex-start}.fi-sc-flex.fi-from-md.fi-vertical-align-center{align-items:center}.fi-sc-flex.fi-from-md.fi-vertical-align-end{align-items:flex-end}}.fi-sc-flex.fi-from-lg{flex-direction:column}@media (min-width:64rem){.fi-sc-flex.fi-from-lg{flex-direction:row;align-items:flex-start}.fi-sc-flex.fi-from-lg.fi-vertical-align-center{align-items:center}.fi-sc-flex.fi-from-lg.fi-vertical-align-end{align-items:flex-end}}.fi-sc-flex.fi-from-xl{flex-direction:column}@media (min-width:80rem){.fi-sc-flex.fi-from-xl{flex-direction:row;align-items:flex-start}.fi-sc-flex.fi-from-xl.fi-vertical-align-center{align-items:center}.fi-sc-flex.fi-from-xl.fi-vertical-align-end{align-items:flex-end}}.fi-sc-flex.fi-from-2xl{flex-direction:column}@media (min-width:96rem){.fi-sc-flex.fi-from-2xl{flex-direction:row;align-items:flex-start}.fi-sc-flex.fi-from-2xl.fi-vertical-align-center{align-items:center}.fi-sc-flex.fi-from-2xl.fi-vertical-align-end{align-items:flex-end}}.fi-sc-form{gap:calc(var(--spacing)*6);flex-direction:column;display:flex}.fi-sc-form.fi-dense{gap:calc(var(--spacing)*3)}.fi-sc-fused-group>.fi-sc{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-sc-fused-group>.fi-sc{--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}.fi-sc-fused-group>.fi-sc:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--primary-600)}.fi-sc-fused-group>.fi-sc:where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-sc-fused-group>.fi-sc:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-sc-fused-group>.fi-sc:where(.dark,.dark *):focus-within{--tw-ring-color:var(--primary-500)}.fi-sc-fused-group .fi-sc{border-radius:var(--radius-lg);background-color:var(--gray-950);gap:1px}@supports (color:color-mix(in lab, red, red)){.fi-sc-fused-group .fi-sc{background-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}.fi-sc-fused-group .fi-sc:where(.dark,.dark *){background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-sc-fused-group .fi-sc:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-sc-fused-group .fi-sc .fi-sc-component,.fi-sc-fused-group .fi-sc .fi-sc-component .fi-fo-field,.fi-sc-fused-group .fi-sc .fi-sc-component .fi-input{height:100%}.fi-sc-fused-group .fi-sc>:first-child .fi-input-wrp{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc>:last-child .fi-input-wrp{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}@media (min-width:40rem){.fi-sc-fused-group .fi-sc.sm\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.sm\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@media (min-width:48rem){.fi-sc-fused-group .fi-sc.md\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.md\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@media (min-width:64rem){.fi-sc-fused-group .fi-sc.lg\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.lg\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@media (min-width:80rem){.fi-sc-fused-group .fi-sc.xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@media (min-width:96rem){.fi-sc-fused-group .fi-sc.\32 xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\32 xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@supports (container-type:inline-size){@container (min-width:16rem){.fi-sc-fused-group .fi-sc.\@3xs\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@3xs\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:18rem){.fi-sc-fused-group .fi-sc.\@2xs\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@2xs\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:20rem){.fi-sc-fused-group .fi-sc.\@xs\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@xs\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:24rem){.fi-sc-fused-group .fi-sc.\@sm\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@sm\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:28rem){.fi-sc-fused-group .fi-sc.\@md\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@md\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:32rem){.fi-sc-fused-group .fi-sc.\@lg\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@lg\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:36rem){.fi-sc-fused-group .fi-sc.\@xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:42rem){.fi-sc-fused-group .fi-sc.\@2xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@2xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:48rem){.fi-sc-fused-group .fi-sc.\@3xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@3xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:56rem){.fi-sc-fused-group .fi-sc.\@4xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@4xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:64rem){.fi-sc-fused-group .fi-sc.\@5xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@5xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:72rem){.fi-sc-fused-group .fi-sc.\@6xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@6xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:80rem){.fi-sc-fused-group .fi-sc.\@7xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@7xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}}@supports not (container-type:inline-size){@media (min-width:40rem){.fi-sc-fused-group .fi-sc.\!\@sm\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\!\@sm\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@media (min-width:48rem){.fi-sc-fused-group .fi-sc.\!\@md\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\!\@md\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@media (min-width:64rem){.fi-sc-fused-group .fi-sc.\!\@lg\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\!\@lg\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@media (min-width:80rem){.fi-sc-fused-group .fi-sc.\!\@xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\!\@xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@media (min-width:96rem){.fi-sc-fused-group .fi-sc.\!\@2xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\!\@2xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}}.fi-sc-fused-group .fi-input-wrp{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-radius:0}.fi-sc-fused-group .fi-input-wrp:where(.dark,.dark *){background-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-sc-fused-group .fi-input-wrp:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-950)75%,transparent)}}.fi-sc-fused-group .fi-input-wrp:not(.fi-disabled):not(:has(.fi-ac-action:focus)):focus-within,.fi-sc-fused-group .fi-input-wrp:not(.fi-disabled):not(:has(.fi-ac-action:focus)).fi-invalid:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-sc-icon{color:var(--gray-400)}.fi-sc-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-sc-icon.fi-color{color:var(--color-500)}.fi-sc-icon.fi-color:where(.dark,.dark *){color:var(--color-400)}.fi-sc-image{border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--gray-300)}.fi-sc-image:where(.dark,.dark *){border-color:#0000}.fi-sc-image.fi-align-center{margin-inline:auto}.fi-sc-image.fi-align-end,.fi-sc-image.fi-align-right{margin-inline-start:auto}.fi-sc-section{gap:calc(var(--spacing)*2);flex-direction:column;display:flex}.fi-sc-section .fi-sc-section-label-ctn{align-items:center;column-gap:calc(var(--spacing)*3);display:flex}.fi-sc-section .fi-sc-section-label-ctn .fi-sc-section-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-sc-section .fi-sc-section-label-ctn .fi-sc-section-label:where(.dark,.dark *){color:var(--color-white)}.fi-sc-tabs{flex-direction:column;display:flex}.fi-sc-tabs .fi-sc-tabs-tab{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.fi-sc-tabs .fi-sc-tabs-tab{outline-offset:2px;outline:2px solid #0000}}.fi-sc-tabs .fi-sc-tabs-tab.fi-active{margin-top:calc(var(--spacing)*6)}.fi-sc-tabs .fi-sc-tabs-tab:not(.fi-active){visibility:hidden;height:calc(var(--spacing)*0);padding:calc(var(--spacing)*0);position:absolute;overflow:hidden}.fi-sc-tabs.fi-contained{border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-sc-tabs.fi-contained{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-sc-tabs.fi-contained:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-sc-tabs.fi-contained:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-sc-tabs.fi-contained .fi-sc-tabs-tab.fi-active{margin-top:calc(var(--spacing)*0);padding:calc(var(--spacing)*6)}.fi-sc-tabs.fi-vertical{flex-direction:row}.fi-sc-tabs.fi-vertical .fi-sc-tabs-tab.fi-active{margin-inline-start:calc(var(--spacing)*6);margin-top:calc(var(--spacing)*0);flex:1}.fi-sc-text.fi-copyable{cursor:pointer}.fi-sc-text.fi-font-sans{font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.fi-sc-text.fi-font-serif{font-family:var(--serif-font-family),ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.fi-sc-text.fi-font-mono{font-family:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.fi-sc-text:not(.fi-badge){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));overflow-wrap:break-word;color:var(--gray-600);display:inline-block}.fi-sc-text:not(.fi-badge):where(.dark,.dark *){color:var(--gray-400)}.fi-sc-text:not(.fi-badge).fi-font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.fi-sc-text:not(.fi-badge).fi-font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.fi-sc-text:not(.fi-badge).fi-font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.fi-sc-text:not(.fi-badge).fi-font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.fi-sc-text:not(.fi-badge).fi-font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.fi-sc-text:not(.fi-badge).fi-font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.fi-sc-text:not(.fi-badge).fi-font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.fi-sc-text:not(.fi-badge).fi-font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.fi-sc-text:not(.fi-badge).fi-font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.fi-sc-text:not(.fi-badge).fi-size-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.fi-sc-text:not(.fi-badge).fi-color-neutral{color:var(--gray-950)}.fi-sc-text:not(.fi-badge).fi-color-neutral:where(.dark,.dark *){color:var(--color-white)}.fi-sc-text:not(.fi-badge).fi-color:not(.fi-color-neutral){color:var(--text)}.fi-sc-text:not(.fi-badge).fi-color:not(.fi-color-neutral):where(.dark,.dark *){color:var(--dark-text)}.fi-sc-text:not(.fi-badge).fi-size-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fi-sc-text:not(.fi-badge).fi-size-md{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.fi-sc-unordered-list{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));margin-inline-start:calc(var(--spacing)*3);list-style-type:disc}@media (min-width:40rem){.fi-sc-unordered-list{columns:2}}.fi-sc-unordered-list.fi-size-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fi-sc-unordered-list.fi-size-md{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.fi-sc-unordered-list.fi-size-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.fi-sc-wizard{flex-direction:column;display:flex}.fi-sc-wizard .fi-sc-wizard-header{display:grid}@media (min-width:48rem){.fi-sc-wizard .fi-sc-wizard-header{grid-auto-flow:column;overflow-x:auto}}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step{display:flex;position:relative}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-active){display:none}@media (min-width:48rem){.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-active){display:flex}}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-btn{align-items:center;column-gap:calc(var(--spacing)*4);height:100%;padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*4);text-align:start;display:flex}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10);border-radius:3.40282e38px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-sc-wizard-header-step-number{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-text{justify-items:start;display:grid}@media (min-width:48rem){.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-text{width:max-content;max-width:calc(var(--spacing)*60)}}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-text .fi-sc-wizard-header-step-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-text .fi-sc-wizard-header-step-description{text-align:start;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-text .fi-sc-wizard-header-step-description:where(.dark,.dark *){color:var(--gray-400)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-separator{height:100%;width:calc(var(--spacing)*5);color:var(--gray-200);display:none;position:absolute;inset-inline-end:calc(var(--spacing)*0)}@media (min-width:48rem){.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-separator{display:block}}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-separator:where(:dir(rtl),[dir=rtl],[dir=rtl] *){rotate:180deg}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-separator:where(.dark,.dark *){color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-separator:where(.dark,.dark *){color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-completed .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn{background-color:var(--primary-600)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-completed .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn:where(.dark,.dark *){background-color:var(--primary-500)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-completed .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-icon{color:var(--color-white)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-completed .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-text .fi-sc-wizard-header-step-label{color:var(--gray-950)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-completed .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-text .fi-sc-wizard-header-step-label:where(.dark,.dark *){color:var(--color-white)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-completed) .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn{border-style:var(--tw-border-style);border-width:2px}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-completed).fi-active .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-icon{color:var(--primary-600)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-completed).fi-active .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-icon:where(.dark,.dark *){color:var(--primary-500)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-completed):not(.fi-active) .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-icon{color:var(--gray-500)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-completed):not(.fi-active) .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-icon:where(.dark,.dark *){color:var(--gray-400)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-active .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn{border-color:var(--primary-600)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-active .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn:where(.dark,.dark *){border-color:var(--primary-500)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-active .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-sc-wizard-header-step-number{color:var(--primary-600)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-active .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-sc-wizard-header-step-number:where(.dark,.dark *){color:var(--primary-500)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-active .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-text .fi-sc-wizard-header-step-label{color:var(--primary-700)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-active .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-text .fi-sc-wizard-header-step-label:where(.dark,.dark *){color:var(--primary-400)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-active) .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn{border-color:var(--gray-300)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-active) .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn:where(.dark,.dark *){border-color:var(--gray-600)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-active) .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-sc-wizard-header-step-number{color:var(--gray-500)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-active) .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-sc-wizard-header-step-number:where(.dark,.dark *){color:var(--gray-400)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-active) .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-sc-wizard-header-step-text .fi-sc-wizard-header-step-label{color:var(--gray-500)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-active) .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-sc-wizard-header-step-text .fi-sc-wizard-header-step-label:where(.dark,.dark *){color:var(--gray-400)}.fi-sc-wizard .fi-sc-wizard-step{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.fi-sc-wizard .fi-sc-wizard-step{outline-offset:2px;outline:2px solid #0000}}.fi-sc-wizard .fi-sc-wizard-step:not(.fi-active){visibility:hidden;height:calc(var(--spacing)*0);padding:calc(var(--spacing)*0);position:absolute;overflow:hidden}.fi-sc-wizard:not(.fi-sc-wizard-header-hidden) .fi-sc-wizard-step.fi-active{margin-top:calc(var(--spacing)*6)}.fi-sc-wizard .fi-sc-wizard-footer{justify-content:space-between;align-items:center;column-gap:calc(var(--spacing)*3);display:flex}.fi-sc-wizard .fi-sc-wizard-footer>.fi-hidden{display:none}.fi-sc-wizard .fi-sc-wizard-footer>.fi-disabled{pointer-events:none;opacity:.7}.fi-sc-wizard.fi-contained{border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-sc-wizard.fi-contained{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-sc-wizard.fi-contained:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-sc-wizard.fi-contained:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-sc-wizard.fi-contained .fi-sc-wizard-header{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200)}.fi-sc-wizard.fi-contained .fi-sc-wizard-header:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-sc-wizard.fi-contained .fi-sc-wizard-header:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-sc-wizard.fi-contained .fi-sc-wizard-step.fi-active{margin-top:calc(var(--spacing)*0);padding:calc(var(--spacing)*6)}.fi-sc-wizard.fi-contained .fi-sc-wizard-footer{padding-inline:calc(var(--spacing)*6);padding-bottom:calc(var(--spacing)*6)}.fi-sc-wizard:not(.fi-contained) .fi-sc-wizard-header{border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-sc-wizard:not(.fi-contained) .fi-sc-wizard-header{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-sc-wizard:not(.fi-contained) .fi-sc-wizard-header:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-sc-wizard:not(.fi-contained) .fi-sc-wizard-header:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-sc-wizard:not(.fi-contained) .fi-sc-wizard-footer{margin-top:calc(var(--spacing)*6)}.fi-sc{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.fi-sc.fi-inline{flex-wrap:wrap;flex-grow:1;align-items:center;display:flex}.fi-sc.fi-sc-has-gap{gap:calc(var(--spacing)*6)}.fi-sc.fi-sc-has-gap.fi-sc-dense{gap:calc(var(--spacing)*3)}.fi-sc.fi-align-start,.fi-sc.fi-align-left{justify-content:flex-start}.fi-sc.fi-align-center{justify-content:center}.fi-sc.fi-align-end,.fi-sc.fi-align-right{justify-content:flex-end}.fi-sc.fi-align-between,.fi-sc.fi-align-justify{justify-content:space-between}.fi-sc>.fi-hidden{display:none}.fi-sc>.fi-grid-col.fi-width-xs{max-width:var(--container-xs)}.fi-sc>.fi-grid-col.fi-width-sm{max-width:var(--container-sm)}.fi-sc>.fi-grid-col.fi-width-md{max-width:var(--container-md)}.fi-sc>.fi-grid-col.fi-width-lg{max-width:var(--container-lg)}.fi-sc>.fi-grid-col.fi-width-xl{max-width:var(--container-xl)}.fi-sc>.fi-grid-col.fi-width-2xl{max-width:var(--container-2xl)}.fi-sc>.fi-grid-col.fi-width-3xl{max-width:var(--container-3xl)}.fi-sc>.fi-grid-col.fi-width-4xl{max-width:var(--container-4xl)}.fi-sc>.fi-grid-col.fi-width-5xl{max-width:var(--container-5xl)}.fi-sc>.fi-grid-col.fi-width-6xl{max-width:var(--container-6xl)}.fi-sc>.fi-grid-col.fi-width-7xl{max-width:var(--container-7xl)}.fi-sc>.fi-grid-col>.fi-sc-component{height:100%}.fi-ta-actions{justify-content:flex-end;align-items:center;gap:calc(var(--spacing)*3);flex-shrink:0;max-width:100%;display:flex}.fi-ta-actions>*{flex-shrink:0}.fi-ta-actions.fi-wrapped{flex-wrap:wrap}@media (min-width:40rem){.fi-ta-actions.sm\:fi-not-wrapped{flex-wrap:nowrap}}.fi-ta-actions.fi-align-center{justify-content:center}.fi-ta-actions.fi-align-start{justify-content:flex-start}.fi-ta-actions.fi-align-between{justify-content:space-between}@media (min-width:48rem){.fi-ta-actions.md\:fi-align-end{justify-content:flex-end}}.fi-ta-cell{padding:calc(var(--spacing)*0)}.fi-ta-cell:first-of-type{padding-inline-start:calc(var(--spacing)*1)}.fi-ta-cell:last-of-type{padding-inline-end:calc(var(--spacing)*1)}@media (min-width:40rem){.fi-ta-cell:first-of-type{padding-inline-start:calc(var(--spacing)*3)}.fi-ta-cell:last-of-type{padding-inline-end:calc(var(--spacing)*3)}}.fi-ta-cell.fi-vertical-align-start{vertical-align:top}.fi-ta-cell.fi-vertical-align-end{vertical-align:bottom}@media (min-width:40rem){.fi-ta-cell.sm\:fi-hidden{display:none}}@media (min-width:48rem){.fi-ta-cell.md\:fi-hidden{display:none}}@media (min-width:64rem){.fi-ta-cell.lg\:fi-hidden{display:none}}@media (min-width:80rem){.fi-ta-cell.xl\:fi-hidden{display:none}}@media (min-width:96rem){.fi-ta-cell.\32 xl\:fi-hidden{display:none}}.fi-ta-cell.sm\:fi-visible{display:none}@media (min-width:40rem){.fi-ta-cell.sm\:fi-visible{display:table-cell}}.fi-ta-cell.md\:fi-visible{display:none}@media (min-width:48rem){.fi-ta-cell.md\:fi-visible{display:table-cell}}.fi-ta-cell.lg\:fi-visible{display:none}@media (min-width:64rem){.fi-ta-cell.lg\:fi-visible{display:table-cell}}.fi-ta-cell.xl\:fi-visible{display:none}@media (min-width:80rem){.fi-ta-cell.xl\:fi-visible{display:table-cell}}.fi-ta-cell.\32 xl\:fi-visible{display:none}@media (min-width:96rem){.fi-ta-cell.\32 xl\:fi-visible{display:table-cell}}.fi-ta-cell>.fi-ta-col{text-align:start;justify-content:flex-start;width:100%;display:flex}.fi-ta-cell>.fi-ta-col:disabled{pointer-events:none}.fi-ta-cell:has(.fi-ta-reorder-handle){width:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3)}.fi-ta-cell:has(.fi-ta-reorder-handle):first-of-type{padding-inline-start:calc(var(--spacing)*4)}.fi-ta-cell:has(.fi-ta-reorder-handle):last-of-type{padding-inline-end:calc(var(--spacing)*4)}@media (min-width:40rem){.fi-ta-cell:has(.fi-ta-reorder-handle):first-of-type{padding-inline-start:calc(var(--spacing)*6)}.fi-ta-cell:has(.fi-ta-reorder-handle):last-of-type{padding-inline-end:calc(var(--spacing)*6)}}.fi-ta-cell:has(.fi-ta-actions){padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4);white-space:nowrap}.fi-ta-cell:has(.fi-ta-actions):first-of-type{padding-inline-start:calc(var(--spacing)*4)}.fi-ta-cell:has(.fi-ta-actions):last-of-type{padding-inline-end:calc(var(--spacing)*4)}@media (min-width:40rem){.fi-ta-cell:has(.fi-ta-actions):first-of-type{padding-inline-start:calc(var(--spacing)*6)}.fi-ta-cell:has(.fi-ta-actions):last-of-type{padding-inline-end:calc(var(--spacing)*6)}}.fi-ta-cell:has(.fi-ta-record-checkbox){width:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}.fi-ta-cell:has(.fi-ta-record-checkbox):first-of-type{padding-inline-start:calc(var(--spacing)*4)}.fi-ta-cell:has(.fi-ta-record-checkbox):last-of-type{padding-inline-end:calc(var(--spacing)*4)}@media (min-width:40rem){.fi-ta-cell:has(.fi-ta-record-checkbox):first-of-type{padding-inline-start:calc(var(--spacing)*6)}.fi-ta-cell:has(.fi-ta-record-checkbox):last-of-type{padding-inline-end:calc(var(--spacing)*6)}}.fi-ta-cell .fi-ta-placeholder{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);color:var(--gray-400)}.fi-ta-cell .fi-ta-placeholder:where(.dark,.dark *){color:var(--gray-500)}.fi-ta-cell.fi-ta-summary-row-heading-cell{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-ta-cell.fi-ta-summary-row-heading-cell:where(.dark,.dark *){color:var(--color-white)}.fi-ta-cell.fi-align-start{text-align:start}.fi-ta-cell.fi-align-center{text-align:center}.fi-ta-cell.fi-align-end{text-align:end}.fi-ta-cell.fi-align-left{text-align:left}.fi-ta-cell.fi-align-right{text-align:right}.fi-ta-cell.fi-align-justify,.fi-ta-cell.fi-align-between{text-align:justify}.fi-ta-cell.fi-ta-summary-header-cell{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}@media (min-width:40rem){.fi-ta-cell.fi-ta-summary-header-cell:first-of-type{padding-inline-start:calc(var(--spacing)*6)}}.fi-ta-cell.fi-ta-summary-header-cell:where(.dark,.dark *){color:var(--color-white)}.fi-ta-cell.fi-ta-summary-header-cell.fi-wrapped,.fi-ta-cell.fi-ta-summary-header-cell:not(.fi-wrapped){white-space:nowrap}.fi-ta-cell.fi-ta-individual-search-cell{min-width:calc(var(--spacing)*48);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2)}.fi-ta-cell .fi-ta-reorder-handle{cursor:move}.fi-ta-cell.fi-ta-selection-cell{width:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}.fi-ta-cell.fi-ta-selection-cell:first-of-type{padding-inline-start:calc(var(--spacing)*4)}.fi-ta-cell.fi-ta-selection-cell:last-of-type{padding-inline-end:calc(var(--spacing)*4)}@media (min-width:40rem){.fi-ta-cell.fi-ta-selection-cell:first-of-type{padding-inline-start:calc(var(--spacing)*6)}.fi-ta-cell.fi-ta-selection-cell:last-of-type{padding-inline-end:calc(var(--spacing)*6)}}.fi-ta-cell.fi-ta-group-selection-cell{width:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3)}.fi-ta-cell.fi-ta-group-selection-cell:first-of-type{padding-inline-start:calc(var(--spacing)*4)}.fi-ta-cell.fi-ta-group-selection-cell:last-of-type{padding-inline-end:calc(var(--spacing)*4)}@media (min-width:40rem){.fi-ta-cell.fi-ta-group-selection-cell:first-of-type{padding-inline-start:calc(var(--spacing)*6)}.fi-ta-cell.fi-ta-group-selection-cell:last-of-type{padding-inline-end:calc(var(--spacing)*6)}}.fi-ta-checkbox{width:100%}.fi-ta-checkbox:not(.fi-inline){padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}.fi-ta-checkbox.fi-align-center{text-align:center}.fi-ta-checkbox.fi-align-end,.fi-ta-checkbox.fi-align-right{text-align:end}.fi-ta-color{gap:calc(var(--spacing)*1.5);width:100%;display:flex}.fi-ta-color.fi-wrapped{flex-wrap:wrap}.fi-ta-color:not(.fi-inline){padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}.fi-ta-color.fi-align-start,.fi-ta-color.fi-align-left{justify-content:flex-start}.fi-ta-color.fi-align-center{justify-content:center}.fi-ta-color.fi-align-end,.fi-ta-color.fi-align-right{justify-content:flex-end}.fi-ta-color.fi-align-justify,.fi-ta-color.fi-align-between{justify-content:space-between}.fi-ta-color>.fi-ta-color-item{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6);border-radius:var(--radius-md)}.fi-ta-color>.fi-ta-color-item.fi-copyable{cursor:pointer}.fi-ta-icon{gap:calc(var(--spacing)*1.5);width:100%;display:flex}.fi-ta-icon.fi-wrapped{flex-wrap:wrap}.fi-ta-icon.fi-ta-icon-has-line-breaks{flex-direction:column}.fi-ta-icon:not(.fi-inline){padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}.fi-ta-icon.fi-align-start,.fi-ta-icon.fi-align-left{justify-content:flex-start}.fi-ta-icon.fi-align-center{justify-content:center}.fi-ta-icon.fi-align-end,.fi-ta-icon.fi-align-right{justify-content:flex-end}.fi-ta-icon.fi-align-justify,.fi-ta-icon.fi-align-between{justify-content:space-between}.fi-ta-icon>.fi-icon{color:var(--gray-400)}.fi-ta-icon>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-ta-icon>.fi-icon.fi-color{color:var(--text)}.fi-ta-icon>.fi-icon.fi-color:where(.dark,.dark *){color:var(--dark-text)}.fi-ta-image{align-items:center;gap:calc(var(--spacing)*1.5);width:100%;display:flex}.fi-ta-image img{object-fit:cover;object-position:center;max-width:none}.fi-ta-image.fi-circular img{border-radius:3.40282e38px}.fi-ta-image.fi-ta-image-ring img,.fi-ta-image.fi-ta-image-ring .fi-ta-image-limited-remaining-text{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-white)}:is(.fi-ta-image.fi-ta-image-ring img,.fi-ta-image.fi-ta-image-ring .fi-ta-image-limited-remaining-text):where(.dark,.dark *){--tw-ring-color:var(--gray-900)}.fi-ta-image.fi-ta-image-ring.fi-ta-image-ring-1 img,.fi-ta-image.fi-ta-image-ring.fi-ta-image-ring-1 .fi-ta-image-limited-remaining-text{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-ta-image.fi-ta-image-ring.fi-ta-image-ring-2 img,.fi-ta-image.fi-ta-image-ring.fi-ta-image-ring-2 .fi-ta-image-limited-remaining-text{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-ta-image.fi-ta-image-ring.fi-ta-image-ring-4 img,.fi-ta-image.fi-ta-image-ring.fi-ta-image-ring-4 .fi-ta-image-limited-remaining-text{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-ta-image.fi-ta-image-overlap-1{column-gap:calc(var(--spacing)*0)}:where(.fi-ta-image.fi-ta-image-overlap-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-1)*calc(1 - var(--tw-space-x-reverse)))}.fi-ta-image.fi-ta-image-overlap-2{column-gap:calc(var(--spacing)*0)}:where(.fi-ta-image.fi-ta-image-overlap-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-2)*calc(1 - var(--tw-space-x-reverse)))}.fi-ta-image.fi-ta-image-overlap-3{column-gap:calc(var(--spacing)*0)}:where(.fi-ta-image.fi-ta-image-overlap-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-3)*calc(1 - var(--tw-space-x-reverse)))}.fi-ta-image.fi-ta-image-overlap-4{column-gap:calc(var(--spacing)*0)}:where(.fi-ta-image.fi-ta-image-overlap-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-4)*calc(1 - var(--tw-space-x-reverse)))}.fi-ta-image.fi-ta-image-overlap-5{column-gap:calc(var(--spacing)*0)}:where(.fi-ta-image.fi-ta-image-overlap-5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-5)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-5)*calc(1 - var(--tw-space-x-reverse)))}.fi-ta-image.fi-ta-image-overlap-6{column-gap:calc(var(--spacing)*0)}:where(.fi-ta-image.fi-ta-image-overlap-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-6)*calc(1 - var(--tw-space-x-reverse)))}.fi-ta-image.fi-ta-image-overlap-7{column-gap:calc(var(--spacing)*0)}:where(.fi-ta-image.fi-ta-image-overlap-7>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-7)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-7)*calc(1 - var(--tw-space-x-reverse)))}.fi-ta-image.fi-ta-image-overlap-8{column-gap:calc(var(--spacing)*0)}:where(.fi-ta-image.fi-ta-image-overlap-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-8)*calc(1 - var(--tw-space-x-reverse)))}.fi-ta-image.fi-wrapped{flex-wrap:wrap}.fi-ta-image:not(.fi-inline){padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}.fi-ta-image.fi-align-start,.fi-ta-image.fi-align-left{justify-content:flex-start}.fi-ta-image.fi-align-center{justify-content:center}.fi-ta-image.fi-align-end,.fi-ta-image.fi-align-right{justify-content:flex-end}.fi-ta-image.fi-align-justify,.fi-ta-image.fi-align-between{justify-content:space-between}.fi-ta-image.fi-stacked .fi-ta-image-limited-remaining-text{background-color:var(--gray-100);border-radius:3.40282e38px}.fi-ta-image.fi-stacked .fi-ta-image-limited-remaining-text:where(.dark,.dark *){background-color:var(--gray-800)}.fi-ta-image .fi-ta-image-limited-remaining-text{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-500);justify-content:center;align-items:center;display:flex}.fi-ta-image .fi-ta-image-limited-remaining-text:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-image .fi-ta-image-limited-remaining-text.fi-size-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fi-ta-image .fi-ta-image-limited-remaining-text.fi-size-base,.fi-ta-image .fi-ta-image-limited-remaining-text.fi-size-md{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.fi-ta-image .fi-ta-image-limited-remaining-text.fi-size-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.fi-ta-select{width:100%;min-width:calc(var(--spacing)*48)}.fi-ta-select:not(.fi-inline){padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}.fi-ta-text{width:100%}.fi-ta-text.fi-ta-text-has-descriptions,.fi-ta-text.fi-ta-text-list-limited{flex-direction:column;display:flex}:is(.fi-ta-text.fi-ta-text-has-descriptions,.fi-ta-text.fi-ta-text-list-limited).fi-ta-text-has-badges{row-gap:calc(var(--spacing)*2)}:is(.fi-ta-text.fi-ta-text-has-descriptions,.fi-ta-text.fi-ta-text-list-limited):not(.fi-ta-text-has-badges){row-gap:calc(var(--spacing)*1)}.fi-ta-text:not(.fi-inline){padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}ul.fi-ta-text.fi-bulleted,.fi-ta-text.fi-bulleted ul{list-style-type:disc;list-style-position:inside}ul.fi-ta-text:not(.fi-ta-text-has-line-breaks).fi-ta-text-has-badges,.fi-ta-text:not(.fi-ta-text-has-line-breaks).fi-ta-text-has-badges ul{column-gap:calc(var(--spacing)*1.5);display:flex}:is(ul.fi-ta-text:not(.fi-ta-text-has-line-breaks).fi-ta-text-has-badges,.fi-ta-text:not(.fi-ta-text-has-line-breaks).fi-ta-text-has-badges ul).fi-wrapped,:is(ul.fi-ta-text:not(.fi-ta-text-has-line-breaks).fi-ta-text-has-badges,.fi-ta-text:not(.fi-ta-text-has-line-breaks).fi-ta-text-has-badges ul):is(.fi-wrapped ul){row-gap:calc(var(--spacing)*1);flex-wrap:wrap}:is(ul.fi-ta-text.fi-ta-text-has-badges,.fi-ta-text.fi-ta-text-has-badges ul).fi-ta-text-has-line-breaks,:is(ul.fi-ta-text.fi-ta-text-has-badges,.fi-ta-text.fi-ta-text-has-badges ul):is(.fi-ta-text-has-line-breaks ul){row-gap:calc(var(--spacing)*1);flex-direction:column;display:flex}:is(ul.fi-ta-text.fi-ta-text-has-badges,.fi-ta-text.fi-ta-text-has-badges ul):not(ul.fi-ta-text-has-line-breaks),:is(ul.fi-ta-text.fi-ta-text-has-badges,.fi-ta-text.fi-ta-text-has-badges ul):not(.fi-ta-text-has-line-breaks ul){column-gap:calc(var(--spacing)*1.5);display:flex}:is(:is(ul.fi-ta-text.fi-ta-text-has-badges,.fi-ta-text.fi-ta-text-has-badges ul):not(ul.fi-ta-text-has-line-breaks),:is(ul.fi-ta-text.fi-ta-text-has-badges,.fi-ta-text.fi-ta-text-has-badges ul):not(.fi-ta-text-has-line-breaks ul)).fi-wrapped,:is(:is(ul.fi-ta-text.fi-ta-text-has-badges,.fi-ta-text.fi-ta-text-has-badges ul):not(ul.fi-ta-text-has-line-breaks),:is(ul.fi-ta-text.fi-ta-text-has-badges,.fi-ta-text.fi-ta-text-has-badges ul):not(.fi-ta-text-has-line-breaks ul)):is(.fi-wrapped ul){row-gap:calc(var(--spacing)*1);flex-wrap:wrap}.fi-ta-text.fi-wrapped:not(.fi-ta-text-has-badges.fi-ta-text-has-line-breaks){white-space:normal}.fi-ta-text.fi-wrapped:not(.fi-ta-text-has-badges.fi-ta-text-has-line-breaks) .fi-badge,.fi-ta-text.fi-wrapped:not(.fi-ta-text-has-badges.fi-ta-text-has-line-breaks) .fi-ta-text-list-limited-message{white-space:nowrap}.fi-ta-text>.fi-ta-text-description,.fi-ta-text>.fi-ta-text-list-limited-message{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}:is(.fi-ta-text>.fi-ta-text-description,.fi-ta-text>.fi-ta-text-list-limited-message):where(.dark,.dark *){color:var(--gray-400)}.fi-ta-text.fi-align-center{text-align:center}ul.fi-ta-text.fi-align-center,.fi-ta-text.fi-align-center ul{justify-content:center}.fi-ta-text.fi-align-end,.fi-ta-text.fi-align-right{text-align:end}ul:is(.fi-ta-text.fi-align-end,.fi-ta-text.fi-align-right),:is(.fi-ta-text.fi-align-end,.fi-ta-text.fi-align-right) ul{justify-content:flex-end}.fi-ta-text.fi-align-justify,.fi-ta-text.fi-align-between{text-align:justify}ul:is(.fi-ta-text.fi-align-justify,.fi-ta-text.fi-align-between),:is(.fi-ta-text.fi-align-justify,.fi-ta-text.fi-align-between) ul{justify-content:space-between}.fi-ta-text-item{color:var(--gray-950)}.fi-ta-text-item:where(.dark,.dark *){color:var(--color-white)}@media (hover:hover){.fi-ta-text-item a:hover{text-decoration-line:underline}}.fi-ta-text-item a:focus-visible{text-decoration-line:underline}.fi-ta-text-item:not(.fi-bulleted li.fi-ta-text-item){-webkit-line-clamp:var(--line-clamp,none);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.fi-ta-text-item.fi-copyable{cursor:pointer}.fi-ta-text-item.fi-size-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fi-ta-text-item.fi-size-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.fi-ta-text-item.fi-size-md{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.fi-ta-text-item.fi-size-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.fi-ta-text-item.fi-font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.fi-ta-text-item.fi-font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.fi-ta-text-item.fi-font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.fi-ta-text-item.fi-font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.fi-ta-text-item.fi-font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.fi-ta-text-item.fi-font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.fi-ta-text-item.fi-font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.fi-ta-text-item.fi-font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.fi-ta-text-item.fi-font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.fi-ta-text-item.fi-font-sans{font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.fi-ta-text-item.fi-font-serif{font-family:var(--serif-font-family),ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.fi-ta-text-item.fi-font-mono{font-family:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.fi-ta-text-item.fi-color{color:var(--text)}.fi-ta-text-item.fi-color:where(.dark,.dark *){color:var(--dark-text)}li.fi-ta-text-item.fi-color::marker{color:var(--gray-950)}li.fi-ta-text-item.fi-color:where(.dark,.dark *)::marker{color:var(--color-white)}.fi-ta-text-item.fi-color-gray{color:var(--gray-500)}.fi-ta-text-item.fi-color-gray:where(.dark,.dark *){color:var(--gray-400)}li.fi-ta-text-item.fi-color-gray::marker{color:var(--gray-950)}li.fi-ta-text-item.fi-color-gray:where(.dark,.dark *)::marker{color:var(--color-white)}.fi-ta-text-item>.fi-icon{color:var(--gray-400);flex-shrink:0}.fi-ta-text-item>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-ta-text-item>.fi-icon.fi-color{color:var(--color-500)}.fi-ta-text-item>.fi-icon{margin-top:calc(var(--spacing)*-1);display:inline-block}@media (hover:hover){.fi-ta-col-has-column-url .fi-ta-text-item:hover{text-decoration-line:underline}}.fi-ta-col-has-column-url .fi-ta-text-item:focus-visible{text-decoration-line:underline}@media (hover:hover){.fi-ta-col-has-column-url .fi-ta-text-item>.fi-icon:hover{text-decoration-line:none}}.fi-ta-col-has-column-url .fi-ta-text-item>.fi-icon:focus-visible{text-decoration-line:none}@media (hover:hover){.fi-ta-col-has-column-url .fi-ta-text-item>.fi-badge:hover{text-decoration-line:none}}.fi-ta-col-has-column-url .fi-ta-text-item>.fi-badge:focus-visible{text-decoration-line:none}.fi-ta-text-input{width:100%;min-width:calc(var(--spacing)*48)}.fi-ta-text-input:not(.fi-inline){padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}.fi-ta-toggle{width:100%}.fi-ta-toggle:not(.fi-inline){padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}.fi-ta-toggle.fi-align-center{text-align:center}.fi-ta-toggle.fi-align-end,.fi-ta-toggle.fi-align-right{text-align:end}.fi-ta-grid.fi-gap-sm{gap:calc(var(--spacing)*1)}@media (min-width:40rem){.fi-ta-grid.sm\:fi-gap-sm{gap:calc(var(--spacing)*1)}}@media (min-width:48rem){.fi-ta-grid.md\:fi-gap-sm{gap:calc(var(--spacing)*1)}}@media (min-width:64rem){.fi-ta-grid.lg\:fi-gap-sm{gap:calc(var(--spacing)*1)}}@media (min-width:80rem){.fi-ta-grid.xl\:fi-gap-sm{gap:calc(var(--spacing)*1)}}@media (min-width:96rem){.fi-ta-grid.\32 xl\:fi-gap-sm{gap:calc(var(--spacing)*1)}}.fi-ta-grid.fi-gap-lg{gap:calc(var(--spacing)*3)}@media (min-width:40rem){.fi-ta-grid.sm\:fi-gap-lg{gap:calc(var(--spacing)*3)}}@media (min-width:48rem){.fi-ta-grid.md\:fi-gap-lg{gap:calc(var(--spacing)*3)}}@media (min-width:64rem){.fi-ta-grid.lg\:fi-gap-lg{gap:calc(var(--spacing)*3)}}@media (min-width:80rem){.fi-ta-grid.xl\:fi-gap-lg{gap:calc(var(--spacing)*3)}}@media (min-width:96rem){.fi-ta-grid.\32 xl\:fi-gap-lg{gap:calc(var(--spacing)*3)}}.fi-ta-panel{border-radius:var(--radius-lg);background-color:var(--gray-50);padding:calc(var(--spacing)*4);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-ta-panel{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-ta-panel{--tw-ring-inset:inset}.fi-ta-panel:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-panel:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-panel:where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-panel:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-split{display:flex}.fi-ta-split.default\:fi-ta-split{align-items:center;gap:calc(var(--spacing)*3)}.fi-ta-split.sm\:fi-ta-split,.fi-ta-split.md\:fi-ta-split,.fi-ta-split.lg\:fi-ta-split,.fi-ta-split.xl\:fi-ta-split,.fi-ta-split.\32 xl\:fi-ta-split{gap:calc(var(--spacing)*2);flex-direction:column}@media (min-width:40rem){.fi-ta-split.sm\:fi-ta-split{align-items:center;gap:calc(var(--spacing)*3);flex-direction:row}}@media (min-width:48rem){.fi-ta-split.md\:fi-ta-split{align-items:center;gap:calc(var(--spacing)*3);flex-direction:row}}@media (min-width:64rem){.fi-ta-split.lg\:fi-ta-split{align-items:center;gap:calc(var(--spacing)*3);flex-direction:row}}@media (min-width:80rem){.fi-ta-split.xl\:fi-ta-split{align-items:center;gap:calc(var(--spacing)*3);flex-direction:row}}@media (min-width:96rem){.fi-ta-split.\32 xl\:fi-ta-split{align-items:center;gap:calc(var(--spacing)*3);flex-direction:row}}.fi-ta-stack{flex-direction:column;display:flex}.fi-ta-stack.fi-align-start,.fi-ta-stack.fi-align-left{align-items:flex-start}.fi-ta-stack.fi-align-center{align-items:center}.fi-ta-stack.fi-align-end,.fi-ta-stack.fi-align-right{align-items:flex-end}:where(.fi-ta-stack.fi-gap-sm>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.fi-ta-stack.fi-gap-md>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.fi-ta-stack.fi-gap-lg>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}.fi-ta-icon-count-summary{row-gap:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500);display:grid}.fi-ta-icon-count-summary:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-icon-count-summary>.fi-ta-icon-count-summary-label{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-ta-icon-count-summary>.fi-ta-icon-count-summary-label:where(.dark,.dark *){color:var(--color-white)}.fi-ta-icon-count-summary>ul{row-gap:calc(var(--spacing)*1.5);display:grid}.fi-ta-icon-count-summary>ul>li{justify-content:flex-end;align-items:center;column-gap:calc(var(--spacing)*1.5);display:flex}.fi-ta-icon-count-summary>ul>li>.fi-icon{color:var(--gray-400)}.fi-ta-icon-count-summary>ul>li>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-ta-icon-count-summary>ul>li>.fi-icon.fi-color{color:var(--text)}.fi-ta-icon-count-summary>ul>li>.fi-icon.fi-color:where(.dark,.dark *){color:var(--dark-text)}.fi-ta-range-summary{row-gap:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500);display:grid}.fi-ta-range-summary:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-range-summary>.fi-ta-range-summary-label{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-ta-range-summary>.fi-ta-range-summary-label:where(.dark,.dark *){color:var(--color-white)}.fi-ta-text-summary{row-gap:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500);display:grid}.fi-ta-text-summary:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-text-summary>.fi-ta-text-summary-label{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-ta-text-summary>.fi-ta-text-summary-label:where(.dark,.dark *){color:var(--color-white)}.fi-ta-values-summary{row-gap:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500);display:grid}.fi-ta-values-summary:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-values-summary>.fi-ta-values-summary-label{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-ta-values-summary>.fi-ta-values-summary-label:where(.dark,.dark *){color:var(--color-white)}.fi-ta-values-summary>ul.fi-bulleted{list-style-type:disc;list-style-position:inside}:where(.fi-ta-ctn>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}.fi-ta-ctn{border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.fi-ta-ctn{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}:where(.fi-ta-ctn:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-ta-ctn:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-ctn:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-ctn:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-ctn.fi-loading{animation:var(--animate-pulse)}.fi-ta-ctn .fi-ta-header-ctn{margin-top:-1px}.fi-ta-ctn .fi-ta-header{gap:calc(var(--spacing)*3);padding:calc(var(--spacing)*4);flex-direction:column;display:flex}@media (min-width:40rem){.fi-ta-ctn .fi-ta-header{padding-inline:calc(var(--spacing)*6)}.fi-ta-ctn .fi-ta-header.fi-ta-header-adaptive-actions-position{flex-direction:row;align-items:center}.fi-ta-ctn .fi-ta-header.fi-ta-header-adaptive-actions-position .fi-ta-actions{margin-inline-start:auto}}.fi-ta-ctn .fi-ta-header.fi-ta-header-adaptive-actions-position:not(:has(.fi-ta-header-heading)):not(:has(.fi-ta-header-description)) .fi-ta-actions{margin-inline-start:auto}.fi-ta-ctn .fi-ta-header .fi-ta-header-heading{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}.fi-ta-ctn .fi-ta-header .fi-ta-header-heading:where(.dark,.dark *){color:var(--color-white)}.fi-ta-ctn .fi-ta-header .fi-ta-header-description{margin-top:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-600)}.fi-ta-ctn .fi-ta-header .fi-ta-header-description:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-ctn .fi-ta-header-toolbar{justify-content:space-between;align-items:center;gap:calc(var(--spacing)*4);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-200);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);flex-wrap:wrap;display:flex}@media (min-width:40rem){.fi-ta-ctn .fi-ta-header-toolbar{padding-inline:calc(var(--spacing)*6)}}.fi-ta-ctn .fi-ta-header-toolbar:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-ctn .fi-ta-header-toolbar:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-ctn .fi-ta-header-toolbar>*{align-items:center;column-gap:calc(var(--spacing)*4);display:flex}.fi-ta-ctn .fi-ta-header-toolbar>:first-child{flex-shrink:0}.fi-ta-ctn .fi-ta-header-toolbar>:nth-child(2){margin-inline-start:auto}@media (min-width:40rem){.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-grouping-settings .fi-dropdown.sm\:fi-hidden{display:none}}.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-grouping-settings .fi-dropdown .fi-ta-grouping-settings-fields{row-gap:calc(var(--spacing)*6);padding:calc(var(--spacing)*6);display:grid}.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-grouping-settings .fi-dropdown .fi-ta-grouping-settings-fields label{row-gap:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950);display:grid}.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-grouping-settings .fi-dropdown .fi-ta-grouping-settings-fields label:where(.dark,.dark *){color:var(--color-white)}.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-grouping-settings>.fi-ta-grouping-settings-fields{align-items:center;column-gap:calc(var(--spacing)*3);display:none}@media (min-width:40rem){.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-grouping-settings>.fi-ta-grouping-settings-fields{display:flex}}.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-filters-dropdown .fi-ta-filters,.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-col-manager-dropdown .fi-ta-col-manager{padding:calc(var(--spacing)*6)}.fi-ta-ctn .fi-ta-filters{row-gap:calc(var(--spacing)*4);display:grid}.fi-ta-ctn .fi-ta-filters.fi-ta-filters-below-content{padding:calc(var(--spacing)*4)}@media (min-width:40rem){.fi-ta-ctn .fi-ta-filters.fi-ta-filters-below-content{padding-inline:calc(var(--spacing)*6)}}.fi-ta-ctn .fi-ta-filters .fi-ta-filters-header{justify-content:space-between;align-items:center;display:flex}.fi-ta-ctn .fi-ta-filters .fi-ta-filters-header .fi-ta-filters-heading{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}.fi-ta-ctn .fi-ta-filters .fi-ta-filters-header .fi-ta-filters-heading:where(.dark,.dark *){color:var(--color-white)}.fi-ta-ctn .fi-ta-filters .fi-ta-filters-header .fi-loading-indicator{color:var(--gray-400)}.fi-ta-ctn .fi-ta-filters .fi-ta-filters-header .fi-loading-indicator:where(.dark,.dark *){color:var(--gray-500)}.fi-ta-ctn .fi-ta-filters-above-content-ctn{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-200);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*4);display:grid}@media (min-width:40rem){.fi-ta-ctn .fi-ta-filters-above-content-ctn{padding-inline:calc(var(--spacing)*6)}}.fi-ta-ctn .fi-ta-filters-above-content-ctn:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-ctn .fi-ta-filters-above-content-ctn:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-ctn .fi-ta-filters-above-content-ctn .fi-ta-filters-trigger-action-ctn{margin-inline-start:auto}.fi-ta-ctn .fi-ta-filters-above-content-ctn.fi-open .fi-ta-filters-trigger-action-ctn{margin-top:calc(var(--spacing)*3)}.fi-ta-ctn .fi-ta-filters-above-content-ctn.fi-open:has(.fi-ta-filters-apply-action-ctn) .fi-ta-filters-trigger-action-ctn{margin-top:calc(var(--spacing)*-7)}.fi-ta-ctn .fi-ta-reorder-indicator{align-items:center;column-gap:calc(var(--spacing)*3);background-color:var(--gray-50);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-700);display:flex}@media (min-width:40rem){.fi-ta-ctn .fi-ta-reorder-indicator{padding-inline:calc(var(--spacing)*6)}}.fi-ta-ctn .fi-ta-reorder-indicator:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-ctn .fi-ta-reorder-indicator:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-ctn .fi-ta-reorder-indicator:where(.dark,.dark *){color:var(--gray-200)}.fi-ta-ctn .fi-ta-reorder-indicator .fi-loading-indicator{color:var(--gray-400)}.fi-ta-ctn .fi-ta-reorder-indicator .fi-loading-indicator:where(.dark,.dark *){color:var(--gray-500)}.fi-ta-ctn .fi-ta-selection-indicator{justify-content:space-between;row-gap:calc(var(--spacing)*1);background-color:var(--gray-50);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);flex-direction:column;display:flex}@media (min-width:40rem){.fi-ta-ctn .fi-ta-selection-indicator{padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*1.5);flex-direction:row;align-items:center}}.fi-ta-ctn .fi-ta-selection-indicator:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-ctn .fi-ta-selection-indicator:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-ctn .fi-ta-selection-indicator .fi-loading-indicator{color:var(--gray-400)}.fi-ta-ctn .fi-ta-selection-indicator .fi-loading-indicator:where(.dark,.dark *){color:var(--gray-500)}.fi-ta-ctn .fi-ta-selection-indicator .fi-ta-selection-indicator-actions-ctn,.fi-ta-ctn .fi-ta-selection-indicator>*{column-gap:calc(var(--spacing)*3);display:flex}.fi-ta-ctn .fi-ta-selection-indicator>:first-child{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-700)}.fi-ta-ctn .fi-ta-selection-indicator>:first-child:where(.dark,.dark *){color:var(--gray-200)}.fi-ta-ctn .fi-ta-selection-indicator>:nth-child(2){margin-inline-start:auto}.fi-ta-ctn .fi-ta-filter-indicators{justify-content:space-between;align-items:flex-start;column-gap:calc(var(--spacing)*3);background-color:var(--gray-50);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*1.5);display:flex}@media (min-width:40rem){.fi-ta-ctn .fi-ta-filter-indicators{padding-inline:calc(var(--spacing)*6)}}.fi-ta-ctn .fi-ta-filter-indicators:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-ctn .fi-ta-filter-indicators:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-ctn .fi-ta-filter-indicators>:first-child{column-gap:calc(var(--spacing)*3);row-gap:calc(var(--spacing)*1);flex-direction:column;display:flex}@media (min-width:40rem){.fi-ta-ctn .fi-ta-filter-indicators>:first-child{flex-direction:row}}.fi-ta-ctn .fi-ta-filter-indicators>:first-child .fi-ta-filter-indicators-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--gray-700)}.fi-ta-ctn .fi-ta-filter-indicators>:first-child .fi-ta-filter-indicators-label:where(.dark,.dark *){color:var(--gray-200)}.fi-ta-ctn .fi-ta-filter-indicators>:first-child .fi-ta-filter-indicators-badges-ctn{gap:calc(var(--spacing)*1.5);flex-wrap:wrap;display:flex}.fi-ta-ctn .fi-ta-filter-indicators>:nth-child(2).fi-icon-btn{margin-top:calc(var(--spacing)*-1)}.fi-ta-ctn .fi-pagination{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*3)}@media (min-width:40rem){.fi-ta-ctn .fi-pagination{padding-inline:calc(var(--spacing)*6)}}.fi-ta-ctn .fi-ta-table-loading-ctn{height:calc(var(--spacing)*32);justify-content:center;align-items:center;display:flex}.fi-ta-content-ctn{position:relative}:where(.fi-ta-content-ctn>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}.fi-ta-content-ctn{overflow-x:auto}:where(.fi-ta-content-ctn:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-ta-content-ctn:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-content-ctn:where(.dark,.dark *){border-top-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn:where(.dark,.dark *){border-top-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-content-ctn .fi-ta-content-header{align-items:center;gap:calc(var(--spacing)*4);column-gap:calc(var(--spacing)*6);background-color:var(--gray-50);padding-inline:calc(var(--spacing)*4);display:flex}@media (min-width:40rem){.fi-ta-content-ctn .fi-ta-content-header{padding-inline:calc(var(--spacing)*6)}}.fi-ta-content-ctn .fi-ta-content-header:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content-header:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-content-ctn .fi-ta-content-header .fi-ta-page-checkbox{margin-block:calc(var(--spacing)*4);flex-shrink:0}.fi-ta-content-ctn .fi-ta-content-header .fi-ta-sorting-settings{column-gap:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*3);display:flex}.fi-ta-content-ctn:not(.fi-ta-ctn-with-header .fi-ta-content-ctn){border-top-style:var(--tw-border-style);border-top-width:0}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid{gap:calc(var(--spacing)*4);padding:calc(var(--spacing)*4)}@media (min-width:40rem){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid{padding-inline:calc(var(--spacing)*6)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid.fi-ta-content-grouped{padding-top:calc(var(--spacing)*0)}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-group-header{margin-inline:calc(var(--spacing)*-4);border-block-style:var(--tw-border-style);border-block-width:1px;border-color:var(--gray-200);width:calc(100% + 2rem)}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-group-header:first-child{border-top-style:var(--tw-border-style);border-top-width:0}@media (min-width:40rem){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-group-header{margin-inline:calc(var(--spacing)*-6);width:calc(100% + 3rem)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-group-header:where(.dark,.dark *){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-group-header:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record{border-radius:var(--radius-xl);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record:where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}@media (hover:hover){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-clickable:where(.dark,.dark *):hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-clickable:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-clickable:where(.dark,.dark *):hover{--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-clickable:where(.dark,.dark *):hover{--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-selected:where(.dark,.dark *){background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-selected:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-selected:where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-selected:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record:not(.fi-selected){background-color:var(--color-white)}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record:not(.fi-selected):where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record:not(.fi-selected):where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record:not(.fi-selected):where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record:not(.fi-selected):where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-ta-record-with-content-prefix .fi-ta-record-content,.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-ta-record-with-content-prefix .fi-ta-actions{padding-inline-start:calc(var(--spacing)*2)}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-ta-record-with-content-suffix .fi-ta-record-content,.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-ta-record-with-content-suffix .fi-ta-actions{padding-inline-end:calc(var(--spacing)*2)}.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid){background-color:var(--gray-200);row-gap:1px}.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid):where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid):where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}@media (hover:hover){.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-clickable:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-clickable:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-selected:before{content:var(--tw-content);content:var(--tw-content);inset-block:calc(var(--spacing)*0);content:var(--tw-content);content:var(--tw-content);width:calc(var(--spacing)*.5);content:var(--tw-content);background-color:var(--primary-600);position:absolute;inset-inline-start:calc(var(--spacing)*0)}.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-selected:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-selected:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-selected:where(.dark,.dark *):before{content:var(--tw-content);background-color:var(--primary-500)}@media (min-width:48rem){.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record .fi-ta-record-content-ctn{flex-direction:row;align-items:center}}@media (min-width:40rem){.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record:not(.fi-ta-record-with-content-prefix) .fi-ta-record-content,.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record:not(.fi-ta-record-with-content-prefix) .fi-ta-actions{padding-inline-start:calc(var(--spacing)*6)}.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record:not(.fi-ta-record-with-content-suffix) .fi-ta-record-content,.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record:not(.fi-ta-record-with-content-suffix) .fi-ta-actions{padding-inline-end:calc(var(--spacing)*6)}.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-ta-record-with-content-prefix{padding-inline-start:calc(var(--spacing)*3)}}.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-ta-record-with-content-prefix .fi-ta-record-content,.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-ta-record-with-content-prefix .fi-ta-actions{padding-inline-start:calc(var(--spacing)*3)}@media (min-width:40rem){.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-ta-record-with-content-suffix{padding-inline-end:calc(var(--spacing)*3)}}.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-ta-record-with-content-suffix .fi-ta-record-content,.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-ta-record-with-content-suffix .fi-ta-actions{padding-inline-end:calc(var(--spacing)*3)}@media (min-width:48rem){.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record .fi-ta-actions{padding-inline-start:calc(var(--spacing)*3)}}.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header{align-items:center;column-gap:calc(var(--spacing)*3);background-color:var(--gray-50);width:100%;padding-inline:calc(var(--spacing)*1);padding-block:calc(var(--spacing)*2);grid-column:1/-1;display:flex}@media (min-width:40rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header{padding-inline:calc(var(--spacing)*3)}}.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header.fi-collapsible{cursor:pointer}.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header.fi-collapsible.fi-collapsed .fi-icon-btn{rotate:-180deg}.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header .fi-ta-group-heading{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header .fi-ta-group-heading:where(.dark,.dark *){color:var(--color-white)}.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header .fi-ta-group-description{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header .fi-ta-group-description:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header .fi-ta-group-checkbox{margin-inline:calc(var(--spacing)*3)}.fi-ta-content-ctn .fi-ta-content .fi-ta-table{grid-column:1/-1}.fi-ta-content-ctn .fi-ta-content .fi-ta-record{background-color:var(--color-white);height:100%;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;align-items:center;transition-duration:75ms;display:flex;position:relative}.fi-ta-content-ctn .fi-ta-content .fi-ta-record:where(.dark,.dark *){background-color:var(--gray-900)}.fi-ta-content-ctn .fi-ta-content .fi-ta-record.fi-ta-record-with-content-prefix{padding-inline-start:calc(var(--spacing)*1)}.fi-ta-content-ctn .fi-ta-content .fi-ta-record.fi-ta-record-with-content-suffix{padding-inline-end:calc(var(--spacing)*1)}@media (hover:hover){.fi-ta-content-ctn .fi-ta-content .fi-ta-record.fi-clickable:hover{background-color:var(--gray-50)}}.fi-ta-content-ctn .fi-ta-content .fi-ta-record.fi-collapsed{display:none}.fi-ta-content-ctn .fi-ta-content .fi-ta-record.fi-selected{background-color:var(--gray-50)}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-reorder-handle{margin-inline:calc(var(--spacing)*1);margin-block:calc(var(--spacing)*2)}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-checkbox{margin-inline:calc(var(--spacing)*3);margin-block:calc(var(--spacing)*4);flex-shrink:0}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn{row-gap:calc(var(--spacing)*3);width:100%;height:100%;padding-block:calc(var(--spacing)*4);flex-direction:column;display:flex}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn>:first-child{flex:1}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content{width:100%;display:block}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content.fi-collapsible{margin-top:calc(var(--spacing)*3)}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-growable{flex:1;width:100%}@media (min-width:40rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .sm\:fi-hidden{display:none}}@media (min-width:48rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .md\:fi-hidden{display:none}}@media (min-width:64rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .lg\:fi-hidden{display:none}}@media (min-width:80rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .xl\:fi-hidden{display:none}}@media (min-width:96rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .\32 xl\:fi-hidden{display:none}}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .sm\:fi-visible{display:none}@media (min-width:40rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .sm\:fi-visible{display:block}}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .md\:fi-visible{display:none}@media (min-width:48rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .md\:fi-visible{display:block}}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .lg\:fi-visible{display:none}@media (min-width:64rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .lg\:fi-visible{display:block}}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .xl\:fi-visible{display:none}@media (min-width:80rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .xl\:fi-visible{display:block}}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .\32 xl\:fi-visible{display:none}@media (min-width:96rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .\32 xl\:fi-visible{display:block}}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-ta-col{text-align:start;justify-content:flex-start;display:flex}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-ta-col:disabled{pointer-events:none}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-ta-col.fi-growable{width:100%}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-ta-col.fi-align-center{text-align:center;justify-content:center}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-ta-col.fi-align-end{text-align:end;justify-content:flex-end}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-ta-col.fi-align-left{text-align:left;justify-content:flex-start}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-ta-col.fi-align-right{text-align:right;justify-content:flex-end}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-ta-col.fi-align-justify,.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-ta-col.fi-align-between{text-align:justify;justify-content:space-between}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-collapse-btn{margin-inline:calc(var(--spacing)*1);margin-block:calc(var(--spacing)*2);flex-shrink:0}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-actions.fi-ta-actions-before-columns-position{order:-9999}.fi-ta-content-ctn .fi-ta-content .fi-ta-record:not(.fi-ta-record-with-content-prefix) .fi-ta-record-content,.fi-ta-content-ctn .fi-ta-content .fi-ta-record:not(.fi-ta-record-with-content-prefix) .fi-ta-actions{padding-inline-start:calc(var(--spacing)*4)}.fi-ta-content-ctn .fi-ta-content .fi-ta-record:not(.fi-ta-record-with-content-suffix) .fi-ta-record-content,.fi-ta-content-ctn .fi-ta-content .fi-ta-record:not(.fi-ta-record-with-content-suffix) .fi-ta-actions{padding-inline-end:calc(var(--spacing)*4)}.fi-ta-content-ctn .fi-ta-content .fi-ta-record.fi-ta-record-collapsed .fi-ta-record-collapse-btn{rotate:180deg}.fi-ta-empty-state{padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*12)}.fi-ta-empty-state .fi-ta-empty-state-content{max-width:var(--container-lg);text-align:center;justify-items:center;margin-inline:auto;display:grid}.fi-ta-empty-state .fi-ta-empty-state-icon-bg{margin-bottom:calc(var(--spacing)*4);background-color:var(--gray-100);padding:calc(var(--spacing)*3);border-radius:3.40282e38px}.fi-ta-empty-state .fi-ta-empty-state-icon-bg:where(.dark,.dark *){background-color:var(--gray-500)}@supports (color:color-mix(in lab, red, red)){.fi-ta-empty-state .fi-ta-empty-state-icon-bg:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-500)20%,transparent)}}.fi-ta-empty-state .fi-ta-empty-state-icon-bg .fi-icon{color:var(--gray-500)}.fi-ta-empty-state .fi-ta-empty-state-icon-bg .fi-icon:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-empty-state .fi-ta-empty-state-heading{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}.fi-ta-empty-state .fi-ta-empty-state-heading:where(.dark,.dark *){color:var(--color-white)}.fi-ta-empty-state .fi-ta-empty-state-description{margin-top:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-ta-empty-state .fi-ta-empty-state-description:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-empty-state .fi-ta-actions{margin-top:calc(var(--spacing)*6)}.fi-ta-header-cell{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*3.5);text-align:start;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}@media (min-width:40rem){.fi-ta-header-cell:first-of-type{padding-inline-start:calc(var(--spacing)*6)}.fi-ta-header-cell:last-of-type{padding-inline-end:calc(var(--spacing)*6)}}.fi-ta-header-cell:where(.dark,.dark *){color:var(--color-white)}.fi-ta-header-cell.fi-growable{width:100%}.fi-ta-header-cell.fi-grouped{border-color:var(--gray-200)}.fi-ta-header-cell.fi-grouped:where(.dark,.dark *){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-header-cell.fi-grouped:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-header-cell.fi-grouped:not(:first-of-type){border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.fi-ta-header-cell.fi-grouped:not(:last-of-type){border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.fi-ta-header-cell.fi-align-center{text-align:center}.fi-ta-header-cell.fi-align-center .fi-ta-header-cell-sort-btn{justify-content:center}.fi-ta-header-cell.fi-align-end{text-align:end}.fi-ta-header-cell.fi-align-end .fi-ta-header-cell-sort-btn{justify-content:flex-end}.fi-ta-header-cell.fi-align-left{text-align:left}.fi-ta-header-cell.fi-align-left .fi-ta-header-cell-sort-btn{justify-content:flex-start}.fi-ta-header-cell.fi-align-left .fi-ta-header-cell-sort-btn:where(:dir(rtl),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.fi-ta-header-cell.fi-align-right{text-align:right}.fi-ta-header-cell.fi-align-right .fi-ta-header-cell-sort-btn{justify-content:flex-end}.fi-ta-header-cell.fi-align-right .fi-ta-header-cell-sort-btn:where(:dir(rtl),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.fi-ta-header-cell.fi-align-justify,.fi-ta-header-cell.fi-align-between{text-align:justify}:is(.fi-ta-header-cell.fi-align-justify,.fi-ta-header-cell.fi-align-between) .fi-ta-header-cell-sort-btn{justify-content:space-between}.fi-ta-header-cell.fi-ta-header-cell-sorted .fi-icon{color:var(--gray-950)}.fi-ta-header-cell.fi-ta-header-cell-sorted .fi-icon:where(.dark,.dark *){color:var(--color-white)}.fi-ta-header-cell:not(.fi-ta-header-cell-sorted) .fi-icon{color:var(--gray-400)}.fi-ta-header-cell:not(.fi-ta-header-cell-sorted) .fi-icon:where(.dark,.dark *),.fi-ta-header-cell:not(.fi-ta-header-cell-sorted) .fi-ta-header-cell-sort-btn:hover .fi-icon{color:var(--gray-500)}.fi-ta-header-cell:not(.fi-ta-header-cell-sorted) .fi-ta-header-cell-sort-btn:hover .fi-icon:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-header-cell:not(.fi-ta-header-cell-sorted) .fi-ta-header-cell-sort-btn:focus-visible .fi-icon{color:var(--gray-500)}.fi-ta-header-cell:not(.fi-ta-header-cell-sorted) .fi-ta-header-cell-sort-btn:focus-visible .fi-icon:where(.dark,.dark *){color:var(--gray-400)}@media (min-width:40rem){.fi-ta-header-cell.sm\:fi-hidden{display:none}}@media (min-width:48rem){.fi-ta-header-cell.md\:fi-hidden{display:none}}@media (min-width:64rem){.fi-ta-header-cell.lg\:fi-hidden{display:none}}@media (min-width:80rem){.fi-ta-header-cell.xl\:fi-hidden{display:none}}@media (min-width:96rem){.fi-ta-header-cell.\32 xl\:fi-hidden{display:none}}.fi-ta-header-cell.sm\:fi-visible{display:none}@media (min-width:40rem){.fi-ta-header-cell.sm\:fi-visible{display:table-cell}}.fi-ta-header-cell.md\:fi-visible{display:none}@media (min-width:48rem){.fi-ta-header-cell.md\:fi-visible{display:table-cell}}.fi-ta-header-cell.lg\:fi-visible{display:none}@media (min-width:64rem){.fi-ta-header-cell.lg\:fi-visible{display:table-cell}}.fi-ta-header-cell.xl\:fi-visible{display:none}@media (min-width:80rem){.fi-ta-header-cell.xl\:fi-visible{display:table-cell}}.fi-ta-header-cell.\32 xl\:fi-visible{display:none}@media (min-width:96rem){.fi-ta-header-cell.\32 xl\:fi-visible{display:table-cell}}.fi-ta-header-cell.fi-wrapped{white-space:normal}.fi-ta-header-cell:not(.fi-wrapped){white-space:nowrap}.fi-ta-header-cell .fi-ta-header-cell-sort-btn{cursor:pointer;justify-content:flex-start;align-items:center;column-gap:calc(var(--spacing)*1);width:100%;display:flex}.fi-ta-header-cell .fi-icon{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;flex-shrink:0;transition-duration:75ms}.fi-ta-header-group-cell{border-color:var(--gray-200);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}@media (min-width:40rem){.fi-ta-header-group-cell:first-of-type{padding-inline-start:calc(var(--spacing)*6)}.fi-ta-header-group-cell:last-of-type{padding-inline-end:calc(var(--spacing)*6)}}.fi-ta-header-group-cell:where(.dark,.dark *){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-header-group-cell:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-header-group-cell:where(.dark,.dark *){color:var(--color-white)}.fi-ta-header-group-cell:not(:first-of-type){border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.fi-ta-header-group-cell:not(:last-of-type){border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.fi-ta-header-group-cell.fi-align-start{text-align:start}.fi-ta-header-group-cell.fi-align-center{text-align:center}.fi-ta-header-group-cell.fi-align-end{text-align:end}.fi-ta-header-group-cell.fi-align-left{text-align:left}.fi-ta-header-group-cell.fi-align-right{text-align:right}.fi-ta-header-group-cell.fi-align-justify,.fi-ta-header-group-cell.fi-align-between{text-align:justify}@media (min-width:40rem){.fi-ta-header-group-cell.sm\:fi-hidden{display:none}}@media (min-width:48rem){.fi-ta-header-group-cell.md\:fi-hidden{display:none}}@media (min-width:64rem){.fi-ta-header-group-cell.lg\:fi-hidden{display:none}}@media (min-width:80rem){.fi-ta-header-group-cell.xl\:fi-hidden{display:none}}@media (min-width:96rem){.fi-ta-header-group-cell.\32 xl\:fi-hidden{display:none}}.fi-ta-header-group-cell.sm\:fi-visible{display:none}@media (min-width:40rem){.fi-ta-header-group-cell.sm\:fi-visible{display:table-cell}}.fi-ta-header-group-cell.md\:fi-visible{display:none}@media (min-width:48rem){.fi-ta-header-group-cell.md\:fi-visible{display:table-cell}}.fi-ta-header-group-cell.lg\:fi-visible{display:none}@media (min-width:64rem){.fi-ta-header-group-cell.lg\:fi-visible{display:table-cell}}.fi-ta-header-group-cell.xl\:fi-visible{display:none}@media (min-width:80rem){.fi-ta-header-group-cell.xl\:fi-visible{display:table-cell}}.fi-ta-header-group-cell.\32 xl\:fi-visible{display:none}@media (min-width:96rem){.fi-ta-header-group-cell.\32 xl\:fi-visible{display:table-cell}}.fi-ta-header-group-cell.fi-wrapped{white-space:normal}.fi-ta-header-group-cell:not(.fi-wrapped){white-space:nowrap}.fi-ta-empty-header-cell{width:calc(var(--spacing)*1)}@media (hover:hover){.fi-ta-row{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}.fi-ta-row.fi-clickable:hover{background-color:var(--gray-50)}.fi-ta-row.fi-clickable:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-row.fi-clickable:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-ta-row.fi-striped{background-color:var(--gray-50)}.fi-ta-row.fi-striped:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-row.fi-striped:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-row.fi-collapsed{display:none}.fi-ta-row.fi-ta-group-header-row>td{background-color:var(--gray-50)}.fi-ta-row.fi-ta-group-header-row>td:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-row.fi-ta-group-header-row>td:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-row .fi-ta-group-header{align-items:center;column-gap:calc(var(--spacing)*3);width:100%;padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);display:flex}.fi-ta-row .fi-ta-group-header.fi-collapsible{cursor:pointer}.fi-ta-row .fi-ta-group-header.fi-collapsible.fi-collapsed .fi-icon-btn{rotate:-180deg}.fi-ta-row .fi-ta-group-header .fi-ta-group-heading{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-ta-row .fi-ta-group-header .fi-ta-group-heading:where(.dark,.dark *){color:var(--color-white)}.fi-ta-row .fi-ta-group-header .fi-ta-group-description{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-ta-row .fi-ta-group-header .fi-ta-group-description:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-row.fi-selected:not(.fi-striped){background-color:var(--gray-50)}.fi-ta-row.fi-selected:not(.fi-striped):where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-row.fi-selected:not(.fi-striped):where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-row.fi-selected>:first-child{position:relative}.fi-ta-row.fi-selected>:first-child:before{inset-block:calc(var(--spacing)*0);width:calc(var(--spacing)*.5);background-color:var(--primary-600);content:"";position:absolute;inset-inline-start:calc(var(--spacing)*0)}.fi-ta-row.fi-selected>:first-child:where(.dark,.dark *):before{background-color:var(--primary-500)}.fi-ta-reordering .fi-ta-row:not(.fi-ta-row-not-reorderable){cursor:move}.fi-ta-table{table-layout:auto;width:100%}:where(.fi-ta-table>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}.fi-ta-table{text-align:start}:where(.fi-ta-table:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-ta-table:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}:where(.fi-ta-table>thead>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-ta-table>thead:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-ta-table>thead:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-table>thead>tr{background-color:var(--gray-50)}.fi-ta-table>thead>tr:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-table>thead>tr:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-table>thead>tr.fi-ta-table-head-groups-row{background-color:var(--gray-100)}.fi-ta-table>thead>tr.fi-ta-table-head-groups-row:where(.dark,.dark *){background-color:#0000}:where(.fi-ta-table>tbody>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}.fi-ta-table>tbody{white-space:nowrap}:where(.fi-ta-table>tbody:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-ta-table>tbody:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-table>tfoot{background-color:var(--gray-50)}.fi-ta-table>tfoot:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-table>tfoot:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-col-manager{row-gap:calc(var(--spacing)*4);display:grid}.fi-ta-col-manager .fi-ta-col-manager-ctn{gap:calc(var(--spacing)*4);display:grid}.fi-ta-col-manager .fi-ta-col-manager-header{justify-content:space-between;align-items:center;display:flex}.fi-ta-col-manager .fi-ta-col-manager-heading{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}.fi-ta-col-manager .fi-ta-col-manager-heading:where(.dark,.dark *){color:var(--color-white)}.fi-ta-col-manager .fi-ta-col-manager-items{margin-top:calc(var(--spacing)*-6);column-gap:calc(var(--spacing)*6)}.fi-ta-col-manager .fi-ta-col-manager-item{break-inside:avoid;align-items:center;gap:calc(var(--spacing)*3);padding-top:calc(var(--spacing)*6);display:flex}.fi-ta-col-manager .fi-ta-col-manager-item .fi-ta-col-manager-label{align-items:center;column-gap:calc(var(--spacing)*3);width:100%;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950);flex:1;display:flex}.fi-ta-col-manager .fi-ta-col-manager-item .fi-ta-col-manager-label:where(.dark,.dark *){color:var(--color-white)}.fi-ta-col-manager .fi-ta-col-manager-item .fi-ta-col-manager-label .fi-checkbox-input{flex-shrink:0}.fi-ta-col-manager .fi-ta-col-manager-item .fi-ta-col-manager-reorder-handle{cursor:move}.fi-ta-col-manager .fi-ta-col-manager-group{break-inside:avoid}.fi-ta-col-manager .fi-ta-col-manager-group .fi-ta-col-manager-group-items{padding-inline-start:calc(var(--spacing)*8)}.fi-wi-chart .fi-wi-chart-filter.fi-input-wrp{width:max-content}@media (min-width:40rem){.fi-wi-chart .fi-wi-chart-filter.fi-input-wrp{margin-block:calc(var(--spacing)*-2)}}.fi-wi-chart .fi-wi-chart-filter.fi-dropdown .fi-wi-chart-filter-content{padding:calc(var(--spacing)*6)}.fi-wi-chart .fi-color .fi-wi-chart-bg-color{color:var(--color-50)}.fi-wi-chart .fi-color .fi-wi-chart-bg-color:where(.dark,.dark *){color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){.fi-wi-chart .fi-color .fi-wi-chart-bg-color:where(.dark,.dark *){color:color-mix(in oklab,var(--color-400)10%,transparent)}}.fi-wi-chart .fi-color .fi-wi-chart-border-color{color:var(--color-500)}.fi-wi-chart .fi-color .fi-wi-chart-border-color:where(.dark,.dark *){color:var(--color-400)}.fi-wi-chart .fi-wi-chart-bg-color{color:var(--gray-100)}.fi-wi-chart .fi-wi-chart-bg-color:where(.dark,.dark *){color:var(--gray-800)}.fi-wi-chart .fi-wi-chart-border-color{color:var(--gray-400)}.fi-wi-chart .fi-wi-chart-grid-color{color:var(--gray-200)}.fi-wi-chart .fi-wi-chart-grid-color:where(.dark,.dark *){color:var(--gray-800)}.fi-wi-chart .fi-wi-chart-text-color{color:var(--gray-500)}.fi-wi-chart .fi-wi-chart-text-color:where(.dark,.dark *){color:var(--gray-400)}.fi-wi-stats-overview-stat{border-radius:var(--radius-xl);background-color:var(--color-white);padding:calc(var(--spacing)*6);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);display:block;position:relative}@supports (color:color-mix(in lab, red, red)){.fi-wi-stats-overview-stat{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-wi-stats-overview-stat:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-wi-stats-overview-stat:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-wi-stats-overview-stat .fi-icon{color:var(--gray-400)}.fi-wi-stats-overview-stat .fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-content{row-gap:calc(var(--spacing)*2);display:grid}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-label-ctn{align-items:center;column-gap:calc(var(--spacing)*2);display:flex}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-500)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-label:where(.dark,.dark *){color:var(--gray-400)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-value{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:var(--gray-950)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-value:where(.dark,.dark *){color:var(--color-white)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description{align-items:center;column-gap:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500);display:flex}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description:where(.dark,.dark *){color:var(--gray-400)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description.fi-color{color:var(--text)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description.fi-color:where(.dark,.dark *){color:var(--dark-text)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description.fi-color .fi-icon{color:var(--color-500)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart{inset-inline:calc(var(--spacing)*0);bottom:calc(var(--spacing)*0);border-bottom-right-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl);position:absolute;overflow:hidden}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart>canvas{height:calc(var(--spacing)*6)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart .fi-wi-stats-overview-stat-chart-bg-color{color:var(--gray-100)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart .fi-wi-stats-overview-stat-chart-bg-color:where(.dark,.dark *){color:var(--gray-800)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart .fi-wi-stats-overview-stat-chart-border-color{color:var(--gray-400)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart.fi-color .fi-wi-stats-overview-stat-chart-bg-color{color:var(--color-50)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart.fi-color .fi-wi-stats-overview-stat-chart-bg-color:where(.dark,.dark *){color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart.fi-color .fi-wi-stats-overview-stat-chart-bg-color:where(.dark,.dark *){color:color-mix(in oklab,var(--color-400)10%,transparent)}}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart.fi-color .fi-wi-stats-overview-stat-chart-border-color{color:var(--color-500)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart.fi-color .fi-wi-stats-overview-stat-chart-border-color:where(.dark,.dark *){color:var(--color-400)}.fi-wi{gap:calc(var(--spacing)*6)}.fi-global-search-ctn{align-items:center;display:flex}@media (min-width:40rem){.fi-global-search{position:relative}}.fi-global-search-results-ctn{inset-inline:calc(var(--spacing)*4);z-index:10;margin-top:calc(var(--spacing)*2);max-height:calc(var(--spacing)*96);border-radius:var(--radius-lg);background-color:var(--color-white);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);position:absolute;overflow:auto}@supports (color:color-mix(in lab, red, red)){.fi-global-search-results-ctn{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-global-search-results-ctn{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (min-width:40rem){.fi-global-search-results-ctn{width:100vw;inset-inline:auto;max-width:var(--container-sm);inset-inline-end:calc(var(--spacing)*0)}}.fi-global-search-results-ctn:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-global-search-results-ctn:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-global-search-results-ctn{transform:translateZ(0)}.fi-global-search-results-ctn.fi-transition-enter-start,.fi-global-search-results-ctn.fi-transition-leave-end{opacity:0}.fi-global-search-no-results-message{padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-global-search-no-results-message:where(.dark,.dark *){color:var(--gray-400)}:where(.fi-global-search-results>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-global-search-results:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-global-search-results:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-global-search-result-group-header{top:calc(var(--spacing)*0);z-index:10;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);background-color:var(--gray-50);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950);text-transform:capitalize;position:sticky}.fi-global-search-result-group-header:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-global-search-result-group-header:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-global-search-result-group-header:where(.dark,.dark *){background-color:var(--gray-800);color:var(--color-white)}:where(.fi-global-search-result-group-results>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-global-search-result-group-results:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-global-search-result-group-results:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-global-search-result{scroll-margin-top:calc(var(--spacing)*9);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}.fi-global-search-result:focus-within{background-color:var(--gray-50)}@media (hover:hover){.fi-global-search-result:hover{background-color:var(--gray-50)}}.fi-global-search-result:where(.dark,.dark *):focus-within{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-global-search-result:where(.dark,.dark *):focus-within{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}@media (hover:hover){.fi-global-search-result:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-global-search-result:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-global-search-result.fi-global-search-result-has-actions .fi-global-search-result-link{padding-bottom:calc(var(--spacing)*0)}.fi-global-search-result-link{padding:calc(var(--spacing)*4);--tw-outline-style:none;outline-style:none;display:block}@media (forced-colors:active){.fi-global-search-result-link{outline-offset:2px;outline:2px solid #0000}}.fi-global-search-result-heading{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-global-search-result-heading:where(.dark,.dark *){color:var(--color-white)}.fi-global-search-result-details{margin-top:calc(var(--spacing)*1)}.fi-global-search-result-detail{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-global-search-result-detail:where(.dark,.dark *){color:var(--gray-400)}.fi-global-search-result-detail-label{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);display:inline}.fi-global-search-result-detail-value{display:inline}.fi-global-search-result-actions{margin-top:calc(var(--spacing)*3);column-gap:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4);padding-bottom:calc(var(--spacing)*4);display:flex}.fi-header{gap:calc(var(--spacing)*4);flex-direction:column;display:flex}@media (min-width:40rem){.fi-header{flex-direction:row;justify-content:space-between;align-items:center}}.fi-header .fi-breadcrumbs{margin-bottom:calc(var(--spacing)*2);display:none}@media (min-width:40rem){.fi-header .fi-breadcrumbs{display:block}.fi-header.fi-header-has-breadcrumbs .fi-header-actions-ctn{margin-top:calc(var(--spacing)*7)}}.fi-header-heading{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:var(--gray-950)}@media (min-width:40rem){.fi-header-heading{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}}.fi-header-heading:where(.dark,.dark *){color:var(--color-white)}.fi-header-subheading{margin-top:calc(var(--spacing)*2);max-width:var(--container-2xl);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));color:var(--gray-600)}.fi-header-subheading:where(.dark,.dark *){color:var(--gray-400)}.fi-header-actions-ctn{align-items:center;gap:calc(var(--spacing)*3);flex-shrink:0;display:flex}.fi-simple-header{flex-direction:column;align-items:center;display:flex}.fi-simple-header .fi-logo{margin-bottom:calc(var(--spacing)*4)}.fi-simple-header-heading{text-align:center;font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:var(--gray-950)}.fi-simple-header-heading:where(.dark,.dark *){color:var(--color-white)}.fi-simple-header-subheading{margin-top:calc(var(--spacing)*2);text-align:center;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-simple-header-subheading:where(.dark,.dark *){color:var(--gray-400)}html.fi{min-height:100dvh}.fi-body{background-color:var(--gray-50);--tw-font-weight:var(--font-weight-normal);min-height:100dvh;font-weight:var(--font-weight-normal);color:var(--gray-950);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fi-body:where(.dark,.dark *){background-color:var(--gray-950);color:var(--color-white)}:is(.fi-body.fi-body-has-sidebar-collapsible-on-desktop,.fi-body.fi-body-has-sidebar-fully-collapsible-on-desktop) .fi-main-ctn{opacity:0;height:100%;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.fi-body.fi-body-has-navigation:not(.fi-body-has-sidebar-collapsible-on-desktop):not(.fi-body-has-sidebar-fully-collapsible-on-desktop):not(.fi-body-has-top-navigation) .fi-main-ctn{opacity:0}:is(.fi-body.fi-body-has-top-navigation,.fi-body:not(.fi-body-has-navigation)) .fi-main-ctn{display:flex}.fi-layout{width:100%;height:100%;display:flex;overflow-x:clip}.fi-main-ctn{flex-direction:column;flex:1;width:100vw}.fi-main{width:100%;height:100%;padding-inline:calc(var(--spacing)*4);margin-inline:auto}@media (min-width:48rem){.fi-main{padding-inline:calc(var(--spacing)*6)}}@media (min-width:64rem){.fi-main{padding-inline:calc(var(--spacing)*8)}}:is(.fi-main,.fi-simple-main).fi-width-xs{max-width:var(--container-xs)}:is(.fi-main,.fi-simple-main).fi-width-sm{max-width:var(--container-sm)}:is(.fi-main,.fi-simple-main).fi-width-md{max-width:var(--container-md)}:is(.fi-main,.fi-simple-main).fi-width-lg{max-width:var(--container-lg)}:is(.fi-main,.fi-simple-main).fi-width-xl{max-width:var(--container-xl)}:is(.fi-main,.fi-simple-main).fi-width-2xl{max-width:var(--container-2xl)}:is(.fi-main,.fi-simple-main).fi-width-3xl{max-width:var(--container-3xl)}:is(.fi-main,.fi-simple-main).fi-width-4xl{max-width:var(--container-4xl)}:is(.fi-main,.fi-simple-main).fi-width-5xl{max-width:var(--container-5xl)}:is(.fi-main,.fi-simple-main).fi-width-6xl{max-width:var(--container-6xl)}:is(.fi-main,.fi-simple-main).fi-width-7xl{max-width:var(--container-7xl)}:is(.fi-main,.fi-simple-main).fi-width-full{max-width:100%}:is(.fi-main,.fi-simple-main).fi-width-min{max-width:min-content}:is(.fi-main,.fi-simple-main).fi-width-max{max-width:max-content}:is(.fi-main,.fi-simple-main).fi-width-fit{max-width:fit-content}:is(.fi-main,.fi-simple-main).fi-width-prose{max-width:65ch}:is(.fi-main,.fi-simple-main).fi-width-screen-sm{max-width:var(--breakpoint-sm)}:is(.fi-main,.fi-simple-main).fi-width-screen-md{max-width:var(--breakpoint-md)}:is(.fi-main,.fi-simple-main).fi-width-screen-lg{max-width:var(--breakpoint-lg)}:is(.fi-main,.fi-simple-main).fi-width-screen-xl{max-width:var(--breakpoint-xl)}:is(.fi-main,.fi-simple-main).fi-width-screen-2xl{max-width:var(--breakpoint-2xl)}:is(.fi-main,.fi-simple-main).fi-width-screen{inset:calc(var(--spacing)*0);position:fixed}.fi-simple-layout{flex-direction:column;align-items:center;min-height:100dvh;display:flex}.fi-simple-layout-header{inset-inline-end:calc(var(--spacing)*0);top:calc(var(--spacing)*0);height:calc(var(--spacing)*16);align-items:center;column-gap:calc(var(--spacing)*4);padding-inline-end:calc(var(--spacing)*4);display:flex;position:absolute}@media (min-width:48rem){.fi-simple-layout-header{padding-inline-end:calc(var(--spacing)*6)}}@media (min-width:64rem){.fi-simple-layout-header{padding-inline-end:calc(var(--spacing)*8)}}.fi-simple-main-ctn{flex-grow:1;justify-content:center;align-items:center;width:100%;display:flex}.fi-simple-main{margin-block:calc(var(--spacing)*16);background-color:var(--color-white);width:100%;padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*12);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-simple-main{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}@media (min-width:40rem){.fi-simple-main{border-radius:var(--radius-xl);padding-inline:calc(var(--spacing)*12)}}.fi-simple-main:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-simple-main:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-logo{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:var(--gray-950);display:flex}.fi-logo:where(.dark,.dark *){color:var(--color-white)}.fi-logo.fi-logo-light:where(.dark,.dark *),.fi-logo.fi-logo-dark{display:none}.fi-logo.fi-logo-dark:where(.dark,.dark *){display:flex}@media (min-width:48rem){.fi-page-sub-navigation-dropdown{display:none}}.fi-page-sub-navigation-dropdown>.fi-dropdown-trigger>.fi-btn{justify-content:space-between;width:100%}.fi-page-sub-navigation-sidebar-ctn{width:calc(var(--spacing)*72);flex-direction:column;display:none}@media (min-width:48rem){.fi-page-sub-navigation-sidebar-ctn{display:flex}}.fi-page-sub-navigation-sidebar{row-gap:calc(var(--spacing)*7);flex-direction:column;display:flex}.fi-page-sub-navigation-tabs{display:none}@media (min-width:48rem){.fi-page-sub-navigation-tabs{display:flex}}.fi-page.fi-height-full,.fi-page.fi-height-full .fi-page-main,.fi-page.fi-height-full .fi-page-header-main-ctn,.fi-page.fi-height-full .fi-page-content{height:100%}.fi-page.fi-page-has-sub-navigation .fi-page-main{gap:calc(var(--spacing)*8);flex-direction:column;display:flex}@media (min-width:48rem){:is(.fi-page.fi-page-has-sub-navigation.fi-page-has-sub-navigation-start,.fi-page.fi-page-has-sub-navigation.fi-page-has-sub-navigation-end) .fi-page-main{flex-direction:row;align-items:flex-start}}.fi-page-header-main-ctn{row-gap:calc(var(--spacing)*8);padding-block:calc(var(--spacing)*8);flex-direction:column;display:flex}.fi-page-main-sub-navigation-mobile-menu-render-hook-ctn{display:contents}@media (min-width:48rem){.fi-page-main-sub-navigation-mobile-menu-render-hook-ctn{display:none}}.fi-page-content{row-gap:calc(var(--spacing)*8);flex:1;grid-auto-columns:minmax(0,1fr);display:grid}.fi-simple-page-content{row-gap:calc(var(--spacing)*6);grid-auto-columns:minmax(0,1fr);display:grid}.fi-sidebar-group{row-gap:calc(var(--spacing)*1);flex-direction:column;display:flex}.fi-sidebar-group.fi-collapsed .fi-sidebar-group-collapse-btn{rotate:-180deg}.fi-sidebar-group.fi-active .fi-sidebar-group-dropdown-trigger-btn .fi-icon{color:var(--primary-600)}.fi-sidebar-group.fi-active .fi-sidebar-group-dropdown-trigger-btn .fi-icon:where(.dark,.dark *){color:var(--primary-400)}.fi-sidebar-group-btn{align-items:center;column-gap:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);display:flex}.fi-sidebar-group-btn .fi-icon{color:var(--gray-400)}.fi-sidebar-group-btn .fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-sidebar-group-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-500);flex:1}.fi-sidebar-group-label:where(.dark,.dark *){color:var(--gray-400)}.fi-sidebar-group-dropdown-trigger-btn{justify-content:center;align-items:center;column-gap:calc(var(--spacing)*3);border-radius:var(--radius-lg);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);--tw-outline-style:none;outline-style:none;flex:1;display:flex;position:relative}@media (forced-colors:active){.fi-sidebar-group-dropdown-trigger-btn{outline-offset:2px;outline:2px solid #0000}}.fi-sidebar-group-dropdown-trigger-btn{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}@media (hover:hover){.fi-sidebar-group-dropdown-trigger-btn:hover{background-color:var(--gray-100)}}.fi-sidebar-group-dropdown-trigger-btn:focus-visible{background-color:var(--gray-100)}@media (hover:hover){.fi-sidebar-group-dropdown-trigger-btn:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-sidebar-group-dropdown-trigger-btn:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-sidebar-group-dropdown-trigger-btn:where(.dark,.dark *):focus-visible{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-sidebar-group-dropdown-trigger-btn:where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-sidebar-group-dropdown-trigger-btn .fi-icon{color:var(--gray-400)}.fi-sidebar-group-dropdown-trigger-btn .fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-sidebar-group-items{row-gap:calc(var(--spacing)*1);flex-direction:column;display:flex}:is(.fi-sidebar-group-btn,.fi-sidebar-group-items).fi-transition-enter{transition-delay:.1s}@media (min-width:64rem){:is(.fi-sidebar-group-btn,.fi-sidebar-group-items).fi-transition-enter{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:is(.fi-sidebar-group-btn,.fi-sidebar-group-items).fi-transition-enter-start{opacity:0}:is(.fi-sidebar-group-btn,.fi-sidebar-group-items).fi-transition-enter-end{opacity:1}.fi-sidebar{inset-block:calc(var(--spacing)*0);z-index:30;background-color:var(--color-white);height:100dvh;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));flex-direction:column;align-content:flex-start;display:flex;position:fixed;inset-inline-start:calc(var(--spacing)*0)}@media (min-width:64rem){.fi-sidebar{z-index:20;background-color:#0000;height:calc(100dvh - 4rem);transition-property:none;top:4rem}}.fi-sidebar:where(.dark,.dark *){background-color:var(--gray-900)}@media (min-width:64rem){.fi-sidebar:where(.dark,.dark *){background-color:#0000}}.fi-sidebar.fi-sidebar-open{width:var(--sidebar-width);--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-sidebar.fi-sidebar-open{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}@media (min-width:64rem){.fi-sidebar.fi-sidebar-open{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.fi-sidebar.fi-sidebar-open:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-sidebar.fi-sidebar-open:where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-sidebar.fi-sidebar-open:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-sidebar:not(.fi-sidebar-open){--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-sidebar:not(.fi-sidebar-open):where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-sidebar-close-overlay{inset:calc(var(--spacing)*0);z-index:30;background-color:var(--gray-950);position:fixed}@supports (color:color-mix(in lab, red, red)){.fi-sidebar-close-overlay{background-color:color-mix(in oklab,var(--gray-950)50%,transparent)}}.fi-sidebar-close-overlay{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.5s;transition-duration:.5s}@media (min-width:64rem){.fi-sidebar-close-overlay{display:none}}.fi-sidebar-close-overlay:where(.dark,.dark *){background-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-sidebar-close-overlay:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-950)75%,transparent)}}@media (min-width:64rem){.fi-body.fi-body-has-top-navigation .fi-sidebar{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-body.fi-body-has-top-navigation .fi-sidebar:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-body:not(.fi-body-has-top-navigation) .fi-sidebar.fi-sidebar-open,.fi-body:not(.fi-body-has-top-navigation).fi-body-has-sidebar-collapsible-on-desktop .fi-sidebar:not(.fi-sidebar-open){position:sticky}.fi-body:not(.fi-body-has-top-navigation).fi-body-has-sidebar-collapsible-on-desktop .fi-sidebar:not(.fi-sidebar-open),.fi-body:not(.fi-body-has-top-navigation).fi-body-has-sidebar-collapsible-on-desktop .fi-sidebar:not(.fi-sidebar-open):where(:dir(rtl),[dir=rtl],[dir=rtl] *),.fi-body:not(.fi-body-has-top-navigation):not(.fi-body-has-sidebar-collapsible-on-desktop):not(.fi-body-has-sidebar-fully-collapsible-on-desktop) .fi-sidebar,.fi-body:not(.fi-body-has-top-navigation):not(.fi-body-has-sidebar-collapsible-on-desktop):not(.fi-body-has-sidebar-fully-collapsible-on-desktop) .fi-sidebar:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}}.fi-body:not(.fi-body-has-top-navigation):not(.fi-body-has-sidebar-collapsible-on-desktop):not(.fi-body-has-sidebar-fully-collapsible-on-desktop) .fi-sidebar:not(.fi-sidebar-open){width:var(--sidebar-width)}@media (min-width:64rem){.fi-body:not(.fi-body-has-top-navigation):not(.fi-body-has-sidebar-collapsible-on-desktop):not(.fi-body-has-sidebar-fully-collapsible-on-desktop) .fi-sidebar:not(.fi-sidebar-open){position:sticky}}.fi-body.fi-body-has-sidebar-collapsible-on-desktop .fi-sidebar-nav-tenant-menu-ctn,.fi-body:not(.fi-body-has-sidebar-collapsible-on-desktop) .fi-sidebar.fi-sidebar-open .fi-sidebar-nav-tenant-menu-ctn{margin-inline:calc(var(--spacing)*-2)}.fi-body:not(.fi-body-has-sidebar-collapsible-on-desktop) .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-nav-tenant-menu-ctn{margin-inline:calc(var(--spacing)*-4)}.fi-sidebar-header-ctn{overflow-x:clip}@media (min-width:64rem){.fi-sidebar-header-ctn{display:none}}.fi-sidebar-header{height:calc(var(--spacing)*16);background-color:var(--color-white);padding-inline:calc(var(--spacing)*6);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.fi-sidebar-header{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}@media (min-width:64rem){.fi-sidebar-header{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.fi-sidebar-header:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-sidebar-header:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-sidebar-nav{row-gap:calc(var(--spacing)*7);padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*8);scrollbar-gutter:stable;flex-direction:column;flex-grow:1;display:flex;overflow:hidden auto}.fi-sidebar-nav-groups{margin-inline:calc(var(--spacing)*-2);row-gap:calc(var(--spacing)*7);flex-direction:column;display:flex}.fi-sidebar-item.fi-active,.fi-sidebar-item.fi-sidebar-item-has-active-child-items{row-gap:calc(var(--spacing)*1);flex-direction:column;display:flex}.fi-sidebar-item.fi-active>.fi-sidebar-item-btn{background-color:var(--gray-100)}.fi-sidebar-item.fi-active>.fi-sidebar-item-btn:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-sidebar-item.fi-active>.fi-sidebar-item-btn:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-sidebar-item.fi-active>.fi-sidebar-item-btn>.fi-icon{color:var(--primary-600)}.fi-sidebar-item.fi-active>.fi-sidebar-item-btn>.fi-icon:where(.dark,.dark *){color:var(--primary-400)}.fi-sidebar-item.fi-active>.fi-sidebar-item-btn>.fi-sidebar-item-grouped-border>.fi-sidebar-item-grouped-border-part{background-color:var(--primary-600)}.fi-sidebar-item.fi-active>.fi-sidebar-item-btn>.fi-sidebar-item-grouped-border>.fi-sidebar-item-grouped-border-part:where(.dark,.dark *){background-color:var(--primary-400)}.fi-sidebar-item.fi-active>.fi-sidebar-item-btn>.fi-sidebar-item-label{color:var(--primary-600)}.fi-sidebar-item.fi-active>.fi-sidebar-item-btn>.fi-sidebar-item-label:where(.dark,.dark *){color:var(--primary-400)}.fi-sidebar-item.fi-active>.fi-sidebar-item-btn .fi-sidebar-item-grouped-border-part{height:calc(var(--spacing)*1.5);width:calc(var(--spacing)*1.5);border-radius:3.40282e38px;position:relative}@media (hover:hover){.fi-sidebar-item.fi-sidebar-item-has-url>.fi-sidebar-item-btn:hover{background-color:var(--gray-100)}}.fi-sidebar-item.fi-sidebar-item-has-url>.fi-sidebar-item-btn:focus-visible{background-color:var(--gray-100)}@media (hover:hover){.fi-sidebar-item.fi-sidebar-item-has-url>.fi-sidebar-item-btn:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-sidebar-item.fi-sidebar-item-has-url>.fi-sidebar-item-btn:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-sidebar-item.fi-sidebar-item-has-url>.fi-sidebar-item-btn:where(.dark,.dark *):focus-visible{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-sidebar-item.fi-sidebar-item-has-url>.fi-sidebar-item-btn:where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-sidebar-item-btn{justify-content:center;align-items:center;column-gap:calc(var(--spacing)*3);border-radius:var(--radius-lg);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);--tw-outline-style:none;outline-style:none;display:flex;position:relative}@media (forced-colors:active){.fi-sidebar-item-btn{outline-offset:2px;outline:2px solid #0000}}.fi-sidebar-item-btn{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}.fi-sidebar-item-btn>.fi-icon{color:var(--gray-400)}.fi-sidebar-item-btn>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-sidebar-item-grouped-border{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6);justify-content:center;align-items:center;display:flex;position:relative}.fi-sidebar-item-grouped-border-part-not-first{background-color:var(--gray-300);width:1px;position:absolute;top:-50%;bottom:50%}.fi-sidebar-item-grouped-border-part-not-first:where(.dark,.dark *){background-color:var(--gray-600)}.fi-sidebar-item-grouped-border-part-not-last{background-color:var(--gray-300);width:1px;position:absolute;top:50%;bottom:-50%}.fi-sidebar-item-grouped-border-part-not-last:where(.dark,.dark *){background-color:var(--gray-600)}.fi-sidebar-item-grouped-border-part{height:calc(var(--spacing)*1.5);width:calc(var(--spacing)*1.5);background-color:var(--gray-400);border-radius:3.40282e38px;position:relative}.fi-sidebar-item-grouped-border-part:where(.dark,.dark *){background-color:var(--gray-500)}.fi-sidebar-item-label{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-700);flex:1;overflow:hidden}.fi-sidebar-item-label:where(.dark,.dark *){color:var(--gray-200)}@media (min-width:64rem){:is(.fi-sidebar-item-label,.fi-sidebar-item-badge-ctn).fi-transition-enter{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));transition-delay:.1s}}:is(.fi-sidebar-item-label,.fi-sidebar-item-badge-ctn).fi-transition-enter-start{opacity:0}:is(.fi-sidebar-item-label,.fi-sidebar-item-badge-ctn).fi-transition-enter-end{opacity:1}.fi-sidebar-sub-group-items{row-gap:calc(var(--spacing)*1);flex-direction:column;display:flex}.fi-tenant-menu-trigger{justify-content:center;align-items:center;column-gap:calc(var(--spacing)*3);border-radius:var(--radius-lg);width:100%;padding:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-outline-style:none;outline-style:none;display:flex}@media (forced-colors:active){.fi-tenant-menu-trigger{outline-offset:2px;outline:2px solid #0000}}.fi-tenant-menu-trigger{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}@media (hover:hover){.fi-tenant-menu-trigger:hover{background-color:var(--gray-100)}}.fi-tenant-menu-trigger:focus-visible{background-color:var(--gray-100)}@media (hover:hover){.fi-tenant-menu-trigger:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-tenant-menu-trigger:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-tenant-menu-trigger:where(.dark,.dark *):focus-visible{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-tenant-menu-trigger:where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-tenant-menu-trigger .fi-tenant-avatar{flex-shrink:0}.fi-tenant-menu-trigger .fi-icon{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5);color:var(--gray-400);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;flex-shrink:0;margin-inline-start:auto;transition-duration:75ms}@media (hover:hover){.fi-tenant-menu-trigger .fi-icon:is(:where(.group):hover *){color:var(--gray-500)}}.fi-tenant-menu-trigger .fi-icon:is(:where(.group):focus-visible *),.fi-tenant-menu-trigger .fi-icon:where(.dark,.dark *){color:var(--gray-500)}@media (hover:hover){.fi-tenant-menu-trigger .fi-icon:where(.dark,.dark *):is(:where(.group):hover *){color:var(--gray-400)}}.fi-tenant-menu-trigger .fi-icon:where(.dark,.dark *):is(:where(.group):focus-visible *){color:var(--gray-400)}.fi-tenant-menu-trigger:hover .fi-icon{color:var(--gray-500)}.fi-tenant-menu-trigger:hover .fi-icon:where(.dark,.dark *){color:var(--gray-400)}.fi-tenant-menu-trigger:focus-visible .fi-icon{color:var(--gray-500)}.fi-tenant-menu-trigger:focus-visible .fi-icon:where(.dark,.dark *){color:var(--gray-400)}.fi-tenant-menu-trigger-text{text-align:start;justify-items:start;display:grid}.fi-tenant-menu-trigger-current-tenant-label{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--gray-500)}.fi-tenant-menu-trigger-current-tenant-label:where(.dark,.dark *){color:var(--gray-400)}.fi-tenant-menu-trigger-tenant-name{color:var(--gray-950)}.fi-tenant-menu-trigger-tenant-name:where(.dark,.dark *){color:var(--color-white)}.fi-theme-switcher{column-gap:calc(var(--spacing)*1);grid-auto-flow:column;display:grid}.fi-theme-switcher-btn{border-radius:var(--radius-md);padding:calc(var(--spacing)*2);--tw-outline-style:none;outline-style:none;justify-content:center;display:flex}@media (forced-colors:active){.fi-theme-switcher-btn{outline-offset:2px;outline:2px solid #0000}}.fi-theme-switcher-btn{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}@media (hover:hover){.fi-theme-switcher-btn:hover{background-color:var(--gray-50)}}.fi-theme-switcher-btn:focus-visible{background-color:var(--gray-50)}@media (hover:hover){.fi-theme-switcher-btn:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-theme-switcher-btn:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-theme-switcher-btn:where(.dark,.dark *):focus-visible{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-theme-switcher-btn:where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-theme-switcher-btn.fi-active{background-color:var(--gray-50);color:var(--primary-500)}.fi-theme-switcher-btn.fi-active:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-theme-switcher-btn.fi-active:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-theme-switcher-btn.fi-active:where(.dark,.dark *){color:var(--primary-400)}.fi-theme-switcher-btn:not(.fi-active){color:var(--gray-400)}@media (hover:hover){.fi-theme-switcher-btn:not(.fi-active):hover{color:var(--gray-500)}}.fi-theme-switcher-btn:not(.fi-active):focus-visible,.fi-theme-switcher-btn:not(.fi-active):where(.dark,.dark *){color:var(--gray-500)}@media (hover:hover){.fi-theme-switcher-btn:not(.fi-active):where(.dark,.dark *):hover{color:var(--gray-400)}}.fi-theme-switcher-btn:not(.fi-active):where(.dark,.dark *):focus-visible{color:var(--gray-400)}.fi-topbar-ctn{top:calc(var(--spacing)*0);z-index:30;position:sticky;overflow-x:clip}.fi-topbar{min-height:calc(var(--spacing)*16);background-color:var(--color-white);padding-inline:calc(var(--spacing)*4);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950);align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.fi-topbar{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-topbar:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-topbar:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-topbar .fi-tenant-menu{display:none}@media (min-width:64rem){.fi-topbar .fi-tenant-menu{display:block}}.fi-topbar-open-sidebar-btn,.fi-topbar-close-sidebar-btn{margin-inline:calc(var(--spacing)*0)!important}@media (min-width:64rem){.fi-topbar-close-sidebar-btn{display:none}}.fi-topbar-open-collapse-sidebar-btn{margin-inline:calc(var(--spacing)*0)!important}.fi-topbar-close-collapse-sidebar-btn{display:none;margin-inline:calc(var(--spacing)*0)!important}@media (min-width:64rem){.fi-topbar-close-collapse-sidebar-btn{display:flex}}.fi-topbar-start{align-items:center;margin-inline-end:calc(var(--spacing)*6);display:none}@media (min-width:64rem){.fi-topbar-start{display:flex}}.fi-topbar-start .fi-logo{margin-inline-start:calc(var(--spacing)*3)}@media (min-width:64rem){:is(.fi-body.fi-body-has-sidebar-collapsible-on-desktop,.fi-body:not(.fi-body-has-sidebar-fully-collapsible-on-desktop)) .fi-topbar-open-sidebar-btn{display:none}}.fi-topbar-nav-groups{align-items:center;column-gap:calc(var(--spacing)*4);margin-inline-start:calc(var(--spacing)*4);margin-inline-end:calc(var(--spacing)*4);display:none}@media (min-width:64rem){.fi-topbar-nav-groups{margin-block:calc(var(--spacing)*2);row-gap:calc(var(--spacing)*1);flex-wrap:wrap;display:flex}}.fi-topbar-end{align-items:center;column-gap:calc(var(--spacing)*4);margin-inline-start:auto;display:flex}.fi-topbar-item-btn{justify-content:center;align-items:center;column-gap:calc(var(--spacing)*2);border-radius:var(--radius-lg);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);--tw-outline-style:none;outline-style:none;display:flex}@media (forced-colors:active){.fi-topbar-item-btn{outline-offset:2px;outline:2px solid #0000}}.fi-topbar-item-btn{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}@media (hover:hover){.fi-topbar-item-btn:hover{background-color:var(--gray-50)}}.fi-topbar-item-btn:focus-visible{background-color:var(--gray-50)}@media (hover:hover){.fi-topbar-item-btn:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-topbar-item-btn:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-topbar-item-btn:where(.dark,.dark *):focus-visible{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-topbar-item-btn:where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-topbar-item-btn>.fi-icon{color:var(--gray-400)}.fi-topbar-item-btn>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-topbar-item-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-700)}.fi-topbar-item-label:where(.dark,.dark *){color:var(--gray-200)}.fi-topbar-item.fi-active .fi-topbar-item-btn{background-color:var(--gray-50)}.fi-topbar-item.fi-active .fi-topbar-item-btn:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-topbar-item.fi-active .fi-topbar-item-btn:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-topbar-item.fi-active .fi-topbar-item-btn>.fi-icon{color:var(--primary-600)}.fi-topbar-item.fi-active .fi-topbar-item-btn>.fi-icon:where(.dark,.dark *){color:var(--primary-400)}.fi-topbar-item.fi-active .fi-topbar-item-label{color:var(--primary-600)}.fi-topbar-item.fi-active .fi-topbar-item-label:where(.dark,.dark *){color:var(--primary-400)}.fi-simple-user-menu-ctn{align-items:center;column-gap:calc(var(--spacing)*4);display:flex}.fi-user-menu-trigger{flex-shrink:0}.fi-account-widget .fi-section-content{align-items:center;column-gap:calc(var(--spacing)*3);display:flex}.fi-account-widget-logout-form{margin-block:auto}.fi-account-widget-main{flex:1}.fi-account-widget-heading{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950);flex:1;display:grid}.fi-account-widget-heading:where(.dark,.dark *){color:var(--color-white)}.fi-account-widget-user-name{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-account-widget-user-name:where(.dark,.dark *){color:var(--gray-400)}.fi-filament-info-widget .fi-section-content{align-items:center;column-gap:calc(var(--spacing)*3);display:flex}.fi-filament-info-widget-main{flex:1}.fi-filament-info-widget-logo{height:calc(var(--spacing)*5);color:var(--gray-950)}.fi-filament-info-widget-logo:where(.dark,.dark *){color:var(--color-white)}.fi-filament-info-widget-version{margin-top:calc(var(--spacing)*2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--gray-500)}.fi-filament-info-widget-version:where(.dark,.dark *){color:var(--gray-400)}.fi-filament-info-widget-links{align-items:flex-end;row-gap:calc(var(--spacing)*1);flex-direction:column;display:flex}}@layer utilities{.fi-color-danger{--color-50:var(--danger-50);--color-100:var(--danger-100);--color-200:var(--danger-200);--color-300:var(--danger-300);--color-400:var(--danger-400);--color-500:var(--danger-500);--color-600:var(--danger-600);--color-700:var(--danger-700);--color-800:var(--danger-800);--color-900:var(--danger-900);--color-950:var(--danger-950)}.fi-color-gray{--color-50:var(--gray-50);--color-100:var(--gray-100);--color-200:var(--gray-200);--color-300:var(--gray-300);--color-400:var(--gray-400);--color-500:var(--gray-500);--color-600:var(--gray-600);--color-700:var(--gray-700);--color-800:var(--gray-800);--color-900:var(--gray-900);--color-950:var(--gray-950)}.fi-color-info{--color-50:var(--info-50);--color-100:var(--info-100);--color-200:var(--info-200);--color-300:var(--info-300);--color-400:var(--info-400);--color-500:var(--info-500);--color-600:var(--info-600);--color-700:var(--info-700);--color-800:var(--info-800);--color-900:var(--info-900);--color-950:var(--info-950)}.fi-color-primary{--color-50:var(--primary-50);--color-100:var(--primary-100);--color-200:var(--primary-200);--color-300:var(--primary-300);--color-400:var(--primary-400);--color-500:var(--primary-500);--color-600:var(--primary-600);--color-700:var(--primary-700);--color-800:var(--primary-800);--color-900:var(--primary-900);--color-950:var(--primary-950)}.fi-color-success{--color-50:var(--success-50);--color-100:var(--success-100);--color-200:var(--success-200);--color-300:var(--success-300);--color-400:var(--success-400);--color-500:var(--success-500);--color-600:var(--success-600);--color-700:var(--success-700);--color-800:var(--success-800);--color-900:var(--success-900);--color-950:var(--success-950)}.fi-color-warning{--color-50:var(--warning-50);--color-100:var(--warning-100);--color-200:var(--warning-200);--color-300:var(--warning-300);--color-400:var(--warning-400);--color-500:var(--warning-500);--color-600:var(--warning-600);--color-700:var(--warning-700);--color-800:var(--warning-800);--color-900:var(--warning-900);--color-950:var(--warning-950)}.fi-bg-color-50{--bg:var(--color-50)}.fi-bg-color-100{--bg:var(--color-100)}.fi-bg-color-200{--bg:var(--color-200)}.fi-bg-color-300{--bg:var(--color-300)}.fi-bg-color-400{--bg:var(--color-400)}.fi-bg-color-500{--bg:var(--color-500)}.fi-bg-color-600{--bg:var(--color-600)}.fi-bg-color-700{--bg:var(--color-700)}.fi-bg-color-800{--bg:var(--color-800)}.fi-bg-color-900{--bg:var(--color-900)}.fi-bg-color-950{--bg:var(--color-950)}.hover\:fi-bg-color-50{--hover-bg:var(--color-50)}.hover\:fi-bg-color-100{--hover-bg:var(--color-100)}.hover\:fi-bg-color-200{--hover-bg:var(--color-200)}.hover\:fi-bg-color-300{--hover-bg:var(--color-300)}.hover\:fi-bg-color-400{--hover-bg:var(--color-400)}.hover\:fi-bg-color-500{--hover-bg:var(--color-500)}.hover\:fi-bg-color-600{--hover-bg:var(--color-600)}.hover\:fi-bg-color-700{--hover-bg:var(--color-700)}.hover\:fi-bg-color-800{--hover-bg:var(--color-800)}.hover\:fi-bg-color-900{--hover-bg:var(--color-900)}.hover\:fi-bg-color-950{--hover-bg:var(--color-950)}.dark\:fi-bg-color-50{--dark-bg:var(--color-50)}.dark\:fi-bg-color-100{--dark-bg:var(--color-100)}.dark\:fi-bg-color-200{--dark-bg:var(--color-200)}.dark\:fi-bg-color-300{--dark-bg:var(--color-300)}.dark\:fi-bg-color-400{--dark-bg:var(--color-400)}.dark\:fi-bg-color-500{--dark-bg:var(--color-500)}.dark\:fi-bg-color-600{--dark-bg:var(--color-600)}.dark\:fi-bg-color-700{--dark-bg:var(--color-700)}.dark\:fi-bg-color-800{--dark-bg:var(--color-800)}.dark\:fi-bg-color-900{--dark-bg:var(--color-900)}.dark\:fi-bg-color-950{--dark-bg:var(--color-950)}.dark\:hover\:fi-bg-color-50{--dark-hover-bg:var(--color-50)}.dark\:hover\:fi-bg-color-100{--dark-hover-bg:var(--color-100)}.dark\:hover\:fi-bg-color-200{--dark-hover-bg:var(--color-200)}.dark\:hover\:fi-bg-color-300{--dark-hover-bg:var(--color-300)}.dark\:hover\:fi-bg-color-400{--dark-hover-bg:var(--color-400)}.dark\:hover\:fi-bg-color-500{--dark-hover-bg:var(--color-500)}.dark\:hover\:fi-bg-color-600{--dark-hover-bg:var(--color-600)}.dark\:hover\:fi-bg-color-700{--dark-hover-bg:var(--color-700)}.dark\:hover\:fi-bg-color-800{--dark-hover-bg:var(--color-800)}.dark\:hover\:fi-bg-color-900{--dark-hover-bg:var(--color-900)}.dark\:hover\:fi-bg-color-950{--dark-hover-bg:var(--color-950)}.fi-text-color-0{--text:oklch(100% 0 0)}.fi-text-color-50{--text:var(--color-50)}.fi-text-color-100{--text:var(--color-100)}.fi-text-color-200{--text:var(--color-200)}.fi-text-color-300{--text:var(--color-300)}.fi-text-color-400{--text:var(--color-400)}.fi-text-color-500{--text:var(--color-500)}.fi-text-color-600{--text:var(--color-600)}.fi-text-color-700{--text:var(--color-700)}.fi-text-color-800{--text:var(--color-800)}.fi-text-color-900{--text:var(--color-900)}.fi-text-color-950{--text:var(--color-950)}.hover\:fi-text-color-0{--hover-text:oklch(100% 0 0)}.hover\:fi-text-color-50{--hover-text:var(--color-50)}.hover\:fi-text-color-100{--hover-text:var(--color-100)}.hover\:fi-text-color-200{--hover-text:var(--color-200)}.hover\:fi-text-color-300{--hover-text:var(--color-300)}.hover\:fi-text-color-400{--hover-text:var(--color-400)}.hover\:fi-text-color-500{--hover-text:var(--color-500)}.hover\:fi-text-color-600{--hover-text:var(--color-600)}.hover\:fi-text-color-700{--hover-text:var(--color-700)}.hover\:fi-text-color-800{--hover-text:var(--color-800)}.hover\:fi-text-color-900{--hover-text:var(--color-900)}.hover\:fi-text-color-950{--hover-text:var(--color-950)}.dark\:fi-text-color-0{--dark-text:oklch(100% 0 0)}.dark\:fi-text-color-50{--dark-text:var(--color-50)}.dark\:fi-text-color-100{--dark-text:var(--color-100)}.dark\:fi-text-color-200{--dark-text:var(--color-200)}.dark\:fi-text-color-300{--dark-text:var(--color-300)}.dark\:fi-text-color-400{--dark-text:var(--color-400)}.dark\:fi-text-color-500{--dark-text:var(--color-500)}.dark\:fi-text-color-600{--dark-text:var(--color-600)}.dark\:fi-text-color-700{--dark-text:var(--color-700)}.dark\:fi-text-color-800{--dark-text:var(--color-800)}.dark\:fi-text-color-900{--dark-text:var(--color-900)}.dark\:fi-text-color-950{--dark-text:var(--color-950)}.dark\:hover\:fi-text-color-0{--dark-hover-text:oklch(100% 0 0)}.dark\:hover\:fi-text-color-50{--dark-hover-text:var(--color-50)}.dark\:hover\:fi-text-color-100{--dark-hover-text:var(--color-100)}.dark\:hover\:fi-text-color-200{--dark-hover-text:var(--color-200)}.dark\:hover\:fi-text-color-300{--dark-hover-text:var(--color-300)}.dark\:hover\:fi-text-color-400{--dark-hover-text:var(--color-400)}.dark\:hover\:fi-text-color-500{--dark-hover-text:var(--color-500)}.dark\:hover\:fi-text-color-600{--dark-hover-text:var(--color-600)}.dark\:hover\:fi-text-color-700{--dark-hover-text:var(--color-700)}.dark\:hover\:fi-text-color-800{--dark-hover-text:var(--color-800)}.dark\:hover\:fi-text-color-900{--dark-hover-text:var(--color-900)}.dark\:hover\:fi-text-color-950{--dark-hover-text:var(--color-950)}.fi-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fi-prose{--prose-color:var(--color-gray-700);--prose-heading-color:var(--color-gray-950);--prose-strong-color:var(--color-gray-950);--prose-link-color:var(--color-gray-950);--prose-code-color:var(--color-gray-950);--prose-marker-color:var(--color-gray-700)}@supports (color:color-mix(in lab, red, red)){.fi-prose{--prose-marker-color:color-mix(in oklab,var(--color-gray-700)25%,transparent)}}.fi-prose{--prose-link-underline-color:var(--color-primary-400);--prose-th-borders:var(--color-gray-300);--prose-td-borders:var(--color-gray-200);--prose-hr-color:var(--color-gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-prose{--prose-hr-color:color-mix(in oklab,var(--color-gray-950)5%,transparent)}}.fi-prose{--prose-blockquote-border-color:var(--color-gray-300);--prose-pre-bg:var(--color-gray-100)}.fi-prose:where(.dark,.dark *){--prose-color:var(--color-gray-300);--prose-heading-color:var(--color-white);--prose-strong-color:var(--color-white);--prose-link-color:var(--color-white);--prose-code-color:var(--color-white);--prose-marker-color:var(--color-gray-300)}@supports (color:color-mix(in lab, red, red)){.fi-prose:where(.dark,.dark *){--prose-marker-color:color-mix(in oklab,var(--color-gray-300)35%,transparent)}}.fi-prose:where(.dark,.dark *){--prose-link-underline-color:var(--color-sky-400);--prose-th-borders:var(--color-gray-600);--prose-td-borders:var(--color-gray-700);--prose-hr-color:oklab(100% 0 5.96046e-8/.1)}@supports (color:color-mix(in lab, red, red)){.fi-prose:where(.dark,.dark *){--prose-hr-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-prose:where(.dark,.dark *){--prose-blockquote-border-color:var(--color-gray-600);--prose-pre-bg:var(--color-gray-900)}@supports (color:color-mix(in lab, red, red)){.fi-prose:where(.dark,.dark *){--prose-pre-bg:color-mix(in oklab,var(--color-gray-900)40%,transparent)}}.fi-prose{color:var(--prose-color);font-size:var(--text-sm);line-height:1.5}.fi-prose :where(:not(.fi-not-prose,.fi-not-prose *))+:where(:not(.fi-not-prose,.fi-not-prose *)){margin-top:calc(var(--spacing)*4)}.fi-prose h1:where(:not(.fi-not-prose,.fi-not-prose *)){font-size:var(--text-xl);letter-spacing:-.025em;color:var(--prose-code-color);line-height:1.55556;font-weight:var(--font-weight-bold)}.fi-prose h2:where(:not(.fi-not-prose,.fi-not-prose *)){font-size:var(--text-lg);letter-spacing:-.025em;color:var(--prose-code-color);line-height:1.55556;font-weight:var(--font-weight-semibold)}.fi-prose h3:where(:not(.fi-not-prose,.fi-not-prose *)){font-size:var(--text-base);color:var(--prose-heading-color);line-height:1.55556;font-weight:var(--font-weight-semibold)}.fi-prose h4:where(:not(.fi-not-prose,.fi-not-prose *)),.fi-prose h5:where(:not(.fi-not-prose,.fi-not-prose *)),.fi-prose h6:where(:not(.fi-not-prose,.fi-not-prose *)){font-size:var(--text-sm);color:var(--prose-heading-color);line-height:2;font-weight:var(--font-weight-semibold)}.fi-prose :is(h2,h3,h4,h5,h6):where(:not(.fi-not-prose,.fi-not-prose *)){scroll-margin-top:calc(var(--spacing)*32)}@media (min-width:64rem){.fi-prose :is(h2,h3,h4,h5,h6):where(:not(.fi-not-prose,.fi-not-prose *)){scroll-margin-top:calc(var(--spacing)*18)}}.fi-prose ol:where(:not(.fi-not-prose,.fi-not-prose *)){padding-inline-start:calc(var(--spacing)*6);list-style-type:decimal}.fi-prose ul:where(:not(.fi-not-prose,.fi-not-prose *)){padding-inline-start:calc(var(--spacing)*6);list-style-type:disc}.fi-prose ol li:where(:not(.fi-not-prose,.fi-not-prose *)),.fi-prose ul li:where(:not(.fi-not-prose,.fi-not-prose *)){padding-inline-start:calc(var(--spacing)*3)}.fi-prose ol li+li:where(:not(.fi-not-prose,.fi-not-prose *)),.fi-prose ul li+li:where(:not(.fi-not-prose,.fi-not-prose *)){margin-top:calc(var(--spacing)*4)}.fi-prose ol li:where(:not(.fi-not-prose,.fi-not-prose *))::marker{color:var(--prose-marker-color)}.fi-prose ul li:where(:not(.fi-not-prose,.fi-not-prose *))::marker{color:var(--prose-marker-color)}.fi-prose a:not(:where(:is(h2,h3,h4,h5,h6) *)):where(:not(.fi-not-prose,.fi-not-prose *)){color:var(--prose-link-color);font-weight:var(--font-weight-semibold);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--prose-link-underline-color);-webkit-text-decoration-color:var(--prose-link-underline-color);text-decoration-color:var(--prose-link-underline-color);text-decoration-thickness:1px}.fi-prose a:not(:where(:is(h2,h3,h4,h5,h6) *)):where(:not(.fi-not-prose,.fi-not-prose *)) code{font-weight:var(--font-weight-semibold)}.fi-prose a:hover:where(:not(.fi-not-prose,.fi-not-prose *)){text-decoration-thickness:2px}.fi-prose strong:where(:not(.fi-not-prose,.fi-not-prose *)){color:var(--prose-strong-color);font-weight:var(--font-weight-semibold)}.fi-prose code:where(:not(.fi-not-prose,.fi-not-prose *)){font-variant-ligatures:none;font-family:var(--font-mono);font-weight:var(--font-weight-medium);color:var(--prose-code-color)}.fi-prose :where(h2,h3,h4,h5,h6) code:where(:not(.fi-not-prose,.fi-not-prose *)){font-weight:var(--font-weight-semibold)}.fi-prose code:where(:not(.fi-not-prose,.fi-not-prose *)):before,.fi-prose code:where(:not(.fi-not-prose,.fi-not-prose *)):after{content:"`";display:inline}.fi-prose pre:where(:not(.fi-not-prose,.fi-not-prose *)){margin-top:calc(var(--spacing)*4);margin-bottom:calc(var(--spacing)*10);border-radius:var(--radius-lg);padding-top:calc(var(--spacing)*3);padding-inline-end:calc(var(--spacing)*4);padding-bottom:calc(var(--spacing)*3);background-color:var(--prose-pre-bg);padding-inline-start:calc(var(--spacing)*4)}.fi-prose pre code *+:where(:not(.fi-not-prose,.fi-not-prose *)){margin-top:0}.fi-prose pre code:where(:not(.fi-not-prose,.fi-not-prose *)):before,.fi-prose pre code:where(:not(.fi-not-prose,.fi-not-prose *)):after{content:none}.fi-prose pre code:where(:not(.fi-not-prose,.fi-not-prose *)){font-variant-ligatures:none;font-family:var(--font-mono);font-size:var(--text-sm);line-height:2}.fi-prose table:where(:not(.fi-not-prose,.fi-not-prose *)){table-layout:auto;width:100%;font-size:var(--text-sm);margin-top:2em;margin-bottom:2em;line-height:1.4}.fi-prose thead:where(:not(.fi-not-prose,.fi-not-prose *)){border-bottom-width:1px;border-bottom-color:var(--prose-th-borders)}.fi-prose thead th:where(:not(.fi-not-prose,.fi-not-prose *)){color:var(--prose-heading-color);vertical-align:bottom;padding-inline-end:.6em;padding-bottom:.8em;padding-inline-start:.6em;font-weight:600}.fi-prose thead th:first-child:where(:not(.fi-not-prose,.fi-not-prose *)){padding-inline-start:0}.fi-prose thead th:last-child:where(:not(.fi-not-prose,.fi-not-prose *)){padding-inline-end:0}.fi-prose tbody tr:where(:not(.fi-not-prose,.fi-not-prose *)){border-bottom-width:1px;border-bottom-color:var(--prose-td-borders)}.fi-prose tbody tr:last-child:where(:not(.fi-not-prose,.fi-not-prose *)){border-bottom-width:0}.fi-prose tbody td:where(:not(.fi-not-prose,.fi-not-prose *)){vertical-align:baseline}.fi-prose tfoot:where(:not(.fi-not-prose,.fi-not-prose *)){border-top-width:1px;border-top-color:var(--prose-th-borders)}.fi-prose tfoot td:where(:not(.fi-not-prose,.fi-not-prose *)){vertical-align:top}.fi-prose tbody td:where(:not(.fi-not-prose,.fi-not-prose *)),.fi-prose tfoot td:where(:not(.fi-not-prose,.fi-not-prose *)){padding-top:.8em;padding-inline-end:.6em;padding-bottom:.8em;padding-inline-start:.6em}.fi-prose tbody td:first-child:where(:not(.fi-not-prose,.fi-not-prose *)),.fi-prose tfoot td:first-child:where(:not(.fi-not-prose,.fi-not-prose *)){padding-inline-start:0}.fi-prose tbody td:last-child:where(:not(.fi-not-prose,.fi-not-prose *)),.fi-prose tfoot td:last-child:where(:not(.fi-not-prose,.fi-not-prose *)){padding-inline-end:0}.fi-prose th:where(:not(.fi-not-prose,.fi-not-prose *)),.fi-prose td:where(:not(.fi-not-prose,.fi-not-prose *)){text-align:start}.fi-prose td code:where(:not(.fi-not-prose,.fi-not-prose *)){font-size:.8125rem}.fi-prose hr:where(:not(.fi-not-prose,.fi-not-prose *)){border-color:var(--prose-hr-color);margin-block:calc(var(--spacing)*8)}.fi-prose hr:where(:not(.fi-not-prose,.fi-not-prose *))+h2{margin-top:calc(var(--spacing)*8)}.fi-prose blockquote{border-inline-start-width:.25rem;border-inline-start-color:var(--prose-blockquote-border-color);padding-inline-start:calc(var(--spacing)*4);font-style:italic}.fi-prose blockquote p:first-of-type:before{content:open-quote}.fi-prose blockquote p:last-of-type:after{content:close-quote}.fi-prose figure:where(:not(.fi-not-prose,.fi-not-prose *)) figcaption:where(:not(.fi-not-prose,.fi-not-prose *)){margin-top:calc(var(--spacing)*3);text-align:center;font-size:var(--text-sm);line-height:var(--text-sm--line-height);color:var(--prose-color);font-style:italic}@supports (color:color-mix(in lab, red, red)){.fi-prose figure:where(:not(.fi-not-prose,.fi-not-prose *)) figcaption:where(:not(.fi-not-prose,.fi-not-prose *)){color:color-mix(in oklab,var(--prose-color)75%,transparent)}}.fi-prose :first-child:where(:not(.fi-not-prose,.fi-not-prose *)){margin-top:0}.fi-prose :last-child:where(:not(.fi-not-prose,.fi-not-prose *)){margin-bottom:0}.fi-prose .lead:where(:not(.fi-not-prose,.fi-not-prose *)){font-size:var(--text-base)}}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-ease{syntax:"*";inherits:false}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}} \ No newline at end of file diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..236fadb94188e9189807c50aa8480b3070a0cc8d GIT binary patch literal 4286 zcmcJSYiv|S6vqb^Sj9>!kD_?#USEjFuB*k05m`ulKhQ)0{ZR3Nj~ES!#h9qrHiD>$ zFCbA83#r6d--z!Q-dZre@B@j4kBxrw(=r7ZdN&YYP!=ggUN z&s>a|z(3zN`fK`{jA=H;%m+kf8A$GajE&{z=dAJbc7mU^S=a@A(CVLujIm?&L%;DC zLe@6JdI;b*I0WCqqi~9wGmd_s)3`n7>{QyT;Y-k-FM>{Z23kR}*bD8AB1Y}dT<%4|D*yFG{ipz1dZ-md_9asjFVAL*Xjeow=eI@kwWU_SmSU;ft*cgCUqSjPbCwmKa-bR^DI`k=CZ?Ca;^-d5Ll<&7I3$q~lW zumU~>#c()c$ zznq=I*j4Zy`~=s7e6N}x_jxK`Zh-@E10+?J+sM~|@>qVCnUcYu{D&HP^q=+0M}32-cM_!3Ciyi+W;gJQ1O$7`Uq{%qEf zQ&BAEGXHHD1l564qg*VjMHc7h8MJr9F#HPgp`07>0%S*IU-OwO9s`}T@>+3T1B!b* zKArZ1un%4W-3_mTYTL(f9k{v?=^U+ny>m|ylSw>PH%q64pG5ofa4((kv;&-?dWdAkLy`uhG@CDoiOQ8?+ z9kmLbnp3s^M6T<5NBhy**WqFab58X;{Fc}ICS9`EhD_t_k?aMYs+oF+X2x}$w)C!s zub>y+giUTd`u=o2$VPbg%w}A5K=FGP&VnVNeaN?!pjv4BMJ}c{)BXz-le3+UDBqmk zP^aQH6SlzLumSXcGEJ%aDelxC<@f^F20w!KrQDna?i}Mq^k;zX6#3f)bNvO(k)BF^ zHzB_V0(cothr0F?dSz!aw81>*Q(|8=^W<+HdO$YTVt*Rwysv=|;RCn=q%&SVZcpiq z>|ITJ5A23ruovR@SbG{bo3)A(@mAf`d#C(4&3${+iCyjbvGi?Vt?lZx!zN>grl)PO zquU0hL7OTS3ys0yLdGmDv^2C7yp|~iFVkJ{(t`!Bd#K + + diff --git a/public/fonts/filament/filament/inter/index.css b/public/fonts/filament/filament/inter/index.css new file mode 100644 index 0000000..bd6c453 --- /dev/null +++ b/public/fonts/filament/filament/inter/index.css @@ -0,0 +1 @@ +@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-cyrillic-ext-wght-normal-ASVAGXXE.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-cyrillic-wght-normal-EWLSKVKN.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-greek-ext-wght-normal-7GGTF7EK.woff2") format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-greek-wght-normal-N43DBLU2.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-vietnamese-wght-normal-CE5GGD3W.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-latin-ext-wght-normal-HA22NDSG.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-latin-wght-normal-NRMW37G5.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD} diff --git a/public/fonts/filament/filament/inter/inter-cyrillic-ext-wght-normal-ASVAGXXE.woff2 b/public/fonts/filament/filament/inter/inter-cyrillic-ext-wght-normal-ASVAGXXE.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..0ba164bb6d523043af8acafd7a67d0a894861eba GIT binary patch literal 25888 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
    g5R3DOxs0+0bkTxS9x^CG=A**mRwF6 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 literal 0 HcmV?d00001 diff --git a/public/fonts/filament/filament/inter/inter-cyrillic-wght-normal-R5CMSONN.woff2 b/public/fonts/filament/filament/inter/inter-cyrillic-wght-normal-R5CMSONN.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b655a438842b6890ff66d98ecfc76a04de64b15a GIT binary patch literal 17600 zcmV)AK*YayPew8T0RR9107Sq56951J0EVCd07Os#0RR9100000000000000000000 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 CAH|aZ literal 0 HcmV?d00001 diff --git a/public/fonts/filament/filament/inter/inter-greek-wght-normal-AXVTPQD5.woff2 b/public/fonts/filament/filament/inter/inter-greek-wght-normal-AXVTPQD5.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..eb38b38ea077b5d58f9c998955e33c8974eb527f GIT binary patch literal 22480 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 literal 0 HcmV?d00001 diff --git a/public/fonts/filament/filament/inter/inter-greek-wght-normal-N43DBLU2.woff2 b/public/fonts/filament/filament/inter/inter-greek-wght-normal-N43DBLU2.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..907b4a4d7a5e0f892208ad307f2fb002050915d8 GIT binary patch literal 19072 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 DtJuek literal 0 HcmV?d00001 diff --git a/public/fonts/filament/filament/inter/inter-latin-ext-wght-normal-5SRY4DMZ.woff2 b/public/fonts/filament/filament/inter/inter-latin-ext-wght-normal-5SRY4DMZ.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..887153b8164dc5817d26d565eebe9034ba101f7d GIT binary patch literal 74328 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ΞUy!Y{^Fo#)z}V%y^N`d( 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 Ey-(EW*Z=?k literal 0 HcmV?d00001 diff --git a/public/fonts/filament/filament/inter/inter-latin-ext-wght-normal-GZCIV3NH.woff2 b/public/fonts/filament/filament/inter/inter-latin-ext-wght-normal-GZCIV3NH.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..3df865d7f007da9783223387e875bfc1b6f48c0d GIT binary patch literal 79940 zcmV)YK&-!aPew8T0RR910XRee6951J0?Hf!0XNYA0RR9100000000000000000000 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

    lPo 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 uSC)aGdSCIF5~FKiJA3WJRdg3~Gs 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 literal 0 HcmV?d00001 diff --git a/public/fonts/filament/filament/inter/inter-latin-wght-normal-NRMW37G5.woff2 b/public/fonts/filament/filament/inter/inter-latin-wght-normal-NRMW37G5.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..d15208de03cd1ad7c5199f0a0ce915fe841e4722 GIT binary patch literal 48256 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∾Na#*TBTU(!jF?9zmR-!C*+RdvGrd0&{`| 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 N2D$e+|L^@6X8`S>M5F)! literal 0 HcmV?d00001 diff --git a/public/fonts/filament/filament/inter/inter-latin-wght-normal-OPIJAQLS.woff2 b/public/fonts/filament/filament/inter/inter-latin-wght-normal-OPIJAQLS.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..40255432a3c6104bf0a82574eaa1d754ec55ab67 GIT binary patch literal 46704 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 Ang9R* literal 0 HcmV?d00001 diff --git a/public/fonts/filament/filament/inter/inter-vietnamese-wght-normal-CE5GGD3W.woff2 b/public/fonts/filament/filament/inter/inter-vietnamese-wght-normal-CE5GGD3W.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a40c4699cb23a398332b639e0cb2291499943e11 GIT binary patch literal 10252 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 u+1=1y@x~Z{;DoZ$HX { + self.skipWaiting(); +}); + +self.addEventListener('activate', (event) => { + event.waitUntil(self.clients.claim()); +}); + +self.addEventListener('fetch', (event) => { + const req = event.request; + if (req.method !== 'GET' || !req.url.startsWith(self.location.origin)) return; + event.respondWith((async () => { + const cache = await caches.open('guest-runtime'); + const cached = await cache.match(req); + if (cached) return cached; + try { + const res = await fetch(req); + // Cache static assets and images + const ct = res.headers.get('content-type') || ''; + if (res.ok && (ct.includes('text/css') || ct.includes('javascript') || ct.startsWith('image/'))) { + cache.put(req, res.clone()); + } + return res; + } catch (e) { + return cached || new Response('Offline', { status: 503 }); + } + })()); +}); + +self.addEventListener('sync', (event) => { + if (event.tag === 'upload-queue') { + event.waitUntil( + (async () => { + const clients = await self.clients.matchAll({ includeUncontrolled: true, type: 'window' }); + for (const client of clients) { + client.postMessage({ type: 'sync-queue' }); + } + })() + ); + } +}); diff --git a/public/index.php b/public/index.php new file mode 100644 index 0000000..ee8f07e --- /dev/null +++ b/public/index.php @@ -0,0 +1,20 @@ +handleRequest(Request::capture()); diff --git a/public/js/filament/actions/actions.js b/public/js/filament/actions/actions.js new file mode 100644 index 0000000..6e3eff2 --- /dev/null +++ b/public/js/filament/actions/actions.js @@ -0,0 +1 @@ +(()=>{var n=({livewireId:e})=>({actionNestingIndex:null,init(){window.addEventListener("sync-action-modals",t=>{t.detail.id===e&&this.syncActionModals(t.detail.newActionNestingIndex)})},syncActionModals(t){if(this.actionNestingIndex===t){this.actionNestingIndex!==null&&this.$nextTick(()=>this.openModal());return}if(this.actionNestingIndex!==null&&this.closeModal(),this.actionNestingIndex=t,this.actionNestingIndex!==null){if(!this.$el.querySelector(`#${this.generateModalId(t)}`)){this.$nextTick(()=>this.openModal());return}this.openModal()}},generateModalId(t){return`fi-${e}-action-`+t},openModal(){let t=this.generateModalId(this.actionNestingIndex);document.dispatchEvent(new CustomEvent("open-modal",{bubbles:!0,composed:!0,detail:{id:t}}))},closeModal(){let t=this.generateModalId(this.actionNestingIndex);document.dispatchEvent(new CustomEvent("close-modal-quietly",{bubbles:!0,composed:!0,detail:{id:t}}))}});document.addEventListener("alpine:init",()=>{window.Alpine.data("filamentActionModals",n)});})(); diff --git a/public/js/filament/filament/app.js b/public/js/filament/filament/app.js new file mode 100644 index 0000000..ccdc5f1 --- /dev/null +++ b/public/js/filament/filament/app.js @@ -0,0 +1 @@ +(()=>{var ee=Object.create,q=Object.defineProperty,te=Object.getPrototypeOf,re=Object.prototype.hasOwnProperty,ne=Object.getOwnPropertyNames,ie=Object.getOwnPropertyDescriptor,se=r=>q(r,"__esModule",{value:!0}),ae=(r,n)=>()=>(n||(n={exports:{}},r(n.exports,n)),n.exports),oe=(r,n,s)=>{if(n&&typeof n=="object"||typeof n=="function")for(let l of ne(n))!re.call(r,l)&&l!=="default"&&q(r,l,{get:()=>n[l],enumerable:!(s=ie(n,l))||s.enumerable});return r},fe=r=>oe(se(q(r!=null?ee(te(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r),le=ae((r,n)=>{(function(s,l,g){if(!s)return;for(var d={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},w={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},b={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},x={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},P,y=1;y<20;++y)d[111+y]="f"+y;for(y=0;y<=9;++y)d[y+96]=y.toString();function S(e,t,a){if(e.addEventListener){e.addEventListener(t,a,!1);return}e.attachEvent("on"+t,a)}function G(e){if(e.type=="keypress"){var t=String.fromCharCode(e.which);return e.shiftKey||(t=t.toLowerCase()),t}return d[e.which]?d[e.which]:w[e.which]?w[e.which]:String.fromCharCode(e.which).toLowerCase()}function N(e,t){return e.sort().join(",")===t.sort().join(",")}function V(e){var t=[];return e.shiftKey&&t.push("shift"),e.altKey&&t.push("alt"),e.ctrlKey&&t.push("ctrl"),e.metaKey&&t.push("meta"),t}function H(e){if(e.preventDefault){e.preventDefault();return}e.returnValue=!1}function F(e){if(e.stopPropagation){e.stopPropagation();return}e.cancelBubble=!0}function C(e){return e=="shift"||e=="ctrl"||e=="alt"||e=="meta"}function J(){if(!P){P={};for(var e in d)e>95&&e<112||d.hasOwnProperty(e)&&(P[d[e]]=e)}return P}function B(e,t,a){return a||(a=J()[e]?"keydown":"keypress"),a=="keypress"&&t.length&&(a="keydown"),a}function X(e){return e==="+"?["+"]:(e=e.replace(/\+{2}/g,"+plus"),e.split("+"))}function T(e,t){var a,h,k,A=[];for(a=X(e),k=0;k1){Q(i,m,f,p);return}u=T(i,p),t._callbacks[u.key]=t._callbacks[u.key]||[],I(u.key,u.modifiers,{type:u.action},o,i,c),t._callbacks[u.key][o?"unshift":"push"]({callback:f,modifiers:u.modifiers,action:u.action,seq:o,level:c,combo:i})}t._bindMultiple=function(i,f,p){for(var o=0;o-1||U(t,a.target))return!1;if("composedPath"in e&&typeof e.composedPath=="function"){var h=e.composedPath()[0];h!==e.target&&(t=h)}return t.tagName=="INPUT"||t.tagName=="SELECT"||t.tagName=="TEXTAREA"||t.isContentEditable},v.prototype.handleKey=function(){var e=this;return e._handleKey.apply(e,arguments)},v.addKeycodes=function(e){for(var t in e)e.hasOwnProperty(t)&&(d[t]=e[t]);P=null},v.init=function(){var e=v(l);for(var t in e)t.charAt(0)!=="_"&&(v[t]=function(a){return function(){return e[a].apply(e,arguments)}}(t))},v.init(),s.Mousetrap=v,typeof n<"u"&&n.exports&&(n.exports=v),typeof define=="function"&&define.amd&&define(function(){return v})})(typeof window<"u"?window:null,typeof window<"u"?document:null)}),R=fe(le());(function(r){if(r){var n={},s=r.prototype.stopCallback;r.prototype.stopCallback=function(l,g,d,w){var b=this;return b.paused?!0:n[d]||n[w]?!1:s.call(b,l,g,d)},r.prototype.bindGlobal=function(l,g,d){var w=this;if(w.bind(l,g,d),l instanceof Array){for(var b=0;b{r.directive("mousetrap",(n,{modifiers:s,expression:l},{evaluate:g})=>{let d=()=>l?g(l):n.click();s=s.map(w=>w.replace(/--/g," ").replace(/-/g,"+").replace(/\bslash\b/g,"/")),s.includes("global")&&(s=s.filter(w=>w!=="global"),R.default.bindGlobal(s,w=>{w.preventDefault(),d()})),R.default.bind(s,w=>{w.preventDefault(),d()})})},W=ue;var j=()=>({isOpen:window.Alpine.$persist(!0).as("isOpen"),isOpenDesktop:window.Alpine.$persist(!0).as("isOpenDesktop"),collapsedGroups:window.Alpine.$persist(null).as("collapsedGroups"),init(){this.resizeObserver=null,this.setUpResizeObserver(),document.addEventListener("livewire:navigated",()=>{this.setUpResizeObserver()})},setUpResizeObserver(){this.resizeObserver&&this.resizeObserver.disconnect();let r=window.innerWidth;this.resizeObserver=new ResizeObserver(()=>{let n=window.innerWidth,s=r>=1024,l=n<1024,g=n>=1024;s&&l?(this.isOpenDesktop=this.isOpen,this.isOpen&&this.close()):!s&&g&&(this.isOpen=this.isOpenDesktop),r=n}),this.resizeObserver.observe(document.body),window.innerWidth<1024?this.isOpen&&(this.isOpenDesktop=!0,this.close()):this.isOpenDesktop=this.isOpen},groupIsCollapsed(r){return this.collapsedGroups.includes(r)},collapseGroup(r){this.collapsedGroups.includes(r)||(this.collapsedGroups=this.collapsedGroups.concat(r))},toggleCollapsedGroup(r){this.collapsedGroups=this.collapsedGroups.includes(r)?this.collapsedGroups.filter(n=>n!==r):this.collapsedGroups.concat(r)},close(){this.isOpen=!1,window.innerWidth>=1024&&(this.isOpenDesktop=!1)},open(){this.isOpen=!0,window.innerWidth>=1024&&(this.isOpenDesktop=!0)}});document.addEventListener("alpine:init",()=>{let r=localStorage.getItem("theme")??getComputedStyle(document.documentElement).getPropertyValue("--default-theme-mode");window.Alpine.store("theme",r==="dark"||r==="system"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),window.addEventListener("theme-changed",n=>{let s=n.detail;localStorage.setItem("theme",s),s==="system"&&(s=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),window.Alpine.store("theme",s)}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{localStorage.getItem("theme")==="system"&&window.Alpine.store("theme",n.matches?"dark":"light")}),window.Alpine.effect(()=>{window.Alpine.store("theme")==="dark"?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")})});document.addEventListener("DOMContentLoaded",()=>{setTimeout(()=>{let r=document.querySelector(".fi-main-sidebar .fi-sidebar-item.fi-active");if((!r||r.offsetParent===null)&&(r=document.querySelector(".fi-main-sidebar .fi-sidebar-group.fi-active")),!r||r.offsetParent===null)return;let n=document.querySelector(".fi-main-sidebar .fi-sidebar-nav");n&&n.scrollTo(0,r.offsetTop-window.innerHeight/2)},10)});window.setUpUnsavedDataChangesAlert=({body:r,livewireComponent:n,$wire:s})=>{window.addEventListener("beforeunload",l=>{window.jsMd5(JSON.stringify(s.data).replace(/\\/g,""))===s.savedDataHash||s?.__instance?.effects?.redirect||(l.preventDefault(),l.returnValue=!0)})};window.setUpSpaModeUnsavedDataChangesAlert=({body:r,resolveLivewireComponentUsing:n,$wire:s})=>{let l=()=>s?.__instance?.effects?.redirect?!1:window.jsMd5(JSON.stringify(s.data).replace(/\\/g,""))!==s.savedDataHash,g=()=>confirm(r);document.addEventListener("livewire:navigate",d=>{if(typeof n()<"u"){if(!l()||g())return;d.preventDefault()}}),window.addEventListener("beforeunload",d=>{l()&&(d.preventDefault(),d.returnValue=!0)})};window.setUpUnsavedActionChangesAlert=({resolveLivewireComponentUsing:r,$wire:n})=>{window.addEventListener("beforeunload",s=>{if(!(typeof r()>"u")&&(n.mountedActions?.length??0)&&!n?.__instance?.effects?.redirect){s.preventDefault(),s.returnValue=!0;return}})};document.addEventListener("alpine:init",()=>{window.Alpine.plugin(W),window.Alpine.store("sidebar",j())});})(); diff --git a/public/js/filament/filament/echo.js b/public/js/filament/filament/echo.js new file mode 100644 index 0000000..65edaf5 --- /dev/null +++ b/public/js/filament/filament/echo.js @@ -0,0 +1,13 @@ +(()=>{var Ci=Object.create;var he=Object.defineProperty;var Ti=Object.getOwnPropertyDescriptor;var Pi=Object.getOwnPropertyNames;var xi=Object.getPrototypeOf,Oi=Object.prototype.hasOwnProperty;var Ai=(l,h)=>()=>(h||l((h={exports:{}}).exports,h),h.exports);var Ei=(l,h,a,c)=>{if(h&&typeof h=="object"||typeof h=="function")for(let s of Pi(h))!Oi.call(l,s)&&s!==a&&he(l,s,{get:()=>h[s],enumerable:!(c=Ti(h,s))||c.enumerable});return l};var Li=(l,h,a)=>(a=l!=null?Ci(xi(l)):{},Ei(h||!l||!l.__esModule?he(a,"default",{value:l,enumerable:!0}):a,l));var me=Ai((vt,It)=>{(function(h,a){typeof vt=="object"&&typeof It=="object"?It.exports=a():typeof define=="function"&&define.amd?define([],a):typeof vt=="object"?vt.Pusher=a():h.Pusher=a()})(window,function(){return function(l){var h={};function a(c){if(h[c])return h[c].exports;var s=h[c]={i:c,l:!1,exports:{}};return l[c].call(s.exports,s,s.exports,a),s.l=!0,s.exports}return a.m=l,a.c=h,a.d=function(c,s,f){a.o(c,s)||Object.defineProperty(c,s,{enumerable:!0,get:f})},a.r=function(c){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})},a.t=function(c,s){if(s&1&&(c=a(c)),s&8||s&4&&typeof c=="object"&&c&&c.__esModule)return c;var f=Object.create(null);if(a.r(f),Object.defineProperty(f,"default",{enumerable:!0,value:c}),s&2&&typeof c!="string")for(var d in c)a.d(f,d,function(N){return c[N]}.bind(null,d));return f},a.n=function(c){var s=c&&c.__esModule?function(){return c.default}:function(){return c};return a.d(s,"a",s),s},a.o=function(c,s){return Object.prototype.hasOwnProperty.call(c,s)},a.p="",a(a.s=2)}([function(l,h,a){"use strict";var c=this&&this.__extends||function(){var b=function(v,y){return b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(w,O){w.__proto__=O}||function(w,O){for(var I in O)O.hasOwnProperty(I)&&(w[I]=O[I])},b(v,y)};return function(v,y){b(v,y);function w(){this.constructor=v}v.prototype=y===null?Object.create(y):(w.prototype=y.prototype,new w)}}();Object.defineProperty(h,"__esModule",{value:!0});var s=256,f=function(){function b(v){v===void 0&&(v="="),this._paddingCharacter=v}return b.prototype.encodedLength=function(v){return this._paddingCharacter?(v+2)/3*4|0:(v*8+5)/6|0},b.prototype.encode=function(v){for(var y="",w=0;w>>3*6&63),y+=this._encodeByte(O>>>2*6&63),y+=this._encodeByte(O>>>1*6&63),y+=this._encodeByte(O>>>0*6&63)}var I=v.length-w;if(I>0){var O=v[w]<<16|(I===2?v[w+1]<<8:0);y+=this._encodeByte(O>>>3*6&63),y+=this._encodeByte(O>>>2*6&63),I===2?y+=this._encodeByte(O>>>1*6&63):y+=this._paddingCharacter||"",y+=this._paddingCharacter||""}return y},b.prototype.maxDecodedLength=function(v){return this._paddingCharacter?v/4*3|0:(v*6+7)/8|0},b.prototype.decodedLength=function(v){return this.maxDecodedLength(v.length-this._getPaddingLength(v))},b.prototype.decode=function(v){if(v.length===0)return new Uint8Array(0);for(var y=this._getPaddingLength(v),w=v.length-y,O=new Uint8Array(this.maxDecodedLength(w)),I=0,q=0,M=0,J=0,F=0,z=0,B=0;q>>4,O[I++]=F<<4|z>>>2,O[I++]=z<<6|B,M|=J&s,M|=F&s,M|=z&s,M|=B&s;if(q>>4,M|=J&s,M|=F&s),q>>2,M|=z&s),q>>8&6,y+=51-v>>>8&-75,y+=61-v>>>8&-15,y+=62-v>>>8&3,String.fromCharCode(y)},b.prototype._decodeChar=function(v){var y=s;return y+=(42-v&v-44)>>>8&-s+v-43+62,y+=(46-v&v-48)>>>8&-s+v-47+63,y+=(47-v&v-58)>>>8&-s+v-48+52,y+=(64-v&v-91)>>>8&-s+v-65+0,y+=(96-v&v-123)>>>8&-s+v-97+26,y},b.prototype._getPaddingLength=function(v){var y=0;if(this._paddingCharacter){for(var w=v.length-1;w>=0&&v[w]===this._paddingCharacter;w--)y++;if(v.length<4||y>2)throw new Error("Base64Coder: incorrect padding")}return y},b}();h.Coder=f;var d=new f;function N(b){return d.encode(b)}h.encode=N;function P(b){return d.decode(b)}h.decode=P;var T=function(b){c(v,b);function v(){return b!==null&&b.apply(this,arguments)||this}return v.prototype._encodeByte=function(y){var w=y;return w+=65,w+=25-y>>>8&6,w+=51-y>>>8&-75,w+=61-y>>>8&-13,w+=62-y>>>8&49,String.fromCharCode(w)},v.prototype._decodeChar=function(y){var w=s;return w+=(44-y&y-46)>>>8&-s+y-45+62,w+=(94-y&y-96)>>>8&-s+y-95+63,w+=(47-y&y-58)>>>8&-s+y-48+52,w+=(64-y&y-91)>>>8&-s+y-65+0,w+=(96-y&y-123)>>>8&-s+y-97+26,w},v}(f);h.URLSafeCoder=T;var S=new T;function C(b){return S.encode(b)}h.encodeURLSafe=C;function x(b){return S.decode(b)}h.decodeURLSafe=x,h.encodedLength=function(b){return d.encodedLength(b)},h.maxDecodedLength=function(b){return d.maxDecodedLength(b)},h.decodedLength=function(b){return d.decodedLength(b)}},function(l,h,a){"use strict";Object.defineProperty(h,"__esModule",{value:!0});var c="utf8: invalid string",s="utf8: invalid source encoding";function f(P){for(var T=new Uint8Array(d(P)),S=0,C=0;C>6,T[S++]=128|x&63):x<55296?(T[S++]=224|x>>12,T[S++]=128|x>>6&63,T[S++]=128|x&63):(C++,x=(x&1023)<<10,x|=P.charCodeAt(C)&1023,x+=65536,T[S++]=240|x>>18,T[S++]=128|x>>12&63,T[S++]=128|x>>6&63,T[S++]=128|x&63)}return T}h.encode=f;function d(P){for(var T=0,S=0;S=P.length-1)throw new Error(c);S++,T+=4}else throw new Error(c)}return T}h.encodedLength=d;function N(P){for(var T=[],S=0;S=P.length)throw new Error(s);var b=P[++S];if((b&192)!==128)throw new Error(s);C=(C&31)<<6|b&63,x=128}else if(C<240){if(S>=P.length-1)throw new Error(s);var b=P[++S],v=P[++S];if((b&192)!==128||(v&192)!==128)throw new Error(s);C=(C&15)<<12|(b&63)<<6|v&63,x=2048}else if(C<248){if(S>=P.length-2)throw new Error(s);var b=P[++S],v=P[++S],y=P[++S];if((b&192)!==128||(v&192)!==128||(y&192)!==128)throw new Error(s);C=(C&15)<<18|(b&63)<<12|(v&63)<<6|y&63,x=65536}else throw new Error(s);if(C=55296&&C<=57343)throw new Error(s);if(C>=65536){if(C>1114111)throw new Error(s);C-=65536,T.push(String.fromCharCode(55296|C>>10)),C=56320|C&1023}}T.push(String.fromCharCode(C))}return T.join("")}h.decode=N},function(l,h,a){l.exports=a(3).default},function(l,h,a){"use strict";a.r(h);var c=function(){function e(t,n){this.lastId=0,this.prefix=t,this.name=n}return e.prototype.create=function(t){this.lastId++;var n=this.lastId,r=this.prefix+n,i=this.name+"["+n+"]",o=!1,u=function(){o||(t.apply(null,arguments),o=!0)};return this[n]=u,{number:n,id:r,name:i,callback:u}},e.prototype.remove=function(t){delete this[t.number]},e}(),s=new c("_pusher_script_","Pusher.ScriptReceivers"),f={VERSION:"7.6.0",PROTOCOL:7,wsPort:80,wssPort:443,wsPath:"",httpHost:"sockjs.pusher.com",httpPort:80,httpsPort:443,httpPath:"/pusher",stats_host:"stats.pusher.com",authEndpoint:"/pusher/auth",authTransport:"ajax",activityTimeout:12e4,pongTimeout:3e4,unavailableTimeout:1e4,cluster:"mt1",userAuthentication:{endpoint:"/pusher/user-auth",transport:"ajax"},channelAuthorization:{endpoint:"/pusher/auth",transport:"ajax"},cdn_http:"http://js.pusher.com",cdn_https:"https://js.pusher.com",dependency_suffix:""},d=f,N=function(){function e(t){this.options=t,this.receivers=t.receivers||s,this.loading={}}return e.prototype.load=function(t,n,r){var i=this;if(i.loading[t]&&i.loading[t].length>0)i.loading[t].push(r);else{i.loading[t]=[r];var o=m.createScriptRequest(i.getPath(t,n)),u=i.receivers.create(function(p){if(i.receivers.remove(u),i.loading[t]){var _=i.loading[t];delete i.loading[t];for(var g=function(E){E||o.cleanup()},k=0;k<_.length;k++)_[k](p,g)}});o.send(u)}},e.prototype.getRoot=function(t){var n,r=m.getDocument().location.protocol;return t&&t.useTLS||r==="https:"?n=this.options.cdn_https:n=this.options.cdn_http,n.replace(/\/*$/,"")+"/"+this.options.version},e.prototype.getPath=function(t,n){return this.getRoot(n)+"/"+t+this.options.suffix+".js"},e}(),P=N,T=new c("_pusher_dependencies","Pusher.DependenciesReceivers"),S=new P({cdn_http:d.cdn_http,cdn_https:d.cdn_https,version:d.VERSION,suffix:d.dependency_suffix,receivers:T}),C={baseUrl:"https://pusher.com",urls:{authenticationEndpoint:{path:"/docs/channels/server_api/authenticating_users"},authorizationEndpoint:{path:"/docs/channels/server_api/authorizing-users/"},javascriptQuickStart:{path:"/docs/javascript_quick_start"},triggeringClientEvents:{path:"/docs/client_api_guide/client_events#trigger-events"},encryptedChannelSupport:{fullUrl:"https://github.com/pusher/pusher-js/tree/cc491015371a4bde5743d1c87a0fbac0feb53195#encrypted-channel-support"}}},x=function(e){var t="See:",n=C.urls[e];if(!n)return"";var r;return n.fullUrl?r=n.fullUrl:n.path&&(r=C.baseUrl+n.path),r?t+" "+r:""},b={buildLogSuffix:x},v;(function(e){e.UserAuthentication="user-authentication",e.ChannelAuthorization="channel-authorization"})(v||(v={}));var y=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),w=function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t}(Error),O=function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t}(Error),I=function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t}(Error),q=function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t}(Error),M=function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t}(Error),J=function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t}(Error),F=function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t}(Error),z=function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t}(Error),B=function(e){y(t,e);function t(n,r){var i=this.constructor,o=e.call(this,r)||this;return o.status=n,Object.setPrototypeOf(o,i.prototype),o}return t}(Error),ke=function(e,t,n,r,i){var o=m.createXHR();o.open("POST",n.endpoint,!0),o.setRequestHeader("Content-Type","application/x-www-form-urlencoded");for(var u in n.headers)o.setRequestHeader(u,n.headers[u]);if(n.headersProvider!=null){var p=n.headersProvider();for(var u in p)o.setRequestHeader(u,p[u])}return o.onreadystatechange=function(){if(o.readyState===4)if(o.status===200){var _=void 0,g=!1;try{_=JSON.parse(o.responseText),g=!0}catch{i(new B(200,"JSON returned from "+r.toString()+" endpoint was invalid, yet status code was 200. Data was: "+o.responseText),null)}g&&i(null,_)}else{var k="";switch(r){case v.UserAuthentication:k=b.buildLogSuffix("authenticationEndpoint");break;case v.ChannelAuthorization:k="Clients must be authorized to join private or presence channels. "+b.buildLogSuffix("authorizationEndpoint");break}i(new B(o.status,"Unable to retrieve auth string from "+r.toString()+" endpoint - "+("received status: "+o.status+" from "+n.endpoint+". "+k)),null)}},o.send(t),o},Se=ke;function Ce(e){return Ee(Oe(e))}for(var nt=String.fromCharCode,Z="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Te={},ct=0,Pe=Z.length;ct>>6)+nt(128|t&63):nt(224|t>>>12&15)+nt(128|t>>>6&63)+nt(128|t&63)},Oe=function(e){return e.replace(/[^\x00-\x7F]/g,xe)},Ae=function(e){var t=[0,2,1][e.length%3],n=e.charCodeAt(0)<<16|(e.length>1?e.charCodeAt(1):0)<<8|(e.length>2?e.charCodeAt(2):0),r=[Z.charAt(n>>>18),Z.charAt(n>>>12&63),t>=2?"=":Z.charAt(n>>>6&63),t>=1?"=":Z.charAt(n&63)];return r.join("")},Ee=window.btoa||function(e){return e.replace(/[\s\S]{1,3}/g,Ae)},Le=function(){function e(t,n,r,i){var o=this;this.clear=n,this.timer=t(function(){o.timer&&(o.timer=i(o.timer))},r)}return e.prototype.isRunning=function(){return this.timer!==null},e.prototype.ensureAborted=function(){this.timer&&(this.clear(this.timer),this.timer=null)},e}(),jt=Le,Nt=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();function Re(e){window.clearTimeout(e)}function Ie(e){window.clearInterval(e)}var Q=function(e){Nt(t,e);function t(n,r){return e.call(this,setTimeout,Re,n,function(i){return r(),null})||this}return t}(jt),je=function(e){Nt(t,e);function t(n,r){return e.call(this,setInterval,Ie,n,function(i){return r(),i})||this}return t}(jt),Ne={now:function(){return Date.now?Date.now():new Date().valueOf()},defer:function(e){return new Q(0,e)},method:function(e){for(var t=[],n=1;n0)for(var i=0;i=1002&&e.code<=1004?"backoff":null:e.code===4e3?"tls_only":e.code<4100?"refused":e.code<4200?"backoff":e.code<4300?"retry":"refused"},getCloseError:function(e){return e.code!==1e3&&e.code!==1001?{type:"PusherError",data:{code:e.code,message:e.reason||e.message}}:null}},K=Vt,Cn=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),Tn=function(e){Cn(t,e);function t(n,r){var i=e.call(this)||this;return i.id=n,i.transport=r,i.activityTimeout=r.activityTimeout,i.bindListeners(),i}return t.prototype.handlesActivityChecks=function(){return this.transport.handlesActivityChecks()},t.prototype.send=function(n){return this.transport.send(n)},t.prototype.send_event=function(n,r,i){var o={event:n,data:r};return i&&(o.channel=i),A.debug("Event sent",o),this.send(K.encodeMessage(o))},t.prototype.ping=function(){this.transport.supportsPing()?this.transport.ping():this.send_event("pusher:ping",{})},t.prototype.close=function(){this.transport.close()},t.prototype.bindListeners=function(){var n=this,r={message:function(o){var u;try{u=K.decodeMessage(o)}catch(p){n.emit("error",{type:"MessageParseError",error:p,data:o.data})}if(u!==void 0){switch(A.debug("Event recd",u),u.event){case"pusher:error":n.emit("error",{type:"PusherError",data:u.data});break;case"pusher:ping":n.emit("ping");break;case"pusher:pong":n.emit("pong");break}n.emit("message",u)}},activity:function(){n.emit("activity")},error:function(o){n.emit("error",o)},closed:function(o){i(),o&&o.code&&n.handleCloseEvent(o),n.transport=null,n.emit("closed")}},i=function(){W(r,function(o,u){n.transport.unbind(u,o)})};W(r,function(o,u){n.transport.bind(u,o)})},t.prototype.handleCloseEvent=function(n){var r=K.getCloseAction(n),i=K.getCloseError(n);i&&this.emit("error",i),r&&this.emit(r,{action:r,error:i})},t}(V),Pn=Tn,xn=function(){function e(t,n){this.transport=t,this.callback=n,this.bindListeners()}return e.prototype.close=function(){this.unbindListeners(),this.transport.close()},e.prototype.bindListeners=function(){var t=this;this.onMessage=function(n){t.unbindListeners();var r;try{r=K.processHandshake(n)}catch(i){t.finish("error",{error:i}),t.transport.close();return}r.action==="connected"?t.finish("connected",{connection:new Pn(r.id,t.transport),activityTimeout:r.activityTimeout}):(t.finish(r.action,{error:r.error}),t.transport.close())},this.onClosed=function(n){t.unbindListeners();var r=K.getCloseAction(n)||"backoff",i=K.getCloseError(n);t.finish(r,{error:i})},this.transport.bind("message",this.onMessage),this.transport.bind("closed",this.onClosed)},e.prototype.unbindListeners=function(){this.transport.unbind("message",this.onMessage),this.transport.unbind("closed",this.onClosed)},e.prototype.finish=function(t,n){this.callback(U({transport:this.transport,action:t},n))},e}(),On=xn,An=function(){function e(t,n){this.timeline=t,this.options=n||{}}return e.prototype.send=function(t,n){this.timeline.isEmpty()||this.timeline.send(m.TimelineTransport.getAgent(this,t),n)},e}(),En=An,Ln=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),Rn=function(e){Ln(t,e);function t(n,r){var i=e.call(this,function(o,u){A.debug("No callbacks on "+n+" for "+o)})||this;return i.name=n,i.pusher=r,i.subscribed=!1,i.subscriptionPending=!1,i.subscriptionCancelled=!1,i}return t.prototype.authorize=function(n,r){return r(null,{auth:""})},t.prototype.trigger=function(n,r){if(n.indexOf("client-")!==0)throw new w("Event '"+n+"' does not start with 'client-'");if(!this.subscribed){var i=b.buildLogSuffix("triggeringClientEvents");A.warn("Client event triggered before channel 'subscription_succeeded' event . "+i)}return this.pusher.send_event(n,r,this.name)},t.prototype.disconnect=function(){this.subscribed=!1,this.subscriptionPending=!1},t.prototype.handleEvent=function(n){var r=n.event,i=n.data;if(r==="pusher_internal:subscription_succeeded")this.handleSubscriptionSucceededEvent(n);else if(r==="pusher_internal:subscription_count")this.handleSubscriptionCountEvent(n);else if(r.indexOf("pusher_internal:")!==0){var o={};this.emit(r,i,o)}},t.prototype.handleSubscriptionSucceededEvent=function(n){this.subscriptionPending=!1,this.subscribed=!0,this.subscriptionCancelled?this.pusher.unsubscribe(this.name):this.emit("pusher:subscription_succeeded",n.data)},t.prototype.handleSubscriptionCountEvent=function(n){n.data.subscription_count&&(this.subscriptionCount=n.data.subscription_count),this.emit("pusher:subscription_count",n.data)},t.prototype.subscribe=function(){var n=this;this.subscribed||(this.subscriptionPending=!0,this.subscriptionCancelled=!1,this.authorize(this.pusher.connection.socket_id,function(r,i){r?(n.subscriptionPending=!1,A.error(r.toString()),n.emit("pusher:subscription_error",Object.assign({},{type:"AuthError",error:r.message},r instanceof B?{status:r.status}:{}))):n.pusher.send_event("pusher:subscribe",{auth:i.auth,channel_data:i.channel_data,channel:n.name})}))},t.prototype.unsubscribe=function(){this.subscribed=!1,this.pusher.send_event("pusher:unsubscribe",{channel:this.name})},t.prototype.cancelSubscription=function(){this.subscriptionCancelled=!0},t.prototype.reinstateSubscription=function(){this.subscriptionCancelled=!1},t}(V),bt=Rn,In=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),jn=function(e){In(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.authorize=function(n,r){return this.pusher.config.channelAuthorizer({channelName:this.name,socketId:n},r)},t}(bt),mt=jn,Nn=function(){function e(){this.reset()}return e.prototype.get=function(t){return Object.prototype.hasOwnProperty.call(this.members,t)?{id:t,info:this.members[t]}:null},e.prototype.each=function(t){var n=this;W(this.members,function(r,i){t(n.get(i))})},e.prototype.setMyID=function(t){this.myID=t},e.prototype.onSubscription=function(t){this.members=t.presence.hash,this.count=t.presence.count,this.me=this.get(this.myID)},e.prototype.addMember=function(t){return this.get(t.user_id)===null&&this.count++,this.members[t.user_id]=t.user_info,this.get(t.user_id)},e.prototype.removeMember=function(t){var n=this.get(t.user_id);return n&&(delete this.members[t.user_id],this.count--),n},e.prototype.reset=function(){this.members={},this.count=0,this.myID=null,this.me=null},e}(),qn=Nn,Un=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),Dn=function(e,t,n,r){function i(o){return o instanceof n?o:new n(function(u){u(o)})}return new(n||(n=Promise))(function(o,u){function p(k){try{g(r.next(k))}catch(E){u(E)}}function _(k){try{g(r.throw(k))}catch(E){u(E)}}function g(k){k.done?o(k.value):i(k.value).then(p,_)}g((r=r.apply(e,t||[])).next())})},Hn=function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,u;return u={next:p(0),throw:p(1),return:p(2)},typeof Symbol=="function"&&(u[Symbol.iterator]=function(){return this}),u;function p(g){return function(k){return _([g,k])}}function _(g){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(o=g[0]&2?i.return:g[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,g[1])).done)return o;switch(i=0,o&&(g=[g[0]&2,o.value]),g[0]){case 0:case 1:o=g;break;case 4:return n.label++,{value:g[1],done:!1};case 5:n.label++,i=g[1],g=[0];continue;case 7:g=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(g[0]===6||g[0]===2)){n=0;continue}if(g[0]===3&&(!o||g[1]>o[0]&&g[1]0&&this.emit("connecting_in",Math.round(n/1e3)),this.retryTimer=new Q(n||0,function(){r.disconnectInternally(),r.connect()})},t.prototype.clearRetryTimer=function(){this.retryTimer&&(this.retryTimer.ensureAborted(),this.retryTimer=null)},t.prototype.setUnavailableTimer=function(){var n=this;this.unavailableTimer=new Q(this.options.unavailableTimeout,function(){n.updateState("unavailable")})},t.prototype.clearUnavailableTimer=function(){this.unavailableTimer&&this.unavailableTimer.ensureAborted()},t.prototype.sendActivityCheck=function(){var n=this;this.stopActivityCheck(),this.connection.ping(),this.activityTimer=new Q(this.options.pongTimeout,function(){n.timeline.error({pong_timed_out:n.options.pongTimeout}),n.retryIn(0)})},t.prototype.resetActivityCheck=function(){var n=this;this.stopActivityCheck(),this.connection&&!this.connection.handlesActivityChecks()&&(this.activityTimer=new Q(this.activityTimeout,function(){n.sendActivityCheck()}))},t.prototype.stopActivityCheck=function(){this.activityTimer&&this.activityTimer.ensureAborted()},t.prototype.buildConnectionCallbacks=function(n){var r=this;return U({},n,{message:function(i){r.resetActivityCheck(),r.emit("message",i)},ping:function(){r.send_event("pusher:pong",{})},activity:function(){r.resetActivityCheck()},error:function(i){r.emit("error",i)},closed:function(){r.abandonConnection(),r.shouldRetry()&&r.retryIn(1e3)}})},t.prototype.buildHandshakeCallbacks=function(n){var r=this;return U({},n,{connected:function(i){r.activityTimeout=Math.min(r.options.activityTimeout,i.activityTimeout,i.connection.activityTimeout||1/0),r.clearUnavailableTimer(),r.setConnection(i.connection),r.socket_id=r.connection.id,r.updateState("connected",{socket_id:r.socket_id})}})},t.prototype.buildErrorCallbacks=function(){var n=this,r=function(i){return function(o){o.error&&n.emit("error",{type:"WebSocketError",error:o.error}),i(o)}};return{tls_only:r(function(){n.usingTLS=!0,n.updateStrategy(),n.retryIn(0)}),refused:r(function(){n.disconnect()}),backoff:r(function(){n.retryIn(1e3)}),retry:r(function(){n.retryIn(0)})}},t.prototype.setConnection=function(n){this.connection=n;for(var r in this.connectionCallbacks)this.connection.bind(r,this.connectionCallbacks[r]);this.resetActivityCheck()},t.prototype.abandonConnection=function(){if(this.connection){this.stopActivityCheck();for(var n in this.connectionCallbacks)this.connection.unbind(n,this.connectionCallbacks[n]);var r=this.connection;return this.connection=null,r}},t.prototype.updateState=function(n,r){var i=this.state;if(this.state=n,i!==n){var o=n;o==="connected"&&(o+=" with new socket ID "+r.socket_id),A.debug("State changed",i+" -> "+o),this.timeline.info({state:n,params:r}),this.emit("state_change",{previous:i,current:n}),this.emit(n,r)}},t.prototype.shouldRetry=function(){return this.state==="connecting"||this.state==="connected"},t}(V),Gn=Vn,Qn=function(){function e(){this.channels={}}return e.prototype.add=function(t,n){return this.channels[t]||(this.channels[t]=Yn(t,n)),this.channels[t]},e.prototype.all=function(){return Ue(this.channels)},e.prototype.find=function(t){return this.channels[t]},e.prototype.remove=function(t){var n=this.channels[t];return delete this.channels[t],n},e.prototype.disconnect=function(){W(this.channels,function(t){t.disconnect()})},e}(),Kn=Qn;function Yn(e,t){if(e.indexOf("private-encrypted-")===0){if(t.config.nacl)return G.createEncryptedChannel(e,t,t.config.nacl);var n="Tried to subscribe to a private-encrypted- channel but no nacl implementation available",r=b.buildLogSuffix("encryptedChannelSupport");throw new J(n+". "+r)}else{if(e.indexOf("private-")===0)return G.createPrivateChannel(e,t);if(e.indexOf("presence-")===0)return G.createPresenceChannel(e,t);if(e.indexOf("#")===0)throw new O('Cannot create a channel with name "'+e+'".');return G.createChannel(e,t)}}var $n={createChannels:function(){return new Kn},createConnectionManager:function(e,t){return new Gn(e,t)},createChannel:function(e,t){return new bt(e,t)},createPrivateChannel:function(e,t){return new mt(e,t)},createPresenceChannel:function(e,t){return new zn(e,t)},createEncryptedChannel:function(e,t,n){return new Jn(e,t,n)},createTimelineSender:function(e,t){return new En(e,t)},createHandshake:function(e,t){return new On(e,t)},createAssistantToTheTransportManager:function(e,t,n){return new Sn(e,t,n)}},G=$n,Zn=function(){function e(t){this.options=t||{},this.livesLeft=this.options.lives||1/0}return e.prototype.getAssistant=function(t){return G.createAssistantToTheTransportManager(this,t,{minPingDelay:this.options.minPingDelay,maxPingDelay:this.options.maxPingDelay})},e.prototype.isAlive=function(){return this.livesLeft>0},e.prototype.reportDeath=function(){this.livesLeft-=1},e}(),Gt=Zn,tr=function(){function e(t,n){this.strategies=t,this.loop=!!n.loop,this.failFast=!!n.failFast,this.timeout=n.timeout,this.timeoutLimit=n.timeoutLimit}return e.prototype.isSupported=function(){return zt(this.strategies,j.method("isSupported"))},e.prototype.connect=function(t,n){var r=this,i=this.strategies,o=0,u=this.timeout,p=null,_=function(g,k){k?n(null,k):(o=o+1,r.loop&&(o=o%i.length),o0&&(o=new Q(r.timeout,function(){u.abort(),i(!0)})),u=t.connect(n,function(p,_){p&&o&&o.isRunning()&&!r.failFast||(o&&o.ensureAborted(),i(p,_))}),{abort:function(){o&&o.ensureAborted(),u.abort()},forceMinPriority:function(p){u.forceMinPriority(p)}}},e}(),Y=tr,er=function(){function e(t){this.strategies=t}return e.prototype.isSupported=function(){return zt(this.strategies,j.method("isSupported"))},e.prototype.connect=function(t,n){return nr(this.strategies,t,function(r,i){return function(o,u){if(i[r].error=o,o){rr(i)&&n(!0);return}rt(i,function(p){p.forceMinPriority(u.transport.priority)}),n(null,u)}})},e}(),kt=er;function nr(e,t,n){var r=Dt(e,function(i,o,u,p){return i.connect(t,n(o,p))});return{abort:function(){rt(r,ir)},forceMinPriority:function(i){rt(r,function(o){o.forceMinPriority(i)})}}}function rr(e){return Me(e,function(t){return!!t.error})}function ir(e){!e.error&&!e.aborted&&(e.abort(),e.aborted=!0)}var or=function(){function e(t,n,r){this.strategy=t,this.transports=n,this.ttl=r.ttl||1800*1e3,this.usingTLS=r.useTLS,this.timeline=r.timeline}return e.prototype.isSupported=function(){return this.strategy.isSupported()},e.prototype.connect=function(t,n){var r=this.usingTLS,i=ar(r),o=[this.strategy];if(i&&i.timestamp+this.ttl>=j.now()){var u=this.transports[i.transport];u&&(this.timeline.info({cached:!0,transport:i.transport,latency:i.latency}),o.push(new Y([u],{timeout:i.latency*2+1e3,failFast:!0})))}var p=j.now(),_=o.pop().connect(t,function g(k,E){k?(Qt(r),o.length>0?(p=j.now(),_=o.pop().connect(t,g)):n(k)):(cr(r,E.transport.name,j.now()-p),n(null,E))});return{abort:function(){_.abort()},forceMinPriority:function(g){t=g,_&&_.forceMinPriority(g)}}},e}(),sr=or;function St(e){return"pusherTransport"+(e?"TLS":"NonTLS")}function ar(e){var t=m.getLocalStorage();if(t)try{var n=t[St(e)];if(n)return JSON.parse(n)}catch{Qt(e)}return null}function cr(e,t,n){var r=m.getLocalStorage();if(r)try{r[St(e)]=ut({timestamp:j.now(),transport:t,latency:n})}catch{}}function Qt(e){var t=m.getLocalStorage();if(t)try{delete t[St(e)]}catch{}}var ur=function(){function e(t,n){var r=n.delay;this.strategy=t,this.options={delay:r}}return e.prototype.isSupported=function(){return this.strategy.isSupported()},e.prototype.connect=function(t,n){var r=this.strategy,i,o=new Q(this.options.delay,function(){i=r.connect(t,n)});return{abort:function(){o.ensureAborted(),i&&i.abort()},forceMinPriority:function(u){t=u,i&&i.forceMinPriority(u)}}},e}(),lt=ur,hr=function(){function e(t,n,r){this.test=t,this.trueBranch=n,this.falseBranch=r}return e.prototype.isSupported=function(){var t=this.test()?this.trueBranch:this.falseBranch;return t.isSupported()},e.prototype.connect=function(t,n){var r=this.test()?this.trueBranch:this.falseBranch;return r.connect(t,n)},e}(),it=hr,lr=function(){function e(t){this.strategy=t}return e.prototype.isSupported=function(){return this.strategy.isSupported()},e.prototype.connect=function(t,n){var r=this.strategy.connect(t,function(i,o){o&&r.abort(),n(i,o)});return r},e}(),fr=lr;function ot(e){return function(){return e.isSupported()}}var pr=function(e,t,n){var r={};function i(ce,mi,wi,ki,Si){var ue=n(e,ce,mi,wi,ki,Si);return r[ce]=ue,ue}var o=Object.assign({},t,{hostNonTLS:e.wsHost+":"+e.wsPort,hostTLS:e.wsHost+":"+e.wssPort,httpPath:e.wsPath}),u=Object.assign({},o,{useTLS:!0}),p=Object.assign({},t,{hostNonTLS:e.httpHost+":"+e.httpPort,hostTLS:e.httpHost+":"+e.httpsPort,httpPath:e.httpPath}),_={loop:!0,timeout:15e3,timeoutLimit:6e4},g=new Gt({lives:2,minPingDelay:1e4,maxPingDelay:e.activityTimeout}),k=new Gt({lives:2,minPingDelay:1e4,maxPingDelay:e.activityTimeout}),E=i("ws","ws",3,o,g),X=i("wss","ws",3,u,g),vi=i("sockjs","sockjs",1,p),ne=i("xhr_streaming","xhr_streaming",1,p,k),yi=i("xdr_streaming","xdr_streaming",1,p,k),re=i("xhr_polling","xhr_polling",1,p),gi=i("xdr_polling","xdr_polling",1,p),ie=new Y([E],_),_i=new Y([X],_),bi=new Y([vi],_),oe=new Y([new it(ot(ne),ne,yi)],_),se=new Y([new it(ot(re),re,gi)],_),ae=new Y([new it(ot(oe),new kt([oe,new lt(se,{delay:4e3})]),se)],_),xt=new it(ot(ae),ae,bi),Ot;return t.useTLS?Ot=new kt([ie,new lt(xt,{delay:2e3})]):Ot=new kt([ie,new lt(_i,{delay:2e3}),new lt(xt,{delay:5e3})]),new sr(new fr(new it(ot(E),Ot,xt)),r,{ttl:18e5,timeline:t.timeline,useTLS:t.useTLS})},dr=pr,vr=function(){var e=this;e.timeline.info(e.buildTimelineMessage({transport:e.name+(e.options.useTLS?"s":"")})),e.hooks.isInitialized()?e.changeState("initialized"):e.hooks.file?(e.changeState("initializing"),S.load(e.hooks.file,{useTLS:e.options.useTLS},function(t,n){e.hooks.isInitialized()?(e.changeState("initialized"),n(!0)):(t&&e.onError(t),e.onClose(),n(!1))})):e.onClose()},yr={getRequest:function(e){var t=new window.XDomainRequest;return t.ontimeout=function(){e.emit("error",new I),e.close()},t.onerror=function(n){e.emit("error",n),e.close()},t.onprogress=function(){t.responseText&&t.responseText.length>0&&e.onChunk(200,t.responseText)},t.onload=function(){t.responseText&&t.responseText.length>0&&e.onChunk(200,t.responseText),e.emit("finished",200),e.close()},t},abortRequest:function(e){e.ontimeout=e.onerror=e.onprogress=e.onload=null,e.abort()}},gr=yr,_r=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),br=256*1024,mr=function(e){_r(t,e);function t(n,r,i){var o=e.call(this)||this;return o.hooks=n,o.method=r,o.url=i,o}return t.prototype.start=function(n){var r=this;this.position=0,this.xhr=this.hooks.getRequest(this),this.unloader=function(){r.close()},m.addUnloadListener(this.unloader),this.xhr.open(this.method,this.url,!0),this.xhr.setRequestHeader&&this.xhr.setRequestHeader("Content-Type","application/json"),this.xhr.send(n)},t.prototype.close=function(){this.unloader&&(m.removeUnloadListener(this.unloader),this.unloader=null),this.xhr&&(this.hooks.abortRequest(this.xhr),this.xhr=null)},t.prototype.onChunk=function(n,r){for(;;){var i=this.advanceBuffer(r);if(i)this.emit("chunk",{status:n,data:i});else break}this.isBufferTooLong(r)&&this.emit("buffer_too_long")},t.prototype.advanceBuffer=function(n){var r=n.slice(this.position),i=r.indexOf(` +`);return i!==-1?(this.position+=i+1,r.slice(0,i)):null},t.prototype.isBufferTooLong=function(n){return this.position===n.length&&n.length>br},t}(V),wr=mr,Ct;(function(e){e[e.CONNECTING=0]="CONNECTING",e[e.OPEN=1]="OPEN",e[e.CLOSED=3]="CLOSED"})(Ct||(Ct={}));var $=Ct,kr=1,Sr=function(){function e(t,n){this.hooks=t,this.session=Yt(1e3)+"/"+xr(8),this.location=Cr(n),this.readyState=$.CONNECTING,this.openStream()}return e.prototype.send=function(t){return this.sendRaw(JSON.stringify([t]))},e.prototype.ping=function(){this.hooks.sendHeartbeat(this)},e.prototype.close=function(t,n){this.onClose(t,n,!0)},e.prototype.sendRaw=function(t){if(this.readyState===$.OPEN)try{return m.createSocketRequest("POST",Kt(Tr(this.location,this.session))).start(t),!0}catch{return!1}else return!1},e.prototype.reconnect=function(){this.closeStream(),this.openStream()},e.prototype.onClose=function(t,n,r){this.closeStream(),this.readyState=$.CLOSED,this.onclose&&this.onclose({code:t,reason:n,wasClean:r})},e.prototype.onChunk=function(t){if(t.status===200){this.readyState===$.OPEN&&this.onActivity();var n,r=t.data.slice(0,1);switch(r){case"o":n=JSON.parse(t.data.slice(1)||"{}"),this.onOpen(n);break;case"a":n=JSON.parse(t.data.slice(1)||"[]");for(var i=0;i0&&e.onChunk(n.status,n.responseText);break;case 4:n.responseText&&n.responseText.length>0&&e.onChunk(n.status,n.responseText),e.emit("finished",n.status),e.close();break}},n},abortRequest:function(e){e.onreadystatechange=null,e.abort()}},jr=Ir,Nr={createStreamingSocket:function(e){return this.createSocket(Er,e)},createPollingSocket:function(e){return this.createSocket(Rr,e)},createSocket:function(e,t){return new Or(e,t)},createXHR:function(e,t){return this.createRequest(jr,e,t)},createRequest:function(e,t,n){return new wr(e,t,n)}},$t=Nr;$t.createXDR=function(e,t){return this.createRequest(gr,e,t)};var qr=$t,Ur={nextAuthCallbackID:1,auth_callbacks:{},ScriptReceivers:s,DependenciesReceivers:T,getDefaultStrategy:dr,Transports:_n,transportConnectionInitializer:vr,HTTPFactory:qr,TimelineTransport:Ze,getXHRAPI:function(){return window.XMLHttpRequest},getWebSocketAPI:function(){return window.WebSocket||window.MozWebSocket},setup:function(e){var t=this;window.Pusher=e;var n=function(){t.onDocumentBody(e.ready)};window.JSON?n():S.load("json2",{},n)},getDocument:function(){return document},getProtocol:function(){return this.getDocument().location.protocol},getAuthorizers:function(){return{ajax:Se,jsonp:We}},onDocumentBody:function(e){var t=this;document.body?e():setTimeout(function(){t.onDocumentBody(e)},0)},createJSONPRequest:function(e,t){return new Ke(e,t)},createScriptRequest:function(e){return new Ge(e)},getLocalStorage:function(){try{return window.localStorage}catch{return}},createXHR:function(){return this.getXHRAPI()?this.createXMLHttpRequest():this.createMicrosoftXHR()},createXMLHttpRequest:function(){var e=this.getXHRAPI();return new e},createMicrosoftXHR:function(){return new ActiveXObject("Microsoft.XMLHTTP")},getNetwork:function(){return wn},createWebSocket:function(e){var t=this.getWebSocketAPI();return new t(e)},createSocketRequest:function(e,t){if(this.isXHRSupported())return this.HTTPFactory.createXHR(e,t);if(this.isXDRSupported(t.indexOf("https:")===0))return this.HTTPFactory.createXDR(e,t);throw"Cross-origin HTTP requests are not supported"},isXHRSupported:function(){var e=this.getXHRAPI();return!!e&&new e().withCredentials!==void 0},isXDRSupported:function(e){var t=e?"https:":"http:",n=this.getProtocol();return!!window.XDomainRequest&&n===t},addUnloadListener:function(e){window.addEventListener!==void 0?window.addEventListener("unload",e,!1):window.attachEvent!==void 0&&window.attachEvent("onunload",e)},removeUnloadListener:function(e){window.addEventListener!==void 0?window.removeEventListener("unload",e,!1):window.detachEvent!==void 0&&window.detachEvent("onunload",e)},randomInt:function(e){var t=function(){var n=window.crypto||window.msCrypto,r=n.getRandomValues(new Uint32Array(1))[0];return r/Math.pow(2,32)};return Math.floor(t()*e)}},m=Ur,Tt;(function(e){e[e.ERROR=3]="ERROR",e[e.INFO=6]="INFO",e[e.DEBUG=7]="DEBUG"})(Tt||(Tt={}));var ft=Tt,Dr=function(){function e(t,n,r){this.key=t,this.session=n,this.events=[],this.options=r||{},this.sent=0,this.uniqueID=0}return e.prototype.log=function(t,n){t<=this.options.level&&(this.events.push(U({},n,{timestamp:j.now()})),this.options.limit&&this.events.length>this.options.limit&&this.events.shift())},e.prototype.error=function(t){this.log(ft.ERROR,t)},e.prototype.info=function(t){this.log(ft.INFO,t)},e.prototype.debug=function(t){this.log(ft.DEBUG,t)},e.prototype.isEmpty=function(){return this.events.length===0},e.prototype.send=function(t,n){var r=this,i=U({session:this.session,bundle:this.sent+1,key:this.key,lib:"js",version:this.options.version,cluster:this.options.cluster,features:this.options.features,timeline:this.events},this.options.params);return this.events=[],t(i,function(o,u){o||r.sent++,n&&n(o,u)}),!0},e.prototype.generateUniqueID=function(){return this.uniqueID++,this.uniqueID},e}(),Hr=Dr,Mr=function(){function e(t,n,r,i){this.name=t,this.priority=n,this.transport=r,this.options=i||{}}return e.prototype.isSupported=function(){return this.transport.isSupported({useTLS:this.options.useTLS})},e.prototype.connect=function(t,n){var r=this;if(this.isSupported()){if(this.priority"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ii(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}function ji(l,h){if(h&&(typeof h=="object"||typeof h=="function"))return h;if(h!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ii(l)}function H(l){var h=Ri();return function(){var c=pt(l),s;if(h){var f=pt(this).constructor;s=Reflect.construct(c,arguments,f)}else s=c.apply(this,arguments);return ji(this,s)}}var Et=function(){function l(){L(this,l)}return R(l,[{key:"listenForWhisper",value:function(a,c){return this.listen(".client-"+a,c)}},{key:"notification",value:function(a){return this.listen(".Illuminate\\Notifications\\Events\\BroadcastNotificationCreated",a)}},{key:"stopListeningForWhisper",value:function(a,c){return this.stopListening(".client-"+a,c)}}]),l}(),de=function(){function l(h){L(this,l),this.namespace=h}return R(l,[{key:"format",value:function(a){return[".","\\"].includes(a.charAt(0))?a.substring(1):(this.namespace&&(a=this.namespace+"."+a),a.replace(/\./g,"\\"))}},{key:"setNamespace",value:function(a){this.namespace=a}}]),l}();function Ni(l){try{new l}catch(h){if(h.message.includes("is not a constructor"))return!1}return!0}var Lt=function(l){D(a,l);var h=H(a);function a(c,s,f){var d;return L(this,a),d=h.call(this),d.name=s,d.pusher=c,d.options=f,d.eventFormatter=new de(d.options.namespace),d.subscribe(),d}return R(a,[{key:"subscribe",value:function(){this.subscription=this.pusher.subscribe(this.name)}},{key:"unsubscribe",value:function(){this.pusher.unsubscribe(this.name)}},{key:"listen",value:function(s,f){return this.on(this.eventFormatter.format(s),f),this}},{key:"listenToAll",value:function(s){var f=this;return this.subscription.bind_global(function(d,N){if(!d.startsWith("pusher:")){var P=f.options.namespace.replace(/\./g,"\\"),T=d.startsWith(P)?d.substring(P.length+1):"."+d;s(T,N)}}),this}},{key:"stopListening",value:function(s,f){return f?this.subscription.unbind(this.eventFormatter.format(s),f):this.subscription.unbind(this.eventFormatter.format(s)),this}},{key:"stopListeningToAll",value:function(s){return s?this.subscription.unbind_global(s):this.subscription.unbind_global(),this}},{key:"subscribed",value:function(s){return this.on("pusher:subscription_succeeded",function(){s()}),this}},{key:"error",value:function(s){return this.on("pusher:subscription_error",function(f){s(f)}),this}},{key:"on",value:function(s,f){return this.subscription.bind(s,f),this}}]),a}(Et),ve=function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"whisper",value:function(s,f){return this.pusher.channels.channels[this.name].trigger("client-".concat(s),f),this}}]),a}(Lt),qi=function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"whisper",value:function(s,f){return this.pusher.channels.channels[this.name].trigger("client-".concat(s),f),this}}]),a}(Lt),Ui=function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"here",value:function(s){return this.on("pusher:subscription_succeeded",function(f){s(Object.keys(f.members).map(function(d){return f.members[d]}))}),this}},{key:"joining",value:function(s){return this.on("pusher:member_added",function(f){s(f.info)}),this}},{key:"whisper",value:function(s,f){return this.pusher.channels.channels[this.name].trigger("client-".concat(s),f),this}},{key:"leaving",value:function(s){return this.on("pusher:member_removed",function(f){s(f.info)}),this}}]),a}(ve),ye=function(l){D(a,l);var h=H(a);function a(c,s,f){var d;return L(this,a),d=h.call(this),d.events={},d.listeners={},d.name=s,d.socket=c,d.options=f,d.eventFormatter=new de(d.options.namespace),d.subscribe(),d}return R(a,[{key:"subscribe",value:function(){this.socket.emit("subscribe",{channel:this.name,auth:this.options.auth||{}})}},{key:"unsubscribe",value:function(){this.unbind(),this.socket.emit("unsubscribe",{channel:this.name,auth:this.options.auth||{}})}},{key:"listen",value:function(s,f){return this.on(this.eventFormatter.format(s),f),this}},{key:"stopListening",value:function(s,f){return this.unbindEvent(this.eventFormatter.format(s),f),this}},{key:"subscribed",value:function(s){return this.on("connect",function(f){s(f)}),this}},{key:"error",value:function(s){return this}},{key:"on",value:function(s,f){var d=this;return this.listeners[s]=this.listeners[s]||[],this.events[s]||(this.events[s]=function(N,P){d.name===N&&d.listeners[s]&&d.listeners[s].forEach(function(T){return T(P)})},this.socket.on(s,this.events[s])),this.listeners[s].push(f),this}},{key:"unbind",value:function(){var s=this;Object.keys(this.events).forEach(function(f){s.unbindEvent(f)})}},{key:"unbindEvent",value:function(s,f){this.listeners[s]=this.listeners[s]||[],f&&(this.listeners[s]=this.listeners[s].filter(function(d){return d!==f})),(!f||this.listeners[s].length===0)&&(this.events[s]&&(this.socket.removeListener(s,this.events[s]),delete this.events[s]),delete this.listeners[s])}}]),a}(Et),ge=function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"whisper",value:function(s,f){return this.socket.emit("client event",{channel:this.name,event:"client-".concat(s),data:f}),this}}]),a}(ye),Di=function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"here",value:function(s){return this.on("presence:subscribed",function(f){s(f.map(function(d){return d.user_info}))}),this}},{key:"joining",value:function(s){return this.on("presence:joining",function(f){return s(f.user_info)}),this}},{key:"whisper",value:function(s,f){return this.socket.emit("client event",{channel:this.name,event:"client-".concat(s),data:f}),this}},{key:"leaving",value:function(s){return this.on("presence:leaving",function(f){return s(f.user_info)}),this}}]),a}(ge),dt=function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"subscribe",value:function(){}},{key:"unsubscribe",value:function(){}},{key:"listen",value:function(s,f){return this}},{key:"listenToAll",value:function(s){return this}},{key:"stopListening",value:function(s,f){return this}},{key:"subscribed",value:function(s){return this}},{key:"error",value:function(s){return this}},{key:"on",value:function(s,f){return this}}]),a}(Et),_e=function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"whisper",value:function(s,f){return this}}]),a}(dt),Hi=function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"whisper",value:function(s,f){return this}}]),a}(dt),Mi=function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"here",value:function(s){return this}},{key:"joining",value:function(s){return this}},{key:"whisper",value:function(s,f){return this}},{key:"leaving",value:function(s){return this}}]),a}(_e),Rt=function(){function l(h){L(this,l),this._defaultOptions={auth:{headers:{}},authEndpoint:"/broadcasting/auth",userAuthentication:{endpoint:"/broadcasting/user-auth",headers:{}},broadcaster:"pusher",csrfToken:null,bearerToken:null,host:null,key:null,namespace:"App.Events"},this.setOptions(h),this.connect()}return R(l,[{key:"setOptions",value:function(a){this.options=at(this._defaultOptions,a);var c=this.csrfToken();return c&&(this.options.auth.headers["X-CSRF-TOKEN"]=c,this.options.userAuthentication.headers["X-CSRF-TOKEN"]=c),c=this.options.bearerToken,c&&(this.options.auth.headers.Authorization="Bearer "+c,this.options.userAuthentication.headers.Authorization="Bearer "+c),a}},{key:"csrfToken",value:function(){var a;return typeof window<"u"&&window.Laravel&&window.Laravel.csrfToken?window.Laravel.csrfToken:this.options.csrfToken?this.options.csrfToken:typeof document<"u"&&typeof document.querySelector=="function"&&(a=document.querySelector('meta[name="csrf-token"]'))?a.getAttribute("content"):null}}]),l}(),fe=function(l){D(a,l);var h=H(a);function a(){var c;return L(this,a),c=h.apply(this,arguments),c.channels={},c}return R(a,[{key:"connect",value:function(){typeof this.options.client<"u"?this.pusher=this.options.client:this.options.Pusher?this.pusher=new this.options.Pusher(this.options.key,this.options):this.pusher=new Pusher(this.options.key,this.options)}},{key:"signin",value:function(){this.pusher.signin()}},{key:"listen",value:function(s,f,d){return this.channel(s).listen(f,d)}},{key:"channel",value:function(s){return this.channels[s]||(this.channels[s]=new Lt(this.pusher,s,this.options)),this.channels[s]}},{key:"privateChannel",value:function(s){return this.channels["private-"+s]||(this.channels["private-"+s]=new ve(this.pusher,"private-"+s,this.options)),this.channels["private-"+s]}},{key:"encryptedPrivateChannel",value:function(s){return this.channels["private-encrypted-"+s]||(this.channels["private-encrypted-"+s]=new qi(this.pusher,"private-encrypted-"+s,this.options)),this.channels["private-encrypted-"+s]}},{key:"presenceChannel",value:function(s){return this.channels["presence-"+s]||(this.channels["presence-"+s]=new Ui(this.pusher,"presence-"+s,this.options)),this.channels["presence-"+s]}},{key:"leave",value:function(s){var f=this,d=[s,"private-"+s,"private-encrypted-"+s,"presence-"+s];d.forEach(function(N,P){f.leaveChannel(N)})}},{key:"leaveChannel",value:function(s){this.channels[s]&&(this.channels[s].unsubscribe(),delete this.channels[s])}},{key:"socketId",value:function(){return this.pusher.connection.socket_id}},{key:"disconnect",value:function(){this.pusher.disconnect()}}]),a}(Rt),pe=function(l){D(a,l);var h=H(a);function a(){var c;return L(this,a),c=h.apply(this,arguments),c.channels={},c}return R(a,[{key:"connect",value:function(){var s=this,f=this.getSocketIO();return this.socket=f(this.options.host,this.options),this.socket.on("reconnect",function(){Object.values(s.channels).forEach(function(d){d.subscribe()})}),this.socket}},{key:"getSocketIO",value:function(){if(typeof this.options.client<"u")return this.options.client;if(typeof io<"u")return io;throw new Error("Socket.io client not found. Should be globally available or passed via options.client")}},{key:"listen",value:function(s,f,d){return this.channel(s).listen(f,d)}},{key:"channel",value:function(s){return this.channels[s]||(this.channels[s]=new ye(this.socket,s,this.options)),this.channels[s]}},{key:"privateChannel",value:function(s){return this.channels["private-"+s]||(this.channels["private-"+s]=new ge(this.socket,"private-"+s,this.options)),this.channels["private-"+s]}},{key:"presenceChannel",value:function(s){return this.channels["presence-"+s]||(this.channels["presence-"+s]=new Di(this.socket,"presence-"+s,this.options)),this.channels["presence-"+s]}},{key:"leave",value:function(s){var f=this,d=[s,"private-"+s,"presence-"+s];d.forEach(function(N){f.leaveChannel(N)})}},{key:"leaveChannel",value:function(s){this.channels[s]&&(this.channels[s].unsubscribe(),delete this.channels[s])}},{key:"socketId",value:function(){return this.socket.id}},{key:"disconnect",value:function(){this.socket.disconnect()}}]),a}(Rt),zi=function(l){D(a,l);var h=H(a);function a(){var c;return L(this,a),c=h.apply(this,arguments),c.channels={},c}return R(a,[{key:"connect",value:function(){}},{key:"listen",value:function(s,f,d){return new dt}},{key:"channel",value:function(s){return new dt}},{key:"privateChannel",value:function(s){return new _e}},{key:"encryptedPrivateChannel",value:function(s){return new Hi}},{key:"presenceChannel",value:function(s){return new Mi}},{key:"leave",value:function(s){}},{key:"leaveChannel",value:function(s){}},{key:"socketId",value:function(){return"fake-socket-id"}},{key:"disconnect",value:function(){}}]),a}(Rt),be=function(){function l(h){L(this,l),this.options=h,this.connect(),this.options.withoutInterceptors||this.registerInterceptors()}return R(l,[{key:"channel",value:function(a){return this.connector.channel(a)}},{key:"connect",value:function(){if(this.options.broadcaster=="reverb")this.connector=new fe(at(at({},this.options),{cluster:""}));else if(this.options.broadcaster=="pusher")this.connector=new fe(this.options);else if(this.options.broadcaster=="socket.io")this.connector=new pe(this.options);else if(this.options.broadcaster=="null")this.connector=new zi(this.options);else if(typeof this.options.broadcaster=="function"&&Ni(this.options.broadcaster))this.connector=new this.options.broadcaster(this.options);else throw new Error("Broadcaster ".concat(st(this.options.broadcaster)," ").concat(this.options.broadcaster," is not supported."))}},{key:"disconnect",value:function(){this.connector.disconnect()}},{key:"join",value:function(a){return this.connector.presenceChannel(a)}},{key:"leave",value:function(a){this.connector.leave(a)}},{key:"leaveChannel",value:function(a){this.connector.leaveChannel(a)}},{key:"leaveAllChannels",value:function(){for(var a in this.connector.channels)this.leaveChannel(a)}},{key:"listen",value:function(a,c,s){return this.connector.listen(a,c,s)}},{key:"private",value:function(a){return this.connector.privateChannel(a)}},{key:"encryptedPrivate",value:function(a){if(this.connector instanceof pe)throw new Error("Broadcaster ".concat(st(this.options.broadcaster)," ").concat(this.options.broadcaster," does not support encrypted private channels."));return this.connector.encryptedPrivateChannel(a)}},{key:"socketId",value:function(){return this.connector.socketId()}},{key:"registerInterceptors",value:function(){typeof Vue=="function"&&Vue.http&&this.registerVueRequestInterceptor(),typeof axios=="function"&&this.registerAxiosRequestInterceptor(),typeof jQuery=="function"&&this.registerjQueryAjaxSetup(),(typeof Turbo>"u"?"undefined":st(Turbo))==="object"&&this.registerTurboRequestInterceptor()}},{key:"registerVueRequestInterceptor",value:function(){var a=this;Vue.http.interceptors.push(function(c,s){a.socketId()&&c.headers.set("X-Socket-ID",a.socketId()),s()})}},{key:"registerAxiosRequestInterceptor",value:function(){var a=this;axios.interceptors.request.use(function(c){return a.socketId()&&(c.headers["X-Socket-Id"]=a.socketId()),c})}},{key:"registerjQueryAjaxSetup",value:function(){var a=this;typeof jQuery.ajax<"u"&&jQuery.ajaxPrefilter(function(c,s,f){a.socketId()&&f.setRequestHeader("X-Socket-Id",a.socketId())})}},{key:"registerTurboRequestInterceptor",value:function(){var a=this;document.addEventListener("turbo:before-fetch-request",function(c){c.detail.fetchOptions.headers["X-Socket-Id"]=a.socketId()})}}]),l}();var we=Li(me(),1);window.EchoFactory=be;window.Pusher=we.default;})(); +/*! Bundled license information: + +pusher-js/dist/web/pusher.js: + (*! + * Pusher JavaScript Library v7.6.0 + * https://pusher.com/ + * + * Copyright 2020, Pusher + * Released under the MIT licence. + *) +*/ diff --git a/public/js/filament/forms/components/checkbox-list.js b/public/js/filament/forms/components/checkbox-list.js new file mode 100644 index 0000000..b15edc9 --- /dev/null +++ b/public/js/filament/forms/components/checkbox-list.js @@ -0,0 +1 @@ +function c({livewireId:s}){return{areAllCheckboxesChecked:!1,checkboxListOptions:[],search:"",visibleCheckboxListOptions:[],init(){this.checkboxListOptions=Array.from(this.$root.querySelectorAll(".fi-fo-checkbox-list-option")),this.updateVisibleCheckboxListOptions(),this.$nextTick(()=>{this.checkIfAllCheckboxesAreChecked()}),Livewire.hook("commit",({component:e,commit:t,succeed:i,fail:o,respond:h})=>{i(({snapshot:r,effect:l})=>{this.$nextTick(()=>{e.id===s&&(this.checkboxListOptions=Array.from(this.$root.querySelectorAll(".fi-fo-checkbox-list-option")),this.updateVisibleCheckboxListOptions(),this.checkIfAllCheckboxesAreChecked())})})}),this.$watch("search",()=>{this.updateVisibleCheckboxListOptions(),this.checkIfAllCheckboxesAreChecked()})},checkIfAllCheckboxesAreChecked(){this.areAllCheckboxesChecked=this.visibleCheckboxListOptions.length===this.visibleCheckboxListOptions.filter(e=>e.querySelector("input[type=checkbox]:checked, input[type=checkbox]:disabled")).length},toggleAllCheckboxes(){this.checkIfAllCheckboxesAreChecked();let e=!this.areAllCheckboxesChecked;this.visibleCheckboxListOptions.forEach(t=>{let i=t.querySelector("input[type=checkbox]");i.disabled||(i.checked=e,i.dispatchEvent(new Event("change")))}),this.areAllCheckboxesChecked=e},updateVisibleCheckboxListOptions(){this.visibleCheckboxListOptions=this.checkboxListOptions.filter(e=>["",null,void 0].includes(this.search)||e.querySelector(".fi-fo-checkbox-list-option-label")?.innerText.toLowerCase().includes(this.search.toLowerCase())?!0:e.querySelector(".fi-fo-checkbox-list-option-description")?.innerText.toLowerCase().includes(this.search.toLowerCase()))}}}export{c as default}; diff --git a/public/js/filament/forms/components/code-editor.js b/public/js/filament/forms/components/code-editor.js new file mode 100644 index 0000000..309a903 --- /dev/null +++ b/public/js/filament/forms/components/code-editor.js @@ -0,0 +1,37 @@ +var zs=[],Bh=[];(()=>{let O="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(O=Bh[i])e=i+1;else return!0;if(e==t)return!1}}function Mh(O){return O>=127462&&O<=127487}var Dh=8205;function Nh(O,e,t=!0,i=!0){return(t?Fh:Fm)(O,e,i)}function Fh(O,e,t){if(e==O.length)return e;e&&Hh(O.charCodeAt(e))&&Kh(O.charCodeAt(e-1))&&e--;let i=Rs(O,e);for(e+=Ih(i);e=0&&Mh(Rs(O,s));)n++,s-=2;if(n%2==0)break;e+=2}else break}return e}function Fm(O,e,t){for(;e>0;){let i=Fh(O,e-2,t);if(i=56320&&O<57344}function Kh(O){return O>=55296&&O<56320}function Ih(O){return O<65536?1:2}var G=class O{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=CO(this,e,t);let r=[];return this.decompose(0,e,r,2),i.length&&i.decompose(0,i.length,r,3),this.decompose(t,this.length,r,1),UO.from(r,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=CO(this,e,t);let i=[];return this.decompose(e,t,i,0),UO.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),r=new cO(this),n=new cO(e);for(let s=t,o=t;;){if(r.next(s),n.next(s),s=0,r.lineBreak!=n.lineBreak||r.done!=n.done||r.value!=n.value)return!1;if(o+=r.value.length,r.done||o>=i)return!0}}iter(e=1){return new cO(this,e)}iterRange(e,t=this.length){return new Zr(this,e,t)}iterLines(e,t){let i;if(e==null)i=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;i=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Vr(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?O.empty:e.length<=32?new Le(e):UO.from(Le.split(e,[]))}},Le=class O extends G{constructor(e,t=Hm(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,r){for(let n=0;;n++){let s=this.text[n],o=r+s.length;if((t?i:o)>=e)return new Ws(r,o,i,s);r=o+1,i++}}decompose(e,t,i,r){let n=e<=0&&t>=this.length?this:new O(Jh(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let s=i.pop(),o=Wr(n.text,s.text.slice(),0,n.length);if(o.length<=32)i.push(new O(o,s.length+n.length));else{let a=o.length>>1;i.push(new O(o.slice(0,a)),new O(o.slice(a)))}}else i.push(n)}replace(e,t,i){if(!(i instanceof O))return super.replace(e,t,i);[e,t]=CO(this,e,t);let r=Wr(this.text,Wr(i.text,Jh(this.text,0,e)),t),n=this.length+i.length-(t-e);return r.length<=32?new O(r,n):UO.from(O.split(r,[]),n)}sliceString(e,t=this.length,i=` +`){[e,t]=CO(this,e,t);let r="";for(let n=0,s=0;n<=t&&se&&s&&(r+=i),en&&(r+=o.slice(Math.max(0,e-n),t-n)),n=a+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],r=-1;for(let n of e)i.push(n),r+=n.length+1,i.length==32&&(t.push(new O(i,r)),i=[],r=-1);return r>-1&&t.push(new O(i,r)),t}},UO=class O extends G{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,t,i,r){for(let n=0;;n++){let s=this.children[n],o=r+s.length,a=i+s.lines-1;if((t?a:o)>=e)return s.lineInner(e,t,i,r);r=o+1,i=a+1}}decompose(e,t,i,r){for(let n=0,s=0;s<=t&&n=s){let l=r&((s<=e?1:0)|(a>=t?2:0));s>=e&&a<=t&&!l?i.push(o):o.decompose(e-s,t-s,i,l)}s=a+1}}replace(e,t,i){if([e,t]=CO(this,e,t),i.lines=n&&t<=o){let a=s.replace(e-n,t-n,i),l=this.lines-s.lines+a.lines;if(a.lines>4&&a.lines>l>>6){let h=this.children.slice();return h[r]=a,new O(h,this.length-(t-e)+i.length)}return super.replace(n,o,a)}n=o+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i=` +`){[e,t]=CO(this,e,t);let r="";for(let n=0,s=0;ne&&n&&(r+=i),es&&(r+=o.sliceString(e-s,t-s,i)),s=a+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof O))return 0;let i=0,[r,n,s,o]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,n+=t){if(r==s||n==o)return i;let a=this.children[r],l=e.children[n];if(a!=l)return i+a.scanIdentical(l,t);i+=a.length+1}}static from(e,t=e.reduce((i,r)=>i+r.length+1,-1)){let i=0;for(let d of e)i+=d.lines;if(i<32){let d=[];for(let Q of e)Q.flatten(d);return new Le(d,t)}let r=Math.max(32,i>>5),n=r<<1,s=r>>1,o=[],a=0,l=-1,h=[];function c(d){let Q;if(d.lines>n&&d instanceof O)for(let p of d.children)c(p);else d.lines>s&&(a>s||!a)?(f(),o.push(d)):d instanceof Le&&a&&(Q=h[h.length-1])instanceof Le&&d.lines+Q.lines<=32?(a+=d.lines,l+=d.length+1,h[h.length-1]=new Le(Q.text.concat(d.text),Q.length+1+d.length)):(a+d.lines>r&&f(),a+=d.lines,l+=d.length+1,h.push(d))}function f(){a!=0&&(o.push(h.length==1?h[0]:O.from(h,l)),l=-1,a=h.length=0)}for(let d of e)c(d);return f(),o.length==1?o[0]:new O(o,t)}};G.empty=new Le([""],0);function Hm(O){let e=-1;for(let t of O)e+=t.length+1;return e}function Wr(O,e,t=0,i=1e9){for(let r=0,n=0,s=!0;n=t&&(a>i&&(o=o.slice(0,i-r)),r0?1:(e instanceof Le?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,r=this.nodes[i],n=this.offsets[i],s=n>>1,o=r instanceof Le?r.text.length:r.children.length;if(s==(t>0?o:0)){if(i==0)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((n&1)==(t>0?0:1)){if(this.offsets[i]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(r instanceof Le){let a=r.text[s+(t<0?-1:0)];if(this.offsets[i]+=t,a.length>Math.max(0,e))return this.value=e==0?a:t>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=r.children[s+(t<0?-1:0)];e>a.length?(e-=a.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof Le?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Zr=class{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new cO(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=i?r:t<0?r.slice(r.length-i):r.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Vr=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(G.prototype[Symbol.iterator]=function(){return this.iter()},cO.prototype[Symbol.iterator]=Zr.prototype[Symbol.iterator]=Vr.prototype[Symbol.iterator]=function(){return this});var Ws=class{constructor(e,t,i,r){this.from=e,this.to=t,this.number=i,this.text=r}get length(){return this.to-this.from}};function CO(O,e,t){return e=Math.max(0,Math.min(O.length,e)),[e,Math.max(e,Math.min(O.length,t))]}function Qe(O,e,t=!0,i=!0){return Nh(O,e,t,i)}function Km(O){return O>=56320&&O<57344}function Jm(O){return O>=55296&&O<56320}function Pe(O,e){let t=O.charCodeAt(e);if(!Jm(t)||e+1==O.length)return t;let i=O.charCodeAt(e+1);return Km(i)?(t-55296<<10)+(i-56320)+65536:t}function yi(O){return O<=65535?String.fromCharCode(O):(O-=65536,String.fromCharCode((O>>10)+55296,(O&1023)+56320))}function De(O){return O<65536?1:2}var Zs=/\r\n?|\n/,$e=function(O){return O[O.Simple=0]="Simple",O[O.TrackDel=1]="TrackDel",O[O.TrackBefore=2]="TrackBefore",O[O.TrackAfter=3]="TrackAfter",O}($e||($e={})),qt=class O{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return n+(e-r);n+=o}else{if(i!=$e.Simple&&l>=e&&(i==$e.TrackDel&&re||i==$e.TrackBefore&&re))return null;if(l>e||l==e&&t<0&&!o)return e==r||t<0?n:n+a;n+=a}r=l}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return n}touchesRange(e,t=e){for(let i=0,r=0;i=0&&r<=t&&o>=e)return rt?"cover":!0;r=o}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new O(e)}static create(e){return new O(e)}},ve=class O extends qt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Vs(this,(t,i,r,n,s)=>e=e.replace(r,r+(i-t),s),!1),e}mapDesc(e,t=!1){return Us(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let r=0,n=0;r=0){t[r]=o,t[r+1]=s;let a=r>>1;for(;i.length0&&At(i,t,n.text),n.forward(h),o+=h}let l=e[s++];for(;o>1].toJSON()))}return e}static of(e,t,i){let r=[],n=[],s=0,o=null;function a(h=!1){if(!h&&!r.length)return;sf||c<0||f>t)throw new RangeError(`Invalid change range ${c} to ${f} (in doc of length ${t})`);let Q=d?typeof d=="string"?G.of(d.split(i||Zs)):d:G.empty,p=Q.length;if(c==f&&p==0)return;cs&&be(r,c-s,-1),be(r,f-c,p),At(n,r,Q),s=f}}return l(e),a(!o),o}static empty(e){return new O(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],i=[];for(let r=0;ro&&typeof s!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(n.length==1)t.push(n[0],0);else{for(;i.length=0&&t<=0&&t==O[r+1]?O[r]+=e:r>=0&&e==0&&O[r]==0?O[r+1]+=t:i?(O[r]+=e,O[r+1]+=t):O.push(e,t)}function At(O,e,t){if(t.length==0)return;let i=e.length-2>>1;if(i>1])),!(t||s==O.sections.length||O.sections[s+1]<0);)o=O.sections[s++],a=O.sections[s++];e(r,l,n,h,c),r=l,n=h}}}function Us(O,e,t,i=!1){let r=[],n=i?[]:null,s=new fO(O),o=new fO(e);for(let a=-1;;){if(s.done&&o.len||o.done&&s.len)throw new Error("Mismatched change set lengths");if(s.ins==-1&&o.ins==-1){let l=Math.min(s.len,o.len);be(r,l,-1),s.forward(l),o.forward(l)}else if(o.ins>=0&&(s.ins<0||a==s.i||s.off==0&&(o.len=0&&a=0){let l=0,h=s.len;for(;h;)if(o.ins==-1){let c=Math.min(h,o.len);l+=c,h-=c,o.forward(c)}else if(o.ins==0&&o.lena||s.ins>=0&&s.len>a)&&(o||i.length>l),n.forward2(a),s.forward(a)}}}}var fO=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?G.empty:e[t]}textBit(e){let{inserted:t}=this.set,i=this.i-2>>1;return i>=t.length&&!e?G.empty:t[i].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},VO=class O{constructor(e,t,i){this.from=e,this.to=t,this.flags=i}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,t=-1){let i,r;return this.empty?i=r=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),i==this.from&&r==this.to?this:new O(i,r,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return S.range(e,t);let i=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return S.range(this.anchor,i)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return S.range(e.anchor,e.head)}static create(e,t,i){return new O(e,t,i)}},S=class O{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:O.create(this.ranges.map(i=>i.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let i=0;ie.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new O(e.ranges.map(t=>VO.fromJSON(t)),e.main)}static single(e,t=e){return new O([O.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,r=0;re?8:0)|n)}static normalized(e,t=0){let i=e[t];e.sort((r,n)=>r.from-n.from),t=e.indexOf(i);for(let r=1;rn.head?O.range(a,o):O.range(o,a))}}return new O(e,t)}};function nc(O,e){for(let t of O.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Is=0,v=class O{constructor(e,t,i,r,n){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=r,this.id=Is++,this.default=e([]),this.extensions=typeof n=="function"?n(this):n}get reader(){return this}static define(e={}){return new O(e.combine||(t=>t),e.compareInput||((t,i)=>t===i),e.compare||(e.combine?(t,i)=>t===i:Bs),!!e.static,e.enables)}of(e){return new _O([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new _O(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new _O(e,this,2,t)}from(e,t){return t||(t=i=>i),this.compute([e],i=>t(i.field(e)))}};function Bs(O,e){return O==e||O.length==e.length&&O.every((t,i)=>t===e[i])}var _O=class{constructor(e,t,i,r){this.dependencies=e,this.facet=t,this.type=i,this.value=r,this.id=Is++}dynamicSlot(e){var t;let i=this.value,r=this.facet.compareInput,n=this.id,s=e[n]>>1,o=this.type==2,a=!1,l=!1,h=[];for(let c of this.dependencies)c=="doc"?a=!0:c=="selection"?l=!0:(((t=e[c.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[c.id]);return{create(c){return c.values[s]=i(c),1},update(c,f){if(a&&f.docChanged||l&&(f.docChanged||f.selection)||_s(c,h)){let d=i(c);if(o?!ec(d,c.values[s],r):!r(d,c.values[s]))return c.values[s]=d,1}return 0},reconfigure:(c,f)=>{let d,Q=f.config.address[n];if(Q!=null){let p=jr(f,Q);if(this.dependencies.every($=>$ instanceof v?f.facet($)===c.facet($):$ instanceof he?f.field($,!1)==c.field($,!1):!0)||(o?ec(d=i(c),p,r):r(d=i(c),p)))return c.values[s]=p,0}else d=i(c);return c.values[s]=d,1}}}};function ec(O,e,t){if(O.length!=e.length)return!1;for(let i=0;iO[a.id]),r=t.map(a=>a.type),n=i.filter(a=>!(a&1)),s=O[e.id]>>1;function o(a){let l=[];for(let h=0;hi===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Rr).find(i=>i.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:i=>(i.values[t]=this.create(i),1),update:(i,r)=>{let n=i.values[t],s=this.updateF(n,r);return this.compareF(n,s)?0:(i.values[t]=s,1)},reconfigure:(i,r)=>{let n=i.facet(Rr),s=r.facet(Rr),o;return(o=n.find(a=>a.field==this))&&o!=s.find(a=>a.field==this)?(i.values[t]=o.create(i),1):r.config.address[this.id]!=null?(i.values[t]=r.field(this),0):(i.values[t]=this.create(i),1)}}}init(e){return[this,Rr.of({field:this,create:e})]}get extension(){return this}},lO={lowest:4,low:3,default:2,high:1,highest:0};function $i(O){return e=>new Ur(e,O)}var Ze={highest:$i(lO.highest),high:$i(lO.high),default:$i(lO.default),low:$i(lO.low),lowest:$i(lO.lowest)},Ur=class{constructor(e,t){this.inner=e,this.prec=t}},GO=class O{of(e){return new gi(this,e)}reconfigure(e){return O.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},gi=class{constructor(e,t){this.compartment=e,this.inner=t}},_r=class O{constructor(e,t,i,r,n,s){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=r,this.staticValues=n,this.facets=s,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,i){let r=[],n=Object.create(null),s=new Map;for(let f of tg(e,t,s))f instanceof he?r.push(f):(n[f.facet.id]||(n[f.facet.id]=[])).push(f);let o=Object.create(null),a=[],l=[];for(let f of r)o[f.id]=l.length<<1,l.push(d=>f.slot(d));let h=i?.config.facets;for(let f in n){let d=n[f],Q=d[0].facet,p=h&&h[f]||[];if(d.every($=>$.type==0))if(o[Q.id]=a.length<<1|1,Bs(p,d))a.push(i.facet(Q));else{let $=Q.combine(d.map(m=>m.value));a.push(i&&Q.compare($,i.facet(Q))?i.facet(Q):$)}else{for(let $ of d)$.type==0?(o[$.id]=a.length<<1|1,a.push($.value)):(o[$.id]=l.length<<1,l.push(m=>$.dynamicSlot(m)));o[Q.id]=l.length<<1,l.push($=>eg($,Q,d))}}let c=l.map(f=>f(o));return new O(e,s,c,o,a,n)}};function tg(O,e,t){let i=[[],[],[],[],[]],r=new Map;function n(s,o){let a=r.get(s);if(a!=null){if(a<=o)return;let l=i[a].indexOf(s);l>-1&&i[a].splice(l,1),s instanceof gi&&t.delete(s.compartment)}if(r.set(s,o),Array.isArray(s))for(let l of s)n(l,o);else if(s instanceof gi){if(t.has(s.compartment))throw new RangeError("Duplicate use of compartment in extensions");let l=e.get(s.compartment)||s.inner;t.set(s.compartment,l),n(l,o)}else if(s instanceof Ur)n(s.inner,s.prec);else if(s instanceof he)i[o].push(s),s.provides&&n(s.provides,o);else if(s instanceof _O)i[o].push(s),s.facet.extensions&&n(s.facet.extensions,lO.default);else{let l=s.extension;if(!l)throw new Error(`Unrecognized extension value in extension set (${s}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);n(l,o)}}return n(O,lO.default),i.reduce((s,o)=>s.concat(o))}function mi(O,e){if(e&1)return 2;let t=e>>1,i=O.status[t];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;O.status[t]=4;let r=O.computeSlot(O,O.config.dynamicSlots[t]);return O.status[t]=2|r}function jr(O,e){return e&1?O.config.staticValues[e>>1]:O.values[e>>1]}var sc=v.define(),js=v.define({combine:O=>O.some(e=>e),static:!0}),oc=v.define({combine:O=>O.length?O[0]:void 0,static:!0}),ac=v.define(),lc=v.define(),hc=v.define(),cc=v.define({combine:O=>O.length?O[0]:!1}),We=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Cs}},Cs=class{of(e){return new We(this,e)}},Gs=class{constructor(e){this.map=e}of(e){return new W(this,e)}},W=class O{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new O(this.type,t)}is(e){return this.type==e}static define(e={}){return new Gs(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let r of e){let n=r.map(t);n&&i.push(n)}return i}};W.reconfigure=W.define();W.appendConfig=W.define();var de=class O{constructor(e,t,i,r,n,s){this.startState=e,this.changes=t,this.selection=i,this.effects=r,this.annotations=n,this.scrollIntoView=s,this._doc=null,this._state=null,i&&nc(i,t.newLength),n.some(o=>o.type==O.time)||(this.annotations=n.concat(O.time.of(Date.now())))}static create(e,t,i,r,n,s){return new O(e,t,i,r,n,s)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(O.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};de.time=We.define();de.userEvent=We.define();de.addToHistory=We.define();de.remote=We.define();function Og(O,e){let t=[];for(let i=0,r=0;;){let n,s;if(i=O[i]))n=O[i++],s=O[i++];else if(r=0;r--){let n=i[r](O);n instanceof de?O=n:Array.isArray(n)&&n.length==1&&n[0]instanceof de?O=n[0]:O=uc(e,jO(n),!1)}return O}function rg(O){let e=O.startState,t=e.facet(hc),i=O;for(let r=t.length-1;r>=0;r--){let n=t[r](O);n&&Object.keys(n).length&&(i=fc(i,Es(e,n,O.changes.newLength),!0))}return i==O?O:de.create(e,O.changes,O.selection,i.effects,i.annotations,i.scrollIntoView)}var ng=[];function jO(O){return O==null?ng:Array.isArray(O)?O:[O]}var K=function(O){return O[O.Word=0]="Word",O[O.Space=1]="Space",O[O.Other=2]="Other",O}(K||(K={})),sg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,As;try{As=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function og(O){if(As)return As.test(O);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||sg.test(t)))return!0}return!1}function ag(O){return e=>{if(!/\S/.test(e))return K.Space;if(og(e))return K.Word;for(let t=0;t-1)return K.Word;return K.Other}}var M=class O{constructor(e,t,i,r,n,s){this.config=e,this.doc=t,this.selection=i,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=n,s&&(s._state=this);for(let o=0;or.set(l,a)),t=null),r.set(o.value.compartment,o.value.extension)):o.is(W.reconfigure)?(t=null,i=o.value):o.is(W.appendConfig)&&(t=null,i=jO(i).concat(o.value));let n;t?n=e.startState.values.slice():(t=_r.resolve(i,r,this),n=new O(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(a,l)=>l.reconfigure(a,this),null).values);let s=e.startState.facet(js)?e.newSelection:e.newSelection.asSingle();new O(t,e.newDoc,s,n,(o,a)=>a.update(o,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:S.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),r=this.changes(i.changes),n=[i.range],s=jO(i.effects);for(let o=1;os.spec.fromJSON(o,a)))}}return O.create({doc:e.doc,selection:S.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=_r.resolve(e.extensions||[],new Map),i=e.doc instanceof G?e.doc:G.of((e.doc||"").split(t.staticFacet(O.lineSeparator)||Zs)),r=e.selection?e.selection instanceof S?e.selection:S.single(e.selection.anchor,e.selection.head):S.single(0);return nc(r,i.length),t.staticFacet(js)||(r=r.asSingle()),new O(t,i,r,t.dynamicSlots.map(()=>null),(n,s)=>s.create(n),null)}get tabSize(){return this.facet(O.tabSize)}get lineBreak(){return this.facet(O.lineSeparator)||` +`}get readOnly(){return this.facet(cc)}phrase(e,...t){for(let i of this.facet(O.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,r)=>{if(r=="$")return"$";let n=+(r||1);return!n||n>t.length?i:t[n-1]})),e}languageDataAt(e,t,i=-1){let r=[];for(let n of this.facet(sc))for(let s of n(this,t,i))Object.prototype.hasOwnProperty.call(s,e)&&r.push(s[e]);return r}charCategorizer(e){return ag(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:i,length:r}=this.doc.lineAt(e),n=this.charCategorizer(e),s=e-i,o=e-i;for(;s>0;){let a=Qe(t,s,!1);if(n(t.slice(a,s))!=K.Word)break;s=a}for(;oO.length?O[0]:4});M.lineSeparator=oc;M.readOnly=cc;M.phrases=v.define({compare(O,e){let t=Object.keys(O),i=Object.keys(e);return t.length==i.length&&t.every(r=>O[r]==e[r])}});M.languageData=sc;M.changeFilter=ac;M.transactionFilter=lc;M.transactionExtender=hc;GO.reconfigure=W.define();function Te(O,e,t={}){let i={};for(let r of O)for(let n of Object.keys(r)){let s=r[n],o=i[n];if(o===void 0)i[n]=s;else if(!(o===s||s===void 0))if(Object.hasOwnProperty.call(t,n))i[n]=t[n](o,s);else throw new Error("Config merge conflict for field "+n)}for(let r in e)i[r]===void 0&&(i[r]=e[r]);return i}var at=class{eq(e){return this==e}range(e,t=e){return Si.create(e,t,this)}};at.prototype.startSide=at.prototype.endSide=0;at.prototype.point=!1;at.prototype.mapMode=$e.TrackDel;var Si=class O{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new O(e,t,i)}};function Ls(O,e){return O.from-e.from||O.value.startSide-e.value.startSide}var Ms=class O{constructor(e,t,i,r){this.from=e,this.to=t,this.value=i,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,r=0){let n=i?this.to:this.from;for(let s=r,o=n.length;;){if(s==o)return s;let a=s+o>>1,l=n[a]-e||(i?this.value[a].endSide:this.value[a].startSide)-t;if(a==s)return l>=0?s:o;l>=0?o=a:s=a+1}}between(e,t,i,r){for(let n=this.findIndex(t,-1e9,!0),s=this.findIndex(i,1e9,!1,n);nd||f==d&&l.startSide>0&&l.endSide<=0)continue;(d-f||l.endSide-l.startSide)<0||(s<0&&(s=f),l.point&&(o=Math.max(o,d-f)),i.push(l),r.push(f-s),n.push(d-s))}return{mapped:i.length?new O(r,n,i,o):null,pos:s}}},N=class O{constructor(e,t,i,r){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=r}static create(e,t,i,r){return new O(e,t,i,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:r=0,filterTo:n=this.length}=e,s=e.filter;if(t.length==0&&!s)return this;if(i&&(t=t.slice().sort(Ls)),this.isEmpty)return t.length?O.of(t):this;let o=new Cr(this,null,-1).goto(0),a=0,l=[],h=new Me;for(;o.value||a=0){let c=t[a++];h.addInner(c.from,c.to,c.value)||l.push(c)}else o.rangeIndex==1&&o.chunkIndexthis.chunkEnd(o.chunkIndex)||no.to||n=n&&e<=n+s.length&&s.between(n,e-n,t-n,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return Pi.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Pi.from(e).goto(t)}static compare(e,t,i,r,n=-1){let s=e.filter(c=>c.maxPoint>0||!c.isEmpty&&c.maxPoint>=n),o=t.filter(c=>c.maxPoint>0||!c.isEmpty&&c.maxPoint>=n),a=tc(s,o,i),l=new hO(s,a,n),h=new hO(o,a,n);i.iterGaps((c,f,d)=>Oc(l,c,h,f,d,r)),i.empty&&i.length==0&&Oc(l,0,h,0,0,r)}static eq(e,t,i=0,r){r==null&&(r=999999999);let n=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),s=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(n.length!=s.length)return!1;if(!n.length)return!0;let o=tc(n,s),a=new hO(n,o,0).goto(i),l=new hO(s,o,0).goto(i);for(;;){if(a.to!=l.to||!Ds(a.active,l.active)||a.point&&(!l.point||!a.point.eq(l.point)))return!1;if(a.to>r)return!0;a.next(),l.next()}}static spans(e,t,i,r,n=-1){let s=new hO(e,null,n).goto(t),o=t,a=s.openStart;for(;;){let l=Math.min(s.to,i);if(s.point){let h=s.activeForPoint(s.to),c=s.pointFromo&&(r.span(o,l,s.active,a),a=s.openEnd(l));if(s.to>i)return a+(s.point&&s.to>i?1:0);o=s.to,s.next()}}static of(e,t=!1){let i=new Me;for(let r of e instanceof Si?[e]:t?lg(e):e)i.add(r.from,r.to,r.value);return i.finish()}static join(e){if(!e.length)return O.empty;let t=e[e.length-1];for(let i=e.length-2;i>=0;i--)for(let r=e[i];r!=O.empty;r=r.nextLayer)t=new O(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};N.empty=new N([],[],null,-1);function lg(O){if(O.length>1)for(let e=O[0],t=1;t0)return O.slice().sort(Ls);e=i}return O}N.empty.nextLayer=N.empty;var Me=class O{finishChunk(e){this.chunks.push(new Ms(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,i){this.addInner(e,t,i)||(this.nextLayer||(this.nextLayer=new O)).add(e,t,i)}addInner(e,t,i){let r=e-this.lastTo||i.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}finish(){return this.finishInner(N.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=N.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function tc(O,e,t){let i=new Map;for(let n of O)for(let s=0;s=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=i&&r.push(new Cr(s,t,i,n));return r.length==1?r[0]:new O(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let i of this.heap)i.goto(e,t);for(let i=this.heap.length>>1;i>=0;i--)Ys(this.heap,i);return this.next(),this}forward(e,t){for(let i of this.heap)i.forward(e,t);for(let i=this.heap.length>>1;i>=0;i--)Ys(this.heap,i);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Ys(this.heap,0)}}};function Ys(O,e){for(let t=O[e];;){let i=(e<<1)+1;if(i>=O.length)break;let r=O[i];if(i+1=0&&(r=O[i+1],i++),t.compare(r)<0)break;O[i]=t,O[e]=r,e=i}}var hO=class{constructor(e,t,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Pi.from(e,t,i)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){zr(this.active,e),zr(this.activeTo,e),zr(this.activeRank,e),this.minActive=ic(this.active,this.activeTo)}addActive(e){let t=0,{value:i,to:r,rank:n}=this.cursor;for(;t0;)t++;Yr(this.active,t,i),Yr(this.activeTo,t,r),Yr(this.activeRank,t,n),e&&Yr(e,t,this.cursor.from),this.minActive=ic(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),i&&zr(i,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let n=this.cursor.value;if(!n.point)this.addActive(i),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&i[r]=0&&!(this.activeRank[i]e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}openEnd(e){let t=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)t++;return t}};function Oc(O,e,t,i,r,n){O.goto(e),t.goto(i);let s=i+r,o=i,a=i-e;for(;;){let l=O.to+a-t.to,h=l||O.endSide-t.endSide,c=h<0?O.to+a:t.to,f=Math.min(c,s);if(O.point||t.point?O.point&&t.point&&(O.point==t.point||O.point.eq(t.point))&&Ds(O.activeForPoint(O.to),t.activeForPoint(t.to))||n.comparePoint(o,f,O.point,t.point):f>o&&!Ds(O.active,t.active)&&n.compareRange(o,f,O.active,t.active),c>s)break;(l||O.openEnd!=t.openEnd)&&n.boundChange&&n.boundChange(c),o=c,h<=0&&O.next(),h>=0&&t.next()}}function Ds(O,e){if(O.length!=e.length)return!1;for(let t=0;t=e;i--)O[i+1]=O[i];O[e]=t}function ic(O,e){let t=-1,i=1e9;for(let r=0;r=e)return r;if(r==O.length)break;n+=O.charCodeAt(r)==9?t-n%t:1,r=Qe(O,r)}return i===!0?-1:O.length}var Ns="\u037C",dc=typeof Symbol>"u"?"__"+Ns:Symbol.for(Ns),Fs=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Qc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},Ot=class{constructor(e,t){this.rules=[];let{finish:i}=t||{};function r(s){return/^@/.test(s)?[s]:s.split(/,\s*/)}function n(s,o,a,l){let h=[],c=/^@(\w+)\b/.exec(s[0]),f=c&&c[1]=="keyframes";if(c&&o==null)return a.push(s[0]+";");for(let d in o){let Q=o[d];if(/&/.test(d))n(d.split(/,\s*/).map(p=>s.map($=>p.replace(/&/,$))).reduce((p,$)=>p.concat($)),Q,a);else if(Q&&typeof Q=="object"){if(!c)throw new RangeError("The value of a property ("+d+") should be a primitive value.");n(r(d),Q,h,f)}else Q!=null&&h.push(d.replace(/_.*/,"").replace(/[A-Z]/g,p=>"-"+p.toLowerCase())+": "+Q+";")}(h.length||f)&&a.push((i&&!c&&!l?s.map(i):s).join(", ")+" {"+h.join(" ")+"}")}for(let s in e)n(r(s),e[s],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=Qc[dc]||1;return Qc[dc]=e+1,Ns+e.toString(36)}static mount(e,t,i){let r=e[Fs],n=i&&i.nonce;r?n&&r.setNonce(n):r=new Hs(e,n),r.mount(Array.isArray(t)?t:[t],e)}},pc=new Map,Hs=class{constructor(e,t){let i=e.ownerDocument||e,r=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let n=pc.get(i);if(n)return e[Fs]=n;this.sheet=new r.CSSStyleSheet,pc.set(i,this)}else this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Fs]=this}mount(e,t){let i=this.sheet,r=0,n=0;for(let s=0;s-1&&(this.modules.splice(a,1),n--,a=-1),a==-1){if(this.modules.splice(n++,0,o),i)for(let l=0;l",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},hg=typeof navigator<"u"&&/Mac/.test(navigator.platform),cg=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(pe=0;pe<10;pe++)Rt[48+pe]=Rt[96+pe]=String(pe);var pe;for(pe=1;pe<=24;pe++)Rt[pe+111]="F"+pe;var pe;for(pe=65;pe<=90;pe++)Rt[pe]=String.fromCharCode(pe+32),EO[pe]=String.fromCharCode(pe);var pe;for(Er in Rt)EO.hasOwnProperty(Er)||(EO[Er]=Rt[Er]);var Er;function $c(O){var e=hg&&O.metaKey&&O.shiftKey&&!O.ctrlKey&&!O.altKey||cg&&O.shiftKey&&O.key&&O.key.length==1||O.key=="Unidentified",t=!e&&O.key||(O.shiftKey?EO:Rt)[O.keyCode]||O.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function B(){var O=arguments[0];typeof O=="string"&&(O=document.createElement(O));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var r=t[i];typeof r=="string"?O.setAttribute(i,r):r!=null&&(O[i]=r)}e++}for(;e.995&&t<1.005||!isFinite(t)||Math.abs(e.width-O.offsetWidth)<1)&&(t=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.height-O.offsetHeight)<1)&&(i=1),{scaleX:t,scaleY:i}}function ug(O,e,t,i,r,n,s,o){let a=O.ownerDocument,l=a.defaultView||window;for(let h=O,c=!1;h&&!c;)if(h.nodeType==1){let f,d=h==a.body,Q=1,p=1;if(d)f=fg(l);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(c=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let g=h.getBoundingClientRect();({scaleX:Q,scaleY:p}=af(h,g)),f={left:g.left,right:g.left+h.clientWidth*Q,top:g.top,bottom:g.top+h.clientHeight*p}}let $=0,m=0;if(r=="nearest")e.top0&&e.bottom>f.bottom+m&&(m=e.bottom-f.bottom+s)):e.bottom>f.bottom&&(m=e.bottom-f.bottom+s,t<0&&e.top-m0&&e.right>f.right+$&&($=e.right-f.right+n)):e.right>f.right&&($=e.right-f.right+n,t<0&&e.leftf.bottom||e.leftf.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function dg(O){let e=O.ownerDocument,t,i;for(let r=O.parentNode;r&&!(r==e.body||t&&i);)if(r.nodeType==1)!i&&r.scrollHeight>r.clientHeight&&(i=r),!t&&r.scrollWidth>r.clientWidth&&(t=r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;return{x:t,y:i}}var so=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:i}=e;this.set(t,Math.min(e.anchorOffset,t?St(t):0),i,Math.min(e.focusOffset,i?St(i):0))}set(e,t,i,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=r}},AO=null;function lf(O){if(O.setActive)return O.setActive();if(AO)return O.focus(AO);let e=[];for(let t=O;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(O.focus(AO==null?{get preventScroll(){return AO={preventScroll:!0},!0}}:void 0),!AO){AO=!1;for(let t=0;tMath.max(1,O.scrollHeight-O.clientHeight-4)}function ff(O,e){for(let t=O,i=e;;){if(t.nodeType==3&&i>0)return{node:t,offset:i};if(t.nodeType==1&&i>0){if(t.contentEditable=="false")return null;t=t.childNodes[i-1],i=St(t)}else if(t.parentNode&&!sn(t))i=dO(t),t=t.parentNode;else return null}}function uf(O,e){for(let t=O,i=e;;){if(t.nodeType==3&&it)return c.domBoundsAround(e,t,l);if(f>=e&&r==-1&&(r=a,n=l),l>t&&c.dom.parentNode==this.dom){s=a,o=h;break}h=f,l=f+c.breakAfter}return{from:n,to:o<0?i+this.length:o,startDOM:(r?this.children[r-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:s=0?this.children[s].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),t.flags&1)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.flags&7&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,i=Io){this.markDirty();for(let r=e;rthis.pos||e==this.pos&&(t>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let i=this.children[--this.i];this.pos-=i.length+i.breakAfter}}};function df(O,e,t,i,r,n,s,o,a){let{children:l}=O,h=l.length?l[e]:null,c=n.length?n[n.length-1]:null,f=c?c.breakAfter:s;if(!(e==i&&h&&!s&&!f&&n.length<2&&h.merge(t,r,n.length?c:null,t==0,o,a))){if(i0&&(!s&&n.length&&h.merge(t,h.length,n[0],!1,o,0)?h.breakAfter=n.shift().breakAfter:(t2),q={mac:xc||/Mac/.test(Ve.platform),windows:/Win/.test(Ve.platform),linux:/Linux|X11/.test(Ve.platform),ie:yn,ie_version:pf?oo.documentMode||6:lo?+lo[1]:ao?+ao[1]:0,gecko:yc,gecko_version:yc?+(/Firefox\/(\d+)/.exec(Ve.userAgent)||[0,0])[1]:0,chrome:!!Ks,chrome_version:Ks?+Ks[1]:0,ios:xc,android:/Android\b/.test(Ve.userAgent),webkit:Xc,safari:$f,webkit_version:Xc?+(/\bAppleWebKit\/(\d+)/.exec(Ve.userAgent)||[0,0])[1]:0,tabSize:oo.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"},$g=256,Pt=class O extends re{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){e.nodeType==3&&this.createDOM(e)}merge(e,t,i){return this.flags&8||i&&(!(i instanceof O)||this.length-(t-e)+i.length>$g||i.flags&8)?!1:(this.text=this.text.slice(0,e)+(i?i.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new O(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=this.flags&8,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new Re(this.dom,e)}domBoundsAround(e,t,i){return{from:i,to:i+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return mg(this.dom,e,t)}},Dt=class O extends re{constructor(e,t=[],i=0){super(),this.mark=e,this.children=t,this.length=i;for(let r of t)r.setParent(this)}setAttrs(e){if(hf(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,i,r,n,s){return i&&(!(i instanceof O&&i.mark.eq(this.mark))||e&&n<=0||te&&t.push(i=e&&(r=n),i=a,n++}let s=this.length-e;return this.length=e,r>-1&&(this.children.length=r,this.markDirty()),new O(this.mark,t,s)}domAtPos(e){return mf(this,e)}coordsAt(e,t){return Sf(this,e,t)}};function mg(O,e,t){let i=O.nodeValue.length;e>i&&(e=i);let r=e,n=e,s=0;e==0&&t<0||e==i&&t>=0?q.chrome||q.gecko||(e?(r--,s=1):n=0)?0:o.length-1];return q.safari&&!s&&a.width==0&&(a=Array.prototype.find.call(o,l=>l.width)||a),s?Pn(a,s<0):a||null}var Ui=class O extends re{static create(e,t,i){return new O(e,t,i)}constructor(e,t,i){super(),this.widget=e,this.length=t,this.side=i,this.prevWidget=null}split(e){let t=O.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,t,i,r,n,s){return i&&(!(i instanceof O)||!this.widget.compare(i.widget)||e>0&&n<=0||t0)?Re.before(this.dom):Re.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let i=this.widget.coordsAt(this.dom,e,t);if(i)return i;let r=this.dom.getClientRects(),n=null;if(!r.length)return null;let s=this.side?this.side<0:e>0;for(let o=s?r.length-1:0;n=r[o],!(e>0?o==0:o==r.length-1||n.top0?Re.before(this.dom):Re.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return G.empty}get isHidden(){return!0}};Pt.prototype.children=Ui.prototype.children=_i.prototype.children=Io;function mf(O,e){let t=O.dom,{children:i}=O,r=0;for(let n=0;rn&&e0;n--){let s=i[n-1];if(s.dom.parentNode==t)return s.domAtPos(s.length)}for(let n=r;n0&&e instanceof Dt&&r.length&&(i=r[r.length-1])instanceof Dt&&i.mark.eq(e.mark)?gf(i,e.children[0],t-1):(r.push(e),e.setParent(O)),O.length+=e.length}function Sf(O,e,t){let i=null,r=-1,n=null,s=-1;function o(l,h){for(let c=0,f=0;c=h&&(d.children.length?o(d,h-f):(!n||n.isHidden&&(t>0||Sg(n,d)))&&(Q>h||f==Q&&d.getSide()>0)?(n=d,s=h-f):(f-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let n of i)if(n!=t&&(r.indexOf(n)==-1||O[n]!==e[n]))return!1;return!0}function co(O,e,t){let i=!1;if(e)for(let r in e)t&&r in t||(i=!0,r=="style"?O.style.cssText="":O.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(i=!0,r=="style"?O.style.cssText=t[r]:O.setAttribute(r,t[r]));return i}function Pg(O){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new It(e,t,t,i,e.widget||null,!1)}static replace(e){let t=!!e.block,i,r;if(e.isBlockGap)i=-5e8,r=4e8;else{let{start:n,end:s}=Pf(e,t);i=(n?t?-3e8:-1:5e8)-1,r=(s?t?2e8:1:-6e8)+1}return new It(e,i,r,t,e.widget||null,!0)}static line(e){return new Ci(e)}static set(e,t=!1){return N.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};R.none=N.empty;var ji=class O extends R{constructor(e){let{start:t,end:i}=Pf(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,i;return this==e||e instanceof O&&this.tagName==e.tagName&&(this.class||((t=this.attrs)===null||t===void 0?void 0:t.class))==(e.class||((i=e.attrs)===null||i===void 0?void 0:i.class))&&an(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};ji.prototype.point=!1;var Ci=class O extends R{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof O&&this.spec.class==e.spec.class&&an(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};Ci.prototype.mapMode=$e.TrackBefore;Ci.prototype.point=!0;var It=class O extends R{constructor(e,t,i,r,n,s){super(t,i,n,e),this.block=r,this.isReplace=s,this.mapMode=r?t<=0?$e.TrackBefore:$e.TrackAfter:$e.TrackDel}get type(){return this.startSide!=this.endSide?ze.WidgetRange:this.startSide<=0?ze.WidgetBefore:ze.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof O&&yg(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};It.prototype.point=!0;function Pf(O,e=!1){let{inclusiveStart:t,inclusiveEnd:i}=O;return t==null&&(t=O.inclusive),i==null&&(i=O.inclusive),{start:t??e,end:i??e}}function yg(O,e){return O==e||!!(O&&e&&O.compare(e))}function Jr(O,e,t,i=0){let r=t.length-1;r>=0&&t[r]+i>=O?t[r]=Math.max(t[r],e):t.push(O,e)}var ye=class O extends re{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,i,r,n,s){if(i){if(!(i instanceof O))return!1;this.dom||i.transferDOM(this)}return r&&this.setDeco(i?i.attrs:null),Qf(this,e,t,i?i.children.slice():[],n,s),!0}split(e){let t=new O;if(t.breakAfter=this.breakAfter,this.length==0)return t;let{i,off:r}=this.childPos(e);r&&(t.append(this.children[i].split(r),0),this.children[i].merge(r,this.children[i].length,null,!1,0,0),i++);for(let n=i;n0&&this.children[i-1].length==0;)this.children[--i].destroy();return this.children.length=i,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){an(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){gf(this,e,t)}addLineDeco(e){let t=e.spec.attributes,i=e.spec.class;t&&(this.attrs=ho(t,this.attrs||{})),i&&(this.attrs=ho({class:i},this.attrs||{}))}domAtPos(e){return mf(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,t){var i;this.dom?this.flags&4&&(hf(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(co(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let r=this.dom.lastChild;for(;r&&re.get(r)instanceof Dt;)r=r.lastChild;if(!r||!this.length||r.nodeName!="BR"&&((i=re.get(r))===null||i===void 0?void 0:i.isEditable)==!1&&(!q.ios||!this.children.some(n=>n instanceof Pt))){let n=document.createElement("BR");n.cmIgnore=!0,this.dom.appendChild(n)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,t;for(let i of this.children){if(!(i instanceof Pt)||/[^ -~]/.test(i.text))return null;let r=Vi(i.dom);if(r.length!=1)return null;e+=r[0].width,t=r[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(e,t){let i=Sf(this,e,t);if(!this.children.length&&i&&this.parent){let{heightOracle:r}=this.parent.view.viewState,n=i.bottom-i.top;if(Math.abs(n-r.lineHeight)<2&&r.textHeight=t){if(n instanceof O)return n;if(s>t)break}r=s+n.breakAfter}return null}},uO=class O extends re{constructor(e,t,i){super(),this.widget=e,this.length=t,this.deco=i,this.breakAfter=0,this.prevWidget=null}merge(e,t,i,r,n,s){return i&&(!(i instanceof O)||!this.widget.compare(i.widget)||e>0&&n<=0||t0}},Gi=class extends Ue{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}},vi=class O{constructor(e,t,i,r){this.doc=e,this.pos=t,this.end=i,this.disallowBlockEffectsFor=r,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof uO&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new ye),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(Ar(new _i(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,!this.posCovered()&&!(e&&this.content.length&&this.content[this.content.length-1]instanceof uO)&&this.getLine()}buildText(e,t,i){for(;e>0;){if(this.textOff==this.text.length){let{value:n,lineBreak:s,done:o}=this.cursor.next(this.skip);if(this.skip=0,o)throw new Error("Ran out of text content when drawing inline views");if(s){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}else this.text=n,this.textOff=0}let r=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-i)),this.getLine().append(Ar(new Pt(this.text.slice(this.textOff,this.textOff+r)),t),i),this.atCursorPos=!0,this.textOff+=r,e-=r,i=0}}span(e,t,i,r){this.buildText(t-e,i,r),this.pos=t,this.openStart<0&&(this.openStart=r)}point(e,t,i,r,n,s){if(this.disallowBlockEffectsFor[s]&&i instanceof It){if(i.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let o=t-e;if(i instanceof It)if(i.block)i.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new uO(i.widget||Bt.block,o,i));else{let a=Ui.create(i.widget||Bt.inline,o,o?0:i.startSide),l=this.atCursorPos&&!a.isEditable&&n<=r.length&&(e0),h=!a.isEditable&&(er.length||i.startSide<=0),c=this.getLine();this.pendingBuffer==2&&!l&&!a.isEditable&&(this.pendingBuffer=0),this.flushBuffer(r),l&&(c.append(Ar(new _i(1),r),n),n=r.length+Math.max(0,n-r.length)),c.append(Ar(a,r),n),this.atCursorPos=h,this.pendingBuffer=h?er.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=r.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(i);o&&(this.textOff+o<=this.text.length?this.textOff+=o:(this.skip+=o-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=n)}static build(e,t,i,r,n){let s=new O(e,t,i,n);return s.openEnd=N.spans(r,t,i,s),s.openStart<0&&(s.openStart=s.openEnd),s.finish(s.openEnd),s}};function Ar(O,e){for(let t of e)O=new Dt(t,[O],O.length);return O}var Bt=class extends Ue{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};Bt.inline=new Bt("span");Bt.block=new Bt("div");var J=function(O){return O[O.LTR=0]="LTR",O[O.RTL=1]="RTL",O}(J||(J={})),pO=J.LTR,Bo=J.RTL;function yf(O){let e=[];for(let t=0;t=t){if(o.level==i)return s;(n<0||(r!=0?r<0?o.fromt:e[n].level>o.level))&&(n=s)}}if(n<0)throw new RangeError("Index out of range");return n}};function xf(O,e){if(O.length!=e.length)return!1;for(let t=0;t=0;p-=3)if(pt[p+1]==-d){let $=pt[p+2],m=$&2?r:$&4?$&1?n:r:0;m&&(te[c]=te[pt[p]]=m),o=p;break}}else{if(pt.length==189)break;pt[o++]=c,pt[o++]=f,pt[o++]=a}else if((Q=te[c])==2||Q==1){let p=Q==r;a=p?0:1;for(let $=o-3;$>=0;$-=3){let m=pt[$+2];if(m&2)break;if(p)pt[$+2]|=2;else{if(m&4)break;pt[$+2]|=4}}}}}function wg(O,e,t,i){for(let r=0,n=i;r<=t.length;r++){let s=r?t[r-1].to:O,o=ra;)Q==$&&(Q=t[--p].from,$=p?t[p-1].to:O),te[--Q]=d;a=h}else n=l,a++}}}function uo(O,e,t,i,r,n,s){let o=i%2?2:1;if(i%2==r%2)for(let a=e,l=0;aa&&s.push(new mt(a,p.from,d));let $=p.direction==pO!=!(d%2);Qo(O,$?i+1:i,r,p.inner,p.from,p.to,s),a=p.to}Q=p.to}else{if(Q==t||(h?te[Q]!=o:te[Q]==o))break;Q++}f?uo(O,a,Q,i+1,r,f,s):ae;){let h=!0,c=!1;if(!l||a>n[l-1].to){let p=te[a-1];p!=o&&(h=!1,c=p==16)}let f=!h&&o==1?[]:null,d=h?i:i+1,Q=a;e:for(;;)if(l&&Q==n[l-1].to){if(c)break e;let p=n[--l];if(!h)for(let $=p.from,m=l;;){if($==e)break e;if(m&&n[m-1].to==$)$=n[--m].from;else{if(te[$-1]==o)break e;break}}if(f)f.push(p);else{p.tote.length;)te[te.length]=256;let i=[],r=e==pO?0:1;return Qo(O,r,r,t,0,O.length,i),i}function bf(O){return[new mt(0,O,0)]}var Tf="";function qg(O,e,t,i,r){var n;let s=i.head-O.from,o=mt.find(e,s,(n=i.bidiLevel)!==null&&n!==void 0?n:-1,i.assoc),a=e[o],l=a.side(r,t);if(s==l){let f=o+=r?1:-1;if(f<0||f>=e.length)return null;a=e[o=f],s=a.side(!r,t),l=a.side(r,t)}let h=Qe(O.text,s,a.forward(r,t));(ha.to)&&(h=l),Tf=O.text.slice(Math.min(s,h),Math.max(s,h));let c=o==(r?e.length-1:0)?null:e[o+(r?1:-1)];return c&&h==l&&c.level+(r?0:1)O.some(e=>e)}),Wf=v.define({combine:O=>O.some(e=>e)}),Zf=v.define(),qi=class O{constructor(e,t="nearest",i="nearest",r=5,n=5,s=!1){this.range=e,this.y=t,this.x=i,this.yMargin=r,this.xMargin=n,this.isSnapshot=s}map(e){return e.empty?this:new O(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new O(S.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Lr=W.define({map:(O,e)=>O.map(e)}),Vf=W.define();function Xe(O,e,t){let i=O.facet(qf);i.length?i[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var zt=v.define({combine:O=>O.length?O[0]:!0}),zg=0,LO=v.define({combine(O){return O.filter((e,t)=>{for(let i=0;i{let a=[];return s&&a.push(Ei.of(l=>{let h=l.plugin(o);return h?s(h):R.none})),n&&a.push(n(o)),a})}static fromClass(e,t){return O.define((i,r)=>new e(i,r),t)}},Ri=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(i){if(Xe(t.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){Xe(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(i){Xe(e.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},Uf=v.define(),Ho=v.define(),Ei=v.define(),_f=v.define(),Ko=v.define(),jf=v.define();function Tc(O,e){let t=O.state.facet(jf);if(!t.length)return t;let i=t.map(n=>n instanceof Function?n(O):n),r=[];return N.spans(i,e.from,e.to,{point(){},span(n,s,o,a){let l=n-e.from,h=s-e.from,c=r;for(let f=o.length-1;f>=0;f--,a--){let d=o[f].spec.bidiIsolate,Q;if(d==null&&(d=Rg(e.text,l,h)),a>0&&c.length&&(Q=c[c.length-1]).to==l&&Q.direction==d)Q.to=h,c=Q.inner;else{let p={from:l,to:h,direction:d,inner:[]};c.push(p),c=p.inner}}}}),r}var Cf=v.define();function Jo(O){let e=0,t=0,i=0,r=0;for(let n of O.state.facet(Cf)){let s=n(O);s&&(s.left!=null&&(e=Math.max(e,s.left)),s.right!=null&&(t=Math.max(t,s.right)),s.top!=null&&(i=Math.max(i,s.top)),s.bottom!=null&&(r=Math.max(r,s.bottom)))}return{left:e,right:t,top:i,bottom:r}}var xi=v.define(),gt=class O{constructor(e,t,i,r){this.fromA=e,this.toA=t,this.fromB=i,this.toB=r}join(e){return new O(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,i=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>i.toA)){if(r.toAh)break;n+=2}if(!a)return i;new O(a.fromA,a.toA,a.fromB,a.toB).addToSet(i),s=a.toA,o=a.toB}}},ln=class O{constructor(e,t,i){this.view=e,this.state=t,this.transactions=i,this.flags=0,this.startState=e.state,this.changes=ve.empty(this.startState.doc.length);for(let n of i)this.changes=this.changes.compose(n.changes);let r=[];this.changes.iterChangedRanges((n,s,o,a)=>r.push(new gt(n,s,o,a))),this.changedRanges=r}static create(e,t,i){return new O(e,t,i)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},hn=class extends re{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=R.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new ye],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new gt(0,0,0,e.state.doc.length)],0,null)}update(e){var t;let i=e.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:l,toA:h})=>hthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!jg(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let n=r>-1?Wg(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:l,to:h}=this.hasComposition;i=new gt(l,h,e.changes.mapPos(l,-1),e.changes.mapPos(h,1)).addToSet(i.slice())}this.hasComposition=n?{from:n.range.fromB,to:n.range.toB}:null,(q.ie||q.chrome)&&!n&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let s=this.decorations,o=this.updateDeco(),a=Ug(s,o,e.changes);return i=gt.extendWithRanges(i,a),!(this.flags&7)&&i.length==0?!1:(this.updateInner(i,e.startState.doc.length,n),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,i){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,i);let{observer:r}=this.view;r.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=q.chrome||q.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,s),this.flags&=-8,s&&(s.written||r.selectionRange.focusNode!=s.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(s=>s.flags&=-9);let n=[];if(this.view.viewport.from||this.view.viewport.to=0?r[s]:null;if(!o)break;let{fromA:a,toA:l,fromB:h,toB:c}=o,f,d,Q,p;if(i&&i.range.fromBh){let X=vi.build(this.view.state.doc,h,i.range.fromB,this.decorations,this.dynamicDecorationMap),P=vi.build(this.view.state.doc,i.range.toB,c,this.decorations,this.dynamicDecorationMap);d=X.breakAtStart,Q=X.openStart,p=P.openEnd;let T=this.compositionView(i);P.breakAtStart?T.breakAfter=1:P.content.length&&T.merge(T.length,T.length,P.content[0],!1,P.openStart,0)&&(T.breakAfter=P.content[0].breakAfter,P.content.shift()),X.content.length&&T.merge(0,0,X.content[X.content.length-1],!0,0,X.openEnd)&&X.content.pop(),f=X.content.concat(T).concat(P.content)}else({content:f,breakAtStart:d,openStart:Q,openEnd:p}=vi.build(this.view.state.doc,h,c,this.decorations,this.dynamicDecorationMap));let{i:$,off:m}=n.findPos(l,1),{i:g,off:y}=n.findPos(a,-1);df(this,g,y,$,m,f,d,Q,p)}i&&this.fixCompositionDOM(i)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let i of t.effects)i.is(Vf)&&(this.editContextFormatting=i.value)}compositionView(e){let t=new Pt(e.text.nodeValue);t.flags|=8;for(let{deco:r}of e.marks)t=new Dt(r,[t],t.length);let i=new ye;return i.append(t,0),i}fixCompositionDOM(e){let t=(n,s)=>{s.flags|=8|(s.children.some(a=>a.flags&7)?1:0),this.markedForComposition.add(s);let o=re.get(n);o&&o!=s&&(o.dom=null),s.setDOM(n)},i=this.childPos(e.range.fromB,1),r=this.children[i.i];t(e.line,r);for(let n=e.marks.length-1;n>=-1;n--)i=r.childPos(i.off,1),r=r.children[i.i],t(n>=0?e.marks[n].node:e.text,r)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let i=this.view.root.activeElement,r=i==this.dom,n=!r&&!(this.view.state.facet(zt)||this.dom.tabIndex>-1)&&Kr(this.dom,this.view.observer.selectionRange)&&!(i&&this.dom.contains(i));if(!(r||t||n))return;let s=this.forceSelection;this.forceSelection=!1;let o=this.view.state.selection.main,a=this.moveToLine(this.domAtPos(o.anchor)),l=o.empty?a:this.moveToLine(this.domAtPos(o.head));if(q.gecko&&o.empty&&!this.hasComposition&&Yg(a)){let c=document.createTextNode("");this.view.observer.ignore(()=>a.node.insertBefore(c,a.node.childNodes[a.offset]||null)),a=l=new Re(c,0),s=!0}let h=this.view.observer.selectionRange;(s||!h.focusNode||(!wi(a.node,a.offset,h.anchorNode,h.anchorOffset)||!wi(l.node,l.offset,h.focusNode,h.focusOffset))&&!this.suppressWidgetCursorChange(h,o))&&(this.view.observer.ignore(()=>{q.android&&q.chrome&&this.dom.contains(h.focusNode)&&_g(h.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let c=Zi(this.view.root);if(c)if(o.empty){if(q.gecko){let f=Zg(a.node,a.offset);if(f&&f!=3){let d=(f==1?ff:uf)(a.node,a.offset);d&&(a=new Re(d.node,d.offset))}}c.collapse(a.node,a.offset),o.bidiLevel!=null&&c.caretBidiLevel!==void 0&&(c.caretBidiLevel=o.bidiLevel)}else if(c.extend){c.collapse(a.node,a.offset);try{c.extend(l.node,l.offset)}catch{}}else{let f=document.createRange();o.anchor>o.head&&([a,l]=[l,a]),f.setEnd(l.node,l.offset),f.setStart(a.node,a.offset),c.removeAllRanges(),c.addRange(f)}n&&this.view.root.activeElement==this.dom&&(this.dom.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(a,l)),this.impreciseAnchor=a.precise?null:new Re(h.anchorNode,h.anchorOffset),this.impreciseHead=l.precise?null:new Re(h.focusNode,h.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&wi(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,i=Zi(e.root),{anchorNode:r,anchorOffset:n}=e.observer.selectionRange;if(!i||!t.empty||!t.assoc||!i.modify)return;let s=ye.find(this,t.head);if(!s)return;let o=s.posAtStart;if(t.head==o||t.head==o+s.length)return;let a=this.coordsAt(t.head,-1),l=this.coordsAt(t.head,1);if(!a||!l||a.bottom>l.top)return;let h=this.domAtPos(t.head+t.assoc);i.collapse(h.node,h.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let c=e.observer.selectionRange;e.docView.posFromDOM(c.anchorNode,c.anchorOffset)!=t.from&&i.collapse(r,n)}moveToLine(e){let t=this.dom,i;if(e.node!=t)return e;for(let r=e.offset;!i&&r=0;r--){let n=re.get(t.childNodes[r]);n instanceof ye&&(i=n.domAtPos(n.length))}return i?new Re(i.node,i.offset,!0):e}nearest(e){for(let t=e;t;){let i=re.get(t);if(i&&i.rootView==this)return i;t=t.parentNode}return null}posFromDOM(e,t){let i=this.nearest(e);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(e,t)+i.posAtStart}domAtPos(e){let{i:t,off:i}=this.childCursor().findPos(e,-1);for(;t=0;s--){let o=this.children[s],a=n-o.breakAfter,l=a-o.length;if(ae||o.covers(1))&&(!i||o instanceof ye&&!(i instanceof ye&&t>=0)))i=o,r=l;else if(i&&l==e&&a==e&&o instanceof uO&&Math.abs(t)<2){if(o.deco.startSide<0)break;s&&(i=null)}n=l}return i?i.coordsAt(e-r,t):null}coordsForChar(e){let{i:t,off:i}=this.childPos(e,1),r=this.children[t];if(!(r instanceof ye))return null;for(;r.children.length;){let{i:o,off:a}=r.childPos(i,1);for(;;o++){if(o==r.children.length)return null;if((r=r.children[o]).length)break}i=a}if(!(r instanceof Pt))return null;let n=Qe(r.text,i);if(n==i)return null;let s=QO(r.dom,i,n).getClientRects();for(let o=0;oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,a=this.view.textDirection==J.LTR;for(let l=0,h=0;hr)break;if(l>=i){let d=c.dom.getBoundingClientRect();if(t.push(d.height),s){let Q=c.dom.lastChild,p=Q?Vi(Q):[];if(p.length){let $=p[p.length-1],m=a?$.right-d.left:d.right-$.left;m>o&&(o=m,this.minWidth=n,this.minWidthFrom=l,this.minWidthTo=f)}}}l=f+c.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return getComputedStyle(this.children[t].dom).direction=="rtl"?J.RTL:J.LTR}measureTextSize(){for(let n of this.children)if(n instanceof ye){let s=n.measureTextSize();if(s)return s}let e=document.createElement("div"),t,i,r;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let n=Vi(e.firstChild)[0];t=e.getBoundingClientRect().height,i=n?n.width/27:7,r=n?n.height:t,e.remove()}),{lineHeight:t,charWidth:i,textHeight:r}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new on(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,r=0;;r++){let n=r==t.viewports.length?null:t.viewports[r],s=n?n.from-1:this.length;if(s>i){let o=(t.lineBlockAt(s).bottom-t.lineBlockAt(i).top)/this.view.scaleY;e.push(R.replace({widget:new Gi(o),block:!0,inclusive:!0,isBlockGap:!0}).range(i,s))}if(!n)break;i=n.to+1}return R.set(e)}updateDeco(){let e=1,t=this.view.state.facet(Ei).map(n=>(this.dynamicDecorationMap[e++]=typeof n=="function")?n(this.view):n),i=!1,r=this.view.state.facet(_f).map((n,s)=>{let o=typeof n=="function";return o&&(i=!0),o?n(this.view):n});for(r.length&&(this.dynamicDecorationMap[e++]=i,t.push(N.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];et.anchor?-1:1),r;if(!i)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(i={left:Math.min(i.left,r.left),top:Math.min(i.top,r.top),right:Math.max(i.right,r.right),bottom:Math.max(i.bottom,r.bottom)});let n=Jo(this.view),s={left:i.left-n.left,top:i.top-n.top,right:i.right+n.right,bottom:i.bottom+n.bottom},{offsetWidth:o,offsetHeight:a}=this.view.scrollDOM;ug(this.view.scrollDOM,s,t.head{ie.from&&(t=!0)}),t}function Cg(O,e,t=1){let i=O.charCategorizer(e),r=O.doc.lineAt(e),n=e-r.from;if(r.length==0)return S.cursor(e);n==0?t=1:n==r.length&&(t=-1);let s=n,o=n;t<0?s=Qe(r.text,n,!1):o=Qe(r.text,n);let a=i(r.text.slice(s,o));for(;s>0;){let l=Qe(r.text,s,!1);if(i(r.text.slice(l,s))!=a)break;s=l}for(;oO?e.left-O:Math.max(0,O-e.right)}function Eg(O,e){return e.top>O?e.top-O:Math.max(0,O-e.bottom)}function Js(O,e){return O.tope.top+1}function kc(O,e){return eO.bottom?{top:O.top,left:O.left,right:O.right,bottom:e}:O}function $o(O,e,t){let i,r,n,s,o=!1,a,l,h,c;for(let Q=O.firstChild;Q;Q=Q.nextSibling){let p=Vi(Q);for(let $=0;$y||s==y&&n>g)&&(i=Q,r=m,n=g,s=y,o=g?e0:$m.bottom&&(!h||h.bottomm.top)&&(l=Q,c=m):h&&Js(h,m)?h=wc(h,m.bottom):c&&Js(c,m)&&(c=kc(c,m.top))}}if(h&&h.bottom>=t?(i=a,r=h):c&&c.top<=t&&(i=l,r=c),!i)return{node:O,offset:0};let f=Math.max(r.left,Math.min(r.right,e));if(i.nodeType==3)return vc(i,f,t);if(o&&i.contentEditable!="false")return $o(i,f,t);let d=Array.prototype.indexOf.call(O.childNodes,i)+(e>=(r.left+r.right)/2?1:0);return{node:O,offset:d}}function vc(O,e,t){let i=O.nodeValue.length,r=-1,n=1e9,s=0;for(let o=0;ot?h.top-t:t-h.bottom)-1;if(h.left-1<=e&&h.right+1>=e&&c=(h.left+h.right)/2,d=f;if((q.chrome||q.gecko)&&QO(O,o).getBoundingClientRect().left==h.right&&(d=!f),c<=0)return{node:O,offset:o+(d?1:0)};r=o+(d?1:0),n=c}}}return{node:O,offset:r>-1?r:s>0?O.nodeValue.length:0}}function Ef(O,e,t,i=-1){var r,n;let s=O.contentDOM.getBoundingClientRect(),o=s.top+O.viewState.paddingTop,a,{docHeight:l}=O.viewState,{x:h,y:c}=e,f=c-o;if(f<0)return 0;if(f>l)return O.state.doc.length;for(let X=O.viewState.heightOracle.textHeight/2,P=!1;a=O.elementAtHeight(f),a.type!=ze.Text;)for(;f=i>0?a.bottom+X:a.top-X,!(f>=0&&f<=l);){if(P)return t?null:0;P=!0,i=-i}c=o+f;let d=a.from;if(dO.viewport.to)return O.viewport.to==O.state.doc.length?O.state.doc.length:t?null:qc(O,s,a,h,c);let Q=O.dom.ownerDocument,p=O.root.elementFromPoint?O.root:Q,$=p.elementFromPoint(h,c);$&&!O.contentDOM.contains($)&&($=null),$||(h=Math.max(s.left+1,Math.min(s.right-1,h)),$=p.elementFromPoint(h,c),$&&!O.contentDOM.contains($)&&($=null));let m,g=-1;if($&&((r=O.docView.nearest($))===null||r===void 0?void 0:r.isEditable)!=!1){if(Q.caretPositionFromPoint){let X=Q.caretPositionFromPoint(h,c);X&&({offsetNode:m,offset:g}=X)}else if(Q.caretRangeFromPoint){let X=Q.caretRangeFromPoint(h,c);X&&({startContainer:m,startOffset:g}=X,(!O.contentDOM.contains(m)||q.safari&&Ag(m,g,h)||q.chrome&&Lg(m,g,h))&&(m=void 0))}m&&(g=Math.min(St(m),g))}if(!m||!O.docView.dom.contains(m)){let X=ye.find(O.docView,d);if(!X)return f>a.top+a.height/2?a.to:a.from;({node:m,offset:g}=$o(X.dom,h,c))}let y=O.docView.nearest(m);if(!y)return null;if(y.isWidget&&((n=y.dom)===null||n===void 0?void 0:n.nodeType)==1){let X=y.dom.getBoundingClientRect();return e.yO.defaultLineHeight*1.5){let o=O.viewState.heightOracle.textHeight,a=Math.floor((r-t.top-(O.defaultLineHeight-o)*.5)/o);n+=a*O.viewState.heightOracle.lineLength}let s=O.state.sliceDoc(t.from,t.to);return t.from+Gr(s,n,O.state.tabSize)}function Ag(O,e,t){let i,r=O;if(O.nodeType!=3||e!=(i=O.nodeValue.length))return!1;for(;;){let n=r.nextSibling;if(n){if(n.nodeName=="BR")break;return!1}else{let s=r.parentNode;if(!s||s.nodeName=="DIV")break;r=s}}return QO(O,i-1,i).getBoundingClientRect().right>t}function Lg(O,e,t){if(e!=0)return!1;for(let r=O;;){let n=r.parentNode;if(!n||n.nodeType!=1||n.firstChild!=r)return!1;if(n.classList.contains("cm-line"))break;r=n}let i=O.nodeType==1?O.getBoundingClientRect():QO(O,0,Math.max(O.nodeValue.length,1)).getBoundingClientRect();return t-i.left>5}function mo(O,e,t){let i=O.lineBlockAt(e);if(Array.isArray(i.type)){let r;for(let n of i.type){if(n.from>e)break;if(!(n.toe)return n;(!r||n.type==ze.Text&&(r.type!=n.type||(t<0?n.frome)))&&(r=n)}}return r||i}return i}function Mg(O,e,t,i){let r=mo(O,e.head,e.assoc||-1),n=!i||r.type!=ze.Text||!(O.lineWrapping||r.widgetLineBreaks)?null:O.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(n){let s=O.dom.getBoundingClientRect(),o=O.textDirectionAt(r.from),a=O.posAtCoords({x:t==(o==J.LTR)?s.right-1:s.left+1,y:(n.top+n.bottom)/2});if(a!=null)return S.cursor(a,t?-1:1)}return S.cursor(t?r.to:r.from,t?-1:1)}function Rc(O,e,t,i){let r=O.state.doc.lineAt(e.head),n=O.bidiSpans(r),s=O.textDirectionAt(r.from);for(let o=e,a=null;;){let l=qg(r,n,s,o,t),h=Tf;if(!l){if(r.number==(t?O.state.doc.lines:1))return o;h=` +`,r=O.state.doc.line(r.number+(t?1:-1)),n=O.bidiSpans(r),l=O.visualLineSide(r,!t)}if(a){if(!a(h))return o}else{if(!i)return l;a=i(h)}o=l}}function Dg(O,e,t){let i=O.state.charCategorizer(e),r=i(t);return n=>{let s=i(n);return r==K.Space&&(r=s),r==s}}function Ig(O,e,t,i){let r=e.head,n=t?1:-1;if(r==(t?O.state.doc.length:0))return S.cursor(r,e.assoc);let s=e.goalColumn,o,a=O.contentDOM.getBoundingClientRect(),l=O.coordsAtPos(r,e.assoc||-1),h=O.documentTop;if(l)s==null&&(s=l.left-a.left),o=n<0?l.top:l.bottom;else{let d=O.viewState.lineBlockAt(r);s==null&&(s=Math.min(a.right-a.left,O.defaultCharacterWidth*(r-d.from))),o=(n<0?d.top:d.bottom)+h}let c=a.left+s,f=i??O.viewState.heightOracle.textHeight>>1;for(let d=0;;d+=10){let Q=o+(f+d)*n,p=Ef(O,{x:c,y:Q},!1,n);if(Qa.bottom||(n<0?pr)){let $=O.docView.coordsForChar(p),m=!$||Q<$.top?-1:1;return S.cursor(p,m,void 0,s)}}}function en(O,e,t){for(;;){let i=0;for(let r of O)r.between(e-1,e+1,(n,s,o)=>{if(e>n&&er(O)),t.from,e.head>t.from?-1:1);return i==t.from?t:S.cursor(i,in)&&this.lineBreak(),r=s}return this.findPointBefore(i,t),this}readTextNode(e){let t=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,t.length));for(let i=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let n=-1,s=1,o;if(this.lineSeparator?(n=t.indexOf(this.lineSeparator,i),s=this.lineSeparator.length):(o=r.exec(t))&&(n=o.index,s=o[0].length),this.append(t.slice(i,n<0?t.length:n)),n<0)break;if(this.lineBreak(),s>1)for(let a of this.points)a.node==e&&a.pos>this.text.length&&(a.pos-=s-1);i=n+s}}readNode(e){if(e.cmIgnore)return;let t=re.get(e),i=t&&t.overrideDOMText;if(i!=null){this.findPointInside(e,i.length);for(let r=i.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(let i of this.points)(e.nodeType==3?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(Bg(e,i.node,i.offset)?t:0))}};function Bg(O,e,t){for(;;){if(!e||t-1;let{impreciseHead:n,impreciseAnchor:s}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,i,0))){let o=n||s?[]:Hg(e),a=new go(o,e.state);a.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=a.text,this.newSel=Kg(o,this.bounds.from)}else{let o=e.observer.selectionRange,a=n&&n.node==o.focusNode&&n.offset==o.focusOffset||!no(e.contentDOM,o.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(o.focusNode,o.focusOffset),l=s&&s.node==o.anchorNode&&s.offset==o.anchorOffset||!no(e.contentDOM,o.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(o.anchorNode,o.anchorOffset),h=e.viewport;if((q.ios||q.chrome)&&e.state.selection.main.empty&&a!=l&&(h.from>0||h.toDate.now()-100?O.inputState.lastKeyCode:-1;if(e.bounds){let{from:s,to:o}=e.bounds,a=r.from,l=null;(n===8||q.android&&e.text.length=r.from&&t.to<=r.to&&(t.from!=r.from||t.to!=r.to)&&r.to-r.from-(t.to-t.from)<=4?t={from:r.from,to:r.to,insert:O.state.doc.slice(r.from,t.from).append(t.insert).append(O.state.doc.slice(t.to,r.to))}:q.chrome&&t&&t.from==t.to&&t.from==r.head&&t.insert.toString()==` + `&&O.lineWrapping&&(i&&(i=S.single(i.main.anchor-1,i.main.head-1)),t={from:r.from,to:r.to,insert:G.of([" "])}),t)return ea(O,t,i,n);if(i&&!i.main.eq(r)){let s=!1,o="select";return O.inputState.lastSelectionTime>Date.now()-50&&(O.inputState.lastSelectionOrigin=="select"&&(s=!0),o=O.inputState.lastSelectionOrigin),O.dispatch({selection:i,scrollIntoView:s,userEvent:o}),!0}else return!1}function ea(O,e,t,i=-1){if(q.ios&&O.inputState.flushIOSKey(e))return!0;let r=O.state.selection.main;if(q.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&O.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&BO(O.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||i==8&&e.insert.lengthr.head)&&BO(O.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&BO(O.contentDOM,"Delete",46)))return!0;let n=e.insert.toString();O.inputState.composing>=0&&O.inputState.composing++;let s,o=()=>s||(s=Ng(O,e,t));return O.state.facet(Rf).some(a=>a(O,e.from,e.to,n,o))||O.dispatch(o()),!0}function Ng(O,e,t){let i,r=O.state,n=r.selection.main;if(e.from>=n.from&&e.to<=n.to&&e.to-e.from>=(n.to-n.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&O.inputState.composing<0){let o=n.frome.to?r.sliceDoc(e.to,n.to):"";i=r.replaceSelection(O.state.toText(o+e.insert.sliceString(0,void 0,O.state.lineBreak)+a))}else{let o=r.changes(e),a=t&&t.main.to<=o.newLength?t.main:void 0;if(r.selection.ranges.length>1&&O.inputState.composing>=0&&e.to<=n.to&&e.to>=n.to-10){let l=O.state.sliceDoc(e.from,e.to),h,c=t&&Gf(O,t.main.head);if(c){let Q=e.insert.length-(e.to-e.from);h={from:c.from,to:c.to-Q}}else h=O.state.doc.lineAt(n.head);let f=n.to-e.to,d=n.to-n.from;i=r.changeByRange(Q=>{if(Q.from==n.from&&Q.to==n.to)return{changes:o,range:a||Q.map(o)};let p=Q.to-f,$=p-l.length;if(Q.to-Q.from!=d||O.state.sliceDoc($,p)!=l||Q.to>=h.from&&Q.from<=h.to)return{range:Q};let m=r.changes({from:$,to:p,insert:e.insert}),g=Q.to-n.to;return{changes:m,range:a?S.range(Math.max(0,a.anchor+g),Math.max(0,a.head+g)):Q.map(m)}})}else i={changes:o,selection:a&&r.selection.replaceRange(a)}}let s="input.type";return(O.composing||O.inputState.compositionPendingChange&&O.inputState.compositionEndedAt>Date.now()-50)&&(O.inputState.compositionPendingChange=!1,s+=".compose",O.inputState.compositionFirstChange&&(s+=".start",O.inputState.compositionFirstChange=!1)),r.update(i,{userEvent:s,scrollIntoView:!0})}function Fg(O,e,t,i){let r=Math.min(O.length,e.length),n=0;for(;n0&&o>0&&O.charCodeAt(s-1)==e.charCodeAt(o-1);)s--,o--;if(i=="end"){let a=Math.max(0,n-Math.min(s,o));t-=s+a-n}if(s=s?n-t:0;n-=a,o=n+(o-s),s=n}else if(o=o?n-t:0;n-=a,s=n+(s-o),o=n}return{from:n,toA:s,toB:o}}function Hg(O){let e=[];if(O.root.activeElement!=O.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:r,focusOffset:n}=O.observer.selectionRange;return t&&(e.push(new cn(t,i)),(r!=t||n!=i)&&e.push(new cn(r,n))),e}function Kg(O,e){if(O.length==0)return null;let t=O[0].pos,i=O.length==2?O[1].pos:t;return t>-1&&i>-1?S.single(t+e,i+e):null}var Po=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,q.safari&&e.contentDOM.addEventListener("input",()=>null),q.gecko&&uS(e.contentDOM.ownerDocument)}handleEvent(e){!nS(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let r of i.observers)r(this.view,t);for(let r of i.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Jg(e),i=this.handlers,r=this.view.contentDOM;for(let n in t)if(n!="scroll"){let s=!t[n].handlers.length,o=i[n];o&&s!=!o.handlers.length&&(r.removeEventListener(n,this.handleEvent),o=null),o||r.addEventListener(n,this.handleEvent,{passive:s})}for(let n in i)n!="scroll"&&!t[n]&&r.removeEventListener(n,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Mf.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),q.android&&q.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return q.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=Lf.find(i=>i.keyCode==e.keyCode))&&!e.ctrlKey||eS.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:q.safari&&!q.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function zc(O,e){return(t,i)=>{try{return e.call(O,i,t)}catch(r){Xe(t.state,r)}}}function Jg(O){let e=Object.create(null);function t(i){return e[i]||(e[i]={observers:[],handlers:[]})}for(let i of O){let r=i.spec,n=r&&r.plugin.domEventHandlers,s=r&&r.plugin.domEventObservers;if(n)for(let o in n){let a=n[o];a&&t(o).handlers.push(zc(i.value,a))}if(s)for(let o in s){let a=s[o];a&&t(o).observers.push(zc(i.value,a))}}for(let i in lt)t(i).handlers.push(lt[i]);for(let i in rt)t(i).observers.push(rt[i]);return e}var Lf=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],eS="dthko",Mf=[16,17,18,20,91,92,224,225],Mr=6;function Dr(O){return Math.max(0,O)*.7+8}function tS(O,e){return Math.max(Math.abs(O.clientX-e.clientX),Math.abs(O.clientY-e.clientY))}var yo=class{constructor(e,t,i,r){this.view=e,this.startEvent=t,this.style=i,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=dg(e.contentDOM),this.atoms=e.state.facet(Ko).map(s=>s(e));let n=e.contentDOM.ownerDocument;n.addEventListener("mousemove",this.move=this.move.bind(this)),n.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(M.allowMultipleSelections)&&OS(e,t),this.dragging=rS(e,t)&&Bf(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&tS(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,i=0,r=0,n=0,s=this.view.win.innerWidth,o=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:s}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:n,bottom:o}=this.scrollParents.y.getBoundingClientRect());let a=Jo(this.view);e.clientX-a.left<=r+Mr?t=-Dr(r-e.clientX):e.clientX+a.right>=s-Mr&&(t=Dr(e.clientX-s)),e.clientY-a.top<=n+Mr?i=-Dr(n-e.clientY):e.clientY+a.bottom>=o-Mr&&(i=Dr(e.clientY-o)),this.setScrollSpeed(t,i)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let i=0;it.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function OS(O,e){let t=O.state.facet(kf);return t.length?t[0](e):q.mac?e.metaKey:e.ctrlKey}function iS(O,e){let t=O.state.facet(wf);return t.length?t[0](e):q.mac?!e.altKey:!e.ctrlKey}function rS(O,e){let{main:t}=O.state.selection;if(t.empty)return!1;let i=Zi(O.root);if(!i||i.rangeCount==0)return!0;let r=i.getRangeAt(0).getClientRects();for(let n=0;n=e.clientX&&s.top<=e.clientY&&s.bottom>=e.clientY)return!0}return!1}function nS(O,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,i;t!=O.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(i=re.get(t))&&i.ignoreEvent(e))return!1;return!0}var lt=Object.create(null),rt=Object.create(null),Df=q.ie&&q.ie_version<15||q.ios&&q.webkit_version<604;function sS(O){let e=O.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{O.focus(),t.remove(),If(O,t.value)},50)}function Xn(O,e,t){for(let i of O.facet(e))t=i(t,O);return t}function If(O,e){e=Xn(O.state,No,e);let{state:t}=O,i,r=1,n=t.toText(e),s=n.lines==t.selection.ranges.length;if(Xo!=null&&t.selection.ranges.every(a=>a.empty)&&Xo==n.toString()){let a=-1;i=t.changeByRange(l=>{let h=t.doc.lineAt(l.from);if(h.from==a)return{range:l};a=h.from;let c=t.toText((s?n.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:c},range:S.cursor(l.from+c.length)}})}else s?i=t.changeByRange(a=>{let l=n.line(r++);return{changes:{from:a.from,to:a.to,insert:l.text},range:S.cursor(a.from+l.length)}}):i=t.replaceSelection(n);O.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}rt.scroll=O=>{O.inputState.lastScrollTop=O.scrollDOM.scrollTop,O.inputState.lastScrollLeft=O.scrollDOM.scrollLeft};lt.keydown=(O,e)=>(O.inputState.setSelectionOrigin("select"),e.keyCode==27&&O.inputState.tabFocusMode!=0&&(O.inputState.tabFocusMode=Date.now()+2e3),!1);rt.touchstart=(O,e)=>{O.inputState.lastTouchTime=Date.now(),O.inputState.setSelectionOrigin("select.pointer")};rt.touchmove=O=>{O.inputState.setSelectionOrigin("select.pointer")};lt.mousedown=(O,e)=>{if(O.observer.flush(),O.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let i of O.state.facet(vf))if(t=i(O,e),t)break;if(!t&&e.button==0&&(t=lS(O,e)),t){let i=!O.hasFocus;O.inputState.startMouseSelection(new yo(O,e,t,i)),i&&O.observer.ignore(()=>{lf(O.contentDOM);let n=O.root.activeElement;n&&!n.contains(O.contentDOM)&&n.blur()});let r=O.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}return!1};function Yc(O,e,t,i){if(i==1)return S.cursor(e,t);if(i==2)return Cg(O.state,e,t);{let r=ye.find(O.docView,e),n=O.state.doc.lineAt(r?r.posAtEnd:e),s=r?r.posAtStart:n.from,o=r?r.posAtEnd:n.to;return oe>=t.top&&e<=t.bottom&&O>=t.left&&O<=t.right;function oS(O,e,t,i){let r=ye.find(O.docView,e);if(!r)return 1;let n=e-r.posAtStart;if(n==0)return 1;if(n==r.length)return-1;let s=r.coordsAt(n,-1);if(s&&Wc(t,i,s))return-1;let o=r.coordsAt(n,1);return o&&Wc(t,i,o)?1:s&&s.bottom>=i?-1:1}function Zc(O,e){let t=O.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:t,bias:oS(O,t,e.clientX,e.clientY)}}var aS=q.ie&&q.ie_version<=11,Vc=null,Uc=0,_c=0;function Bf(O){if(!aS)return O.detail;let e=Vc,t=_c;return Vc=O,_c=Date.now(),Uc=!e||t>Date.now()-400&&Math.abs(e.clientX-O.clientX)<2&&Math.abs(e.clientY-O.clientY)<2?(Uc+1)%3:1}function lS(O,e){let t=Zc(O,e),i=Bf(e),r=O.state.selection;return{update(n){n.docChanged&&(t.pos=n.changes.mapPos(t.pos),r=r.map(n.changes))},get(n,s,o){let a=Zc(O,n),l,h=Yc(O,a.pos,a.bias,i);if(t.pos!=a.pos&&!s){let c=Yc(O,t.pos,t.bias,i),f=Math.min(c.from,h.from),d=Math.max(c.to,h.to);h=f1&&(l=hS(r,a.pos))?l:o?r.addRange(h):S.create([h])}}}function hS(O,e){for(let t=0;t=e)return S.create(O.ranges.slice(0,t).concat(O.ranges.slice(t+1)),O.mainIndex==t?0:O.mainIndex-(O.mainIndex>t?1:0))}return null}lt.dragstart=(O,e)=>{let{selection:{main:t}}=O.state;if(e.target.draggable){let r=O.docView.nearest(e.target);if(r&&r.isWidget){let n=r.posAtStart,s=n+r.length;(n>=t.to||s<=t.from)&&(t=S.range(n,s))}}let{inputState:i}=O;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",Xn(O.state,Fo,O.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};lt.dragend=O=>(O.inputState.draggedContent=null,!1);function jc(O,e,t,i){if(t=Xn(O.state,No,t),!t)return;let r=O.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:n}=O.inputState,s=i&&n&&iS(O,e)?{from:n.from,to:n.to}:null,o={from:r,insert:t},a=O.state.changes(s?[s,o]:o);O.focus(),O.dispatch({changes:a,selection:{anchor:a.mapPos(r,-1),head:a.mapPos(r,1)},userEvent:s?"move.drop":"input.drop"}),O.inputState.draggedContent=null}lt.drop=(O,e)=>{if(!e.dataTransfer)return!1;if(O.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let i=Array(t.length),r=0,n=()=>{++r==t.length&&jc(O,e,i.filter(s=>s!=null).join(O.state.lineBreak),!1)};for(let s=0;s{/[\x00-\x08\x0e-\x1f]{2}/.test(o.result)||(i[s]=o.result),n()},o.readAsText(t[s])}return!0}else{let i=e.dataTransfer.getData("Text");if(i)return jc(O,e,i,!0),!0}return!1};lt.paste=(O,e)=>{if(O.state.readOnly)return!0;O.observer.flush();let t=Df?null:e.clipboardData;return t?(If(O,t.getData("text/plain")||t.getData("text/uri-list")),!0):(sS(O),!1)};function cS(O,e){let t=O.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=e,i.focus(),i.selectionEnd=e.length,i.selectionStart=0,setTimeout(()=>{i.remove(),O.focus()},50)}function fS(O){let e=[],t=[],i=!1;for(let r of O.selection.ranges)r.empty||(e.push(O.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:n}of O.selection.ranges){let s=O.doc.lineAt(n);s.number>r&&(e.push(s.text),t.push({from:s.from,to:Math.min(O.doc.length,s.to+1)})),r=s.number}i=!0}return{text:Xn(O,Fo,e.join(O.lineBreak)),ranges:t,linewise:i}}var Xo=null;lt.copy=lt.cut=(O,e)=>{let{text:t,ranges:i,linewise:r}=fS(O.state);if(!t&&!r)return!1;Xo=r?t:null,e.type=="cut"&&!O.state.readOnly&&O.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let n=Df?null:e.clipboardData;return n?(n.clearData(),n.setData("text/plain",t),!0):(cS(O,t),!1)};var Nf=We.define();function Ff(O,e){let t=[];for(let i of O.facet(zf)){let r=i(O,e);r&&t.push(r)}return t.length?O.update({effects:t,annotations:Nf.of(!0)}):null}function Hf(O){setTimeout(()=>{let e=O.hasFocus;if(e!=O.inputState.notifiedFocused){let t=Ff(O.state,e);t?O.dispatch(t):O.update([])}},10)}rt.focus=O=>{O.inputState.lastFocusTime=Date.now(),!O.scrollDOM.scrollTop&&(O.inputState.lastScrollTop||O.inputState.lastScrollLeft)&&(O.scrollDOM.scrollTop=O.inputState.lastScrollTop,O.scrollDOM.scrollLeft=O.inputState.lastScrollLeft),Hf(O)};rt.blur=O=>{O.observer.clearSelectionRange(),Hf(O)};rt.compositionstart=rt.compositionupdate=O=>{O.observer.editContext||(O.inputState.compositionFirstChange==null&&(O.inputState.compositionFirstChange=!0),O.inputState.composing<0&&(O.inputState.composing=0))};rt.compositionend=O=>{O.observer.editContext||(O.inputState.composing=-1,O.inputState.compositionEndedAt=Date.now(),O.inputState.compositionPendingKey=!0,O.inputState.compositionPendingChange=O.observer.pendingRecords().length>0,O.inputState.compositionFirstChange=null,q.chrome&&q.android?O.observer.flushSoon():O.inputState.compositionPendingChange?Promise.resolve().then(()=>O.observer.flush()):setTimeout(()=>{O.inputState.composing<0&&O.docView.hasComposition&&O.update([])},50))};rt.contextmenu=O=>{O.inputState.lastContextMenu=Date.now()};lt.beforeinput=(O,e)=>{var t,i;if(e.inputType=="insertReplacementText"&&O.observer.editContext){let n=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),s=e.getTargetRanges();if(n&&s.length){let o=s[0],a=O.posAtDOM(o.startContainer,o.startOffset),l=O.posAtDOM(o.endContainer,o.endOffset);return ea(O,{from:a,to:l,insert:O.state.toText(n)},null),!0}}let r;if(q.chrome&&q.android&&(r=Lf.find(n=>n.inputType==e.inputType))&&(O.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let n=((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0;setTimeout(()=>{var s;(((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0)>n+10&&O.hasFocus&&(O.contentDOM.blur(),O.focus())},100)}return q.ios&&e.inputType=="deleteContentForward"&&O.observer.flushSoon(),q.safari&&e.inputType=="insertText"&&O.inputState.composing>=0&&setTimeout(()=>rt.compositionend(O,e),20),!1};var Cc=new Set;function uS(O){Cc.has(O)||(Cc.add(O),O.addEventListener("copy",()=>{}),O.addEventListener("cut",()=>{}))}var Gc=["pre-wrap","normal","pre-line","break-spaces"],NO=!1;function Ec(){NO=!1}var xo=class{constructor(e){this.lineWrapping=e,this.doc=G.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Gc.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i-1,a=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=o;if(this.lineWrapping=o,this.lineHeight=t,this.charWidth=i,this.textHeight=r,this.lineLength=n,a){this.heightSamples={};for(let l=0;l0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>tn&&(NO=!0),this.height=e)}replace(e,t,i){return O.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,r){let n=this,s=i.doc;for(let o=r.length-1;o>=0;o--){let{fromA:a,toA:l,fromB:h,toB:c}=r[o],f=n.lineAt(a,oe.ByPosNoHeight,i.setDoc(t),0,0),d=f.to>=l?f:n.lineAt(l,oe.ByPosNoHeight,i,0,0);for(c+=d.to-l,l=d.to;o>0&&f.from<=r[o-1].toA;)a=r[o-1].fromA,h=r[o-1].fromB,o--,an*2){let o=e[t-1];o.break?e.splice(--t,1,o.left,null,o.right):e.splice(--t,1,o.left,o.right),i+=1+o.break,r-=o.size}else if(n>r*2){let o=e[i];o.break?e.splice(i,1,o.left,null,o.right):e.splice(i,1,o.left,o.right),i+=2+o.break,n-=o.size}else break;else if(r=n&&s(this.blockAt(0,i,r,n))}updateHeight(e,t=0,i=!1,r){return r&&r.from<=t&&r.more&&this.setHeight(r.heights[r.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}},it=class O extends un{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,i,r){return new $t(r,this.length,i,this.height,this.breaks)}replace(e,t,i){let r=i[0];return i.length==1&&(r instanceof O||r instanceof Mt&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof Mt?r=new O(r.length,this.height):r.height=this.height,this.outdated||(r.outdated=!1),r):Ie.of(i)}updateHeight(e,t=0,i=!1,r){return r&&r.from<=t&&r.more?this.setHeight(r.heights[r.index++]):(i||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},Mt=class O extends Ie{constructor(e){super(e,0)}heightMetrics(e,t){let i=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,n=r-i+1,s,o=0;if(e.lineWrapping){let a=Math.min(this.height,e.lineHeight*n);s=a/n,this.length>n+1&&(o=(this.height-a)/(this.length-n-1))}else s=this.height/n;return{firstLine:i,lastLine:r,perLine:s,perChar:o}}blockAt(e,t,i,r){let{firstLine:n,lastLine:s,perLine:o,perChar:a}=this.heightMetrics(t,r);if(t.lineWrapping){let l=r+(e0){let n=i[i.length-1];n instanceof O?i[i.length-1]=new O(n.length+r):i.push(null,new O(r-1))}if(e>0){let n=i[0];n instanceof O?i[0]=new O(e+n.length):i.unshift(new O(e-1),null)}return Ie.of(i)}decomposeLeft(e,t){t.push(new O(e-1),null)}decomposeRight(e,t){t.push(null,new O(this.length-e-1))}updateHeight(e,t=0,i=!1,r){let n=t+this.length;if(r&&r.from<=t+this.length&&r.more){let s=[],o=Math.max(t,r.from),a=-1;for(r.from>t&&s.push(new O(r.from-t-1).updateHeight(e,t));o<=n&&r.more;){let h=e.doc.lineAt(o).length;s.length&&s.push(null);let c=r.heights[r.index++];a==-1?a=c:Math.abs(c-a)>=tn&&(a=-2);let f=new it(h,c);f.outdated=!1,s.push(f),o+=h+1}o<=n&&s.push(null,new O(n-o).updateHeight(e,o));let l=Ie.of(s);return(a<0||Math.abs(l.height-this.height)>=tn||Math.abs(a-this.heightMetrics(e,t).perLine)>=tn)&&(NO=!0),fn(this,l)}else(i||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},To=class extends Ie{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return this.flags&1}blockAt(e,t,i,r){let n=i+this.left.height;return eo))return l;let h=t==oe.ByPosNoHeight?oe.ByPosNoHeight:oe.ByPos;return a?l.join(this.right.lineAt(o,h,i,s,o)):this.left.lineAt(o,h,i,r,n).join(l)}forEachLine(e,t,i,r,n,s){let o=r+this.left.height,a=n+this.left.length+this.break;if(this.break)e=a&&this.right.forEachLine(e,t,i,o,a,s);else{let l=this.lineAt(a,oe.ByPos,i,r,n);e=e&&l.from<=t&&s(l),t>l.to&&this.right.forEachLine(l.to+1,t,i,o,a,s)}}replace(e,t,i){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,i));let n=[];e>0&&this.decomposeLeft(e,n);let s=n.length;for(let o of i)n.push(o);if(e>0&&Ac(n,s-1),t=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){let i=this.left.length,r=i+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?Ie.of(this.break?[e,null,t]:[e,t]):(this.left=fn(this.left,e),this.right=fn(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,i=!1,r){let{left:n,right:s}=this,o=t+n.length+this.break,a=null;return r&&r.from<=t+n.length&&r.more?a=n=n.updateHeight(e,t,i,r):n.updateHeight(e,t,i),r&&r.from<=o+s.length&&r.more?a=s=s.updateHeight(e,o,i,r):s.updateHeight(e,o,i),a?this.balanced(n,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Ac(O,e){let t,i;O[e]==null&&(t=O[e-1])instanceof Mt&&(i=O[e+1])instanceof Mt&&O.splice(e-1,3,new Mt(t.length+1+i.length))}var dS=5,ko=class O{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let i=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof it?r.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new it(i-this.pos,-1)),this.writtenTo=i,t>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e=dS)&&this.addLineDeco(r,n,s)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new it(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let i=new Mt(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof it)return e;let t=new it(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,i){let r=this.ensureLine();r.length+=i,r.collapsed+=i,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+i}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof it)&&!this.isCovered?this.nodes.push(new it(0,-1)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&c.overflow!="visible"){let f=h.getBoundingClientRect();n=Math.max(n,f.left),s=Math.min(s,f.right),o=Math.max(o,f.top),a=Math.min(l==O.parentNode?r.innerHeight:a,f.bottom)}l=c.position=="absolute"||c.position=="fixed"?h.offsetParent:h.parentNode}else if(l.nodeType==11)l=l.host;else break;return{left:n-t.left,right:Math.max(n,s)-t.left,top:o-(t.top+e),bottom:Math.max(o,a)-(t.top+e)}}function $S(O){let e=O.getBoundingClientRect(),t=O.ownerDocument.defaultView||window;return e.left0&&e.top0}function mS(O,e){let t=O.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var zi=class{constructor(e,t,i,r){this.from=e,this.to=t,this.size=i,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let i=0;itypeof i!="function"&&i.class=="cm-lineWrapping");this.heightOracle=new xo(t),this.stateDeco=e.facet(Ei).filter(i=>typeof i!="function"),this.heightMap=Ie.empty().applyChanges(this.stateDeco,G.empty,this.heightOracle.setDoc(e.doc),[new gt(0,0,0,e.doc.length)]);for(let i=0;i<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());i++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=R.set(this.lineGaps.map(i=>i.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let i=0;i<=1;i++){let r=i?t.head:t.anchor;if(!e.some(({from:n,to:s})=>r>=n&&r<=s)){let{from:n,to:s}=this.lineBlockAt(r);e.push(new MO(n,s))}}return this.viewports=e.sort((i,r)=>i.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Lc:new qo(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Ti(e,this.scaler))})}update(e,t=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=this.state.facet(Ei).filter(h=>typeof h!="function");let r=e.changedRanges,n=gt.extendWithRanges(r,QS(i,this.stateDeco,e?e.changes:ve.empty(this.state.doc.length))),s=this.heightMap.height,o=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);Ec(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),n),(this.heightMap.height!=s||NO)&&(e.flags|=2),o?(this.scrollAnchorPos=e.changes.mapPos(o.from,-1),this.scrollAnchorHeight=o.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=s);let a=n.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.heada.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,t));let l=a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,e.flags|=this.updateForViewport(),(l||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Wf)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,i=window.getComputedStyle(t),r=this.heightOracle,n=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?J.RTL:J.LTR;let s=this.heightOracle.mustRefreshForWrapping(n),o=t.getBoundingClientRect(),a=s||this.mustMeasureContent||this.contentDOMHeight!=o.height;this.contentDOMHeight=o.height,this.mustMeasureContent=!1;let l=0,h=0;if(o.width&&o.height){let{scaleX:X,scaleY:P}=af(t,o);(X>.005&&Math.abs(this.scaleX-X)>.005||P>.005&&Math.abs(this.scaleY-P)>.005)&&(this.scaleX=X,this.scaleY=P,l|=16,s=a=!0)}let c=(parseInt(i.paddingTop)||0)*this.scaleY,f=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=c||this.paddingBottom!=f)&&(this.paddingTop=c,this.paddingBottom=f,l|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(a=!0),this.editorWidth=e.scrollDOM.clientWidth,l|=16);let d=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=d&&(this.scrollAnchorHeight=-1,this.scrollTop=d),this.scrolledToBottom=cf(e.scrollDOM);let Q=(this.printing?mS:pS)(t,this.paddingTop),p=Q.top-this.pixelViewport.top,$=Q.bottom-this.pixelViewport.bottom;this.pixelViewport=Q;let m=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(m!=this.inView&&(this.inView=m,m&&(a=!0)),!this.inView&&!this.scrollTarget&&!$S(e.dom))return 0;let g=o.width;if((this.contentDOMWidth!=g||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=o.width,this.editorHeight=e.scrollDOM.clientHeight,l|=16),a){let X=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(X)&&(s=!0),s||r.lineWrapping&&Math.abs(g-this.contentDOMWidth)>r.charWidth){let{lineHeight:P,charWidth:T,textHeight:k}=e.docView.measureTextSize();s=P>0&&r.refresh(n,P,T,k,Math.max(5,g/T),X),s&&(e.docView.minWidth=0,l|=16)}p>0&&$>0?h=Math.max(p,$):p<0&&$<0&&(h=Math.min(p,$)),Ec();for(let P of this.viewports){let T=P.from==this.viewport.from?X:e.docView.measureVisibleLineHeights(P);this.heightMap=(s?Ie.empty().applyChanges(this.stateDeco,G.empty,this.heightOracle,[new gt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,s,new bo(P.from,T))}NO&&(l|=2)}let y=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return y&&(l&2&&(l|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),l|=this.updateForViewport()),(l&2||y)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(s?[]:this.lineGaps,e)),l|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),l}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,n=this.heightOracle,{visibleTop:s,visibleBottom:o}=this,a=new MO(r.lineAt(s-i*1e3,oe.ByHeight,n,0,0).from,r.lineAt(o+(1-i)*1e3,oe.ByHeight,n,0,0).to);if(t){let{head:l}=t.range;if(la.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),c=r.lineAt(l,oe.ByPos,n,0,0),f;t.y=="center"?f=(c.top+c.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&l=o+Math.max(10,Math.min(i,250)))&&r>s-2*1e3&&n>1,s=r<<1;if(this.defaultTextDirection!=J.LTR&&!i)return[];let o=[],a=(h,c,f,d)=>{if(c-hh&&mm.from>=f.from&&m.to<=f.to&&Math.abs(m.from-h)m.fromg));if(!$){if(cy.from<=c&&y.to>=c)){let y=t.moveToLineBoundary(S.cursor(c),!1,!0).head;y>h&&(c=y)}let m=this.gapSize(f,h,c,d),g=i||m<2e6?m:2e6;$=new zi(h,c,m,g)}o.push($)},l=h=>{if(h.length2e6)for(let T of e)T.from>=h.from&&T.fromh.from&&a(h.from,d,h,c),Qt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let i=[];N.spans(t,this.viewport.from,this.viewport.to,{span(n,s){i.push({from:n,to:s})},point(){}},20);let r=0;if(i.length!=this.visibleRanges.length)r=12;else for(let n=0;n=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Ti(this.heightMap.lineAt(e,oe.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Ti(this.heightMap.lineAt(this.scaler.fromDOM(e),oe.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Ti(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},MO=class{constructor(e,t){this.from=e,this.to=t}};function gS(O,e,t){let i=[],r=O,n=0;return N.spans(t,O,e,{span(){},point(s,o){s>r&&(i.push({from:r,to:s}),n+=s-r),r=o}},20),r=1)return e[e.length-1].to;let i=Math.floor(O*t);for(let r=0;;r++){let{from:n,to:s}=e[r],o=s-n;if(i<=o)return n+i;i-=o}}function Br(O,e){let t=0;for(let{from:i,to:r}of O.ranges){if(e<=r){t+=e-i;break}t+=r-i}return t/O.total}function SS(O,e){for(let t of O)if(e(t))return t}var Lc={toDOM(O){return O},fromDOM(O){return O},scale:1,eq(O){return O==this}},qo=class O{constructor(e,t,i){let r=0,n=0,s=0;this.viewports=i.map(({from:o,to:a})=>{let l=t.lineAt(o,oe.ByPos,e,0,0).top,h=t.lineAt(a,oe.ByPos,e,0,0).bottom;return r+=h-l,{from:o,to:a,top:l,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let o of this.viewports)o.domTop=s+(o.top-n)*this.scale,s=o.domBottom=o.domTop+(o.bottom-o.top),n=o.bottom}toDOM(e){for(let t=0,i=0,r=0;;t++){let n=tt.from==e.viewports[i].from&&t.to==e.viewports[i].to):!1}};function Ti(O,e){if(e.scale==1)return O;let t=e.toDOM(O.top),i=e.toDOM(O.bottom);return new $t(O.from,O.length,t,i-t,Array.isArray(O._content)?O._content.map(r=>Ti(r,e)):O._content)}var Nr=v.define({combine:O=>O.join(" ")}),Ro=v.define({combine:O=>O.indexOf(!0)>-1}),zo=Ot.newName(),Kf=Ot.newName(),Jf=Ot.newName(),eu={"&light":"."+Kf,"&dark":"."+Jf};function Yo(O,e,t){return new Ot(e,{finish(i){return/&/.test(i)?i.replace(/&\w*/,r=>{if(r=="&")return O;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):O+" "+i}})}var PS=Yo("."+zo,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},eu),yS={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},to=q.ie&&q.ie_version<=11,Wo=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new so,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let i of t)this.queue.push(i);(q.ie&&q.ie_version<=11||q.ios&&e.composing)&&t.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&q.android&&e.constructor.EDIT_CONTEXT!==!1&&!(q.chrome&&q.chrome_version<126)&&(this.editContext=new Zo(e),e.state.facet(zt)&&(e.contentDOM.editContext=this.editContext.editContext)),to&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,i)=>t!=e[i]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,r=this.selectionRange;if(i.state.facet(zt)?i.root.activeElement!=this.dom:!Kr(this.dom,r))return;let n=r.anchorNode&&i.docView.nearest(r.anchorNode);if(n&&n.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(q.ie&&q.ie_version<=11||q.android&&q.chrome)&&!i.state.selection.main.empty&&r.focusNode&&wi(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Zi(e.root);if(!t)return!1;let i=q.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&XS(this.view,t)||t;if(!i||this.selectionRange.eq(i))return!1;let r=Kr(this.dom,i);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let n=this.delayedAndroidKey;n&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=n.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&n.force&&BO(this.dom,n.key,n.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,i=-1,r=!1;for(let n of e){let s=this.readMutation(n);s&&(s.typeOver&&(r=!0),t==-1?{from:t,to:i}=s:(t=Math.min(s.from,t),i=Math.max(s.to,i)))}return{from:t,to:i,typeOver:r}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),r=this.selectionChanged&&Kr(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let n=new So(this.view,e,t,i);return this.view.docView.domChanged={newSel:n.newSel?n.newSel.main:null},n}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let i=this.view.state,r=Af(this.view,t);return this.view.state==i&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty(e.type=="attributes"),e.type=="attributes"&&(t.flags|=4),e.type=="childList"){let i=Mc(t,e.previousSibling||e.target.previousSibling,-1),r=Mc(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(zt)!=e.state.facet(zt)&&(e.view.contentDOM.editContext=e.state.facet(zt)?this.editContext.editContext:null))}destroy(){var e,t,i;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function Mc(O,e,t){for(;e;){let i=re.get(e);if(i&&i.parent==O)return i;let r=e.parentNode;e=r!=O.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function Dc(O,e){let t=e.startContainer,i=e.startOffset,r=e.endContainer,n=e.endOffset,s=O.docView.domAtPos(O.state.selection.main.anchor);return wi(s.node,s.offset,r,n)&&([t,i,r,n]=[r,n,t,i]),{anchorNode:t,anchorOffset:i,focusNode:r,focusOffset:n}}function XS(O,e){if(e.getComposedRanges){let r=e.getComposedRanges(O.root)[0];if(r)return Dc(O,r)}let t=null;function i(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return O.contentDOM.addEventListener("beforeinput",i,!0),O.dom.ownerDocument.execCommand("indent"),O.contentDOM.removeEventListener("beforeinput",i,!0),t?Dc(O,t):null}var Zo=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=i=>{let r=e.state.selection.main,{anchor:n,head:s}=r,o=this.toEditorPos(i.updateRangeStart),a=this.toEditorPos(i.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:o,drifted:!1});let l={from:o,to:a,insert:G.of(i.text.split(` +`))};if(l.from==this.from&&nthis.to&&(l.to=n),l.from==l.to&&!l.insert.length){let h=S.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));h.main.eq(r)||e.dispatch({selection:h,userEvent:"select"});return}if((q.mac||q.android)&&l.from==s-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(l={from:o,to:a,insert:G.of([i.text.replace("."," ")])}),this.pendingContextChange=l,!e.state.readOnly){let h=this.to-this.from+(l.to-l.from+l.insert.length);ea(e,l,S.single(this.toEditorPos(i.selectionStart,h),this.toEditorPos(i.selectionEnd,h)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state))},this.handlers.characterboundsupdate=i=>{let r=[],n=null;for(let s=this.toEditorPos(i.rangeStart),o=this.toEditorPos(i.rangeEnd);s{let r=[];for(let n of i.getTextFormats()){let s=n.underlineStyle,o=n.underlineThickness;if(s!="None"&&o!="None"){let a=this.toEditorPos(n.rangeStart),l=this.toEditorPos(n.rangeEnd);if(a{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)t.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{this.editContext.updateControlBounds(i.contentDOM.getBoundingClientRect());let r=Zi(i.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,r=this.pendingContextChange;return e.changes.iterChanges((n,s,o,a,l)=>{if(i)return;let h=l.length-(s-n);if(r&&s>=r.to)if(r.from==n&&r.to==s&&r.insert.eq(l)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(n+=t,s+=t,s<=this.from)this.from+=h,this.to+=h;else if(nthis.to||this.to-this.from+l.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(n),this.toContextPos(s),l.toString()),this.to+=h}t+=h}),r&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(i,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},b=class O{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:i}=e;this.dispatchTransactions=e.dispatchTransactions||i&&(r=>r.forEach(n=>i(n,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||Qg(e.parent)||document,this.viewState=new dn(e.state||M.create(e)),e.scrollTo&&e.scrollTo.is(Lr)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(LO).map(r=>new Ri(r));for(let r of this.plugins)r.update(this);this.observer=new Wo(this),this.inputState=new Po(this),this.inputState.ensureHandlers(this.plugins),this.docView=new hn(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=e.length==1&&e[0]instanceof de?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,i=!1,r,n=this.state;for(let f of e){if(f.startState!=n)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");n=f.state}if(this.destroyed){this.viewState.state=n;return}let s=this.hasFocus,o=0,a=null;e.some(f=>f.annotation(Nf))?(this.inputState.notifiedFocused=s,o=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,a=Ff(n,s),a||(o=1));let l=this.observer.delayedAndroidKey,h=null;if(l?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(n.doc)||!this.state.selection.eq(n.selection))&&(h=null)):this.observer.clear(),n.facet(M.phrases)!=this.state.facet(M.phrases))return this.setState(n);r=ln.create(this,n,e),r.flags|=o;let c=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(c&&(c=c.map(f.changes)),f.scrollIntoView){let{main:d}=f.state.selection;c=new qi(d.empty?d:S.cursor(d.head,d.head>d.anchor?-1:1))}for(let d of f.effects)d.is(Lr)&&(c=d.value.clip(this.state))}this.viewState.update(r,c),this.bidiCache=Qn.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(xi)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(Nr)!=r.state.facet(Nr)&&(this.viewState.mustMeasureContent=!0),(t||i||c||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let f of this.state.facet(po))try{f(r)}catch(d){Xe(this.state,d,"update listener")}(a||h)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),h&&!Af(this,h)&&l.force&&BO(this.contentDOM,l.key,l.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new dn(e),this.plugins=e.facet(LO).map(i=>new Ri(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new hn(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(LO),i=e.state.facet(LO);if(t!=i){let r=[];for(let n of i){let s=t.indexOf(n);if(s<0)r.push(new Ri(n));else{let o=this.plugins[s];o.mustUpdate=e,r.push(o)}}for(let n of this.plugins)n.mustUpdate!=e&&n.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,i=this.scrollDOM,r=i.scrollTop*this.scaleY,{scrollAnchorPos:n,scrollAnchorHeight:s}=this.viewState;Math.abs(r-this.viewState.scrollTop)>1&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let o=0;;o++){if(s<0)if(cf(i))n=-1,s=this.viewState.heightMap.height;else{let d=this.viewState.scrollAnchorAt(r);n=d.from,s=d.top}this.updateState=1;let a=this.viewState.measure(this);if(!a&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(o>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let l=[];a&4||([this.measureRequests,l]=[l,this.measureRequests]);let h=l.map(d=>{try{return d.read(this)}catch(Q){return Xe(this.state,Q),Ic}}),c=ln.create(this,this.state,[]),f=!1;c.flags|=a,t?t.flags|=a:t=c,this.updateState=2,c.empty||(this.updatePlugins(c),this.inputState.update(c),this.updateAttrs(),f=this.docView.update(c),f&&this.docViewUpdate());for(let d=0;d1||Q<-1){r=r+Q,i.scrollTop=r/this.scaleY,s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let o of this.state.facet(po))o(t)}get themeClasses(){return zo+" "+(this.state.facet(Ro)?Jf:Kf)+" "+this.state.facet(Nr)}updateAttrs(){let e=Bc(this,Uf,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(zt)?"true":"false",class:"cm-content",style:`${q.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Bc(this,Ho,t);let i=this.observer.ignore(()=>{let r=co(this.contentDOM,this.contentAttrs,t),n=co(this.dom,this.editorAttrs,e);return r||n});return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let r of i.effects)if(r.is(O.announce)){t&&(this.announceDOM.textContent=""),t=!1;let n=this.announceDOM.appendChild(document.createElement("div"));n.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(xi);let e=this.state.facet(O.cspNonce);Ot.mount(this.root,this.styleModules.concat(PS).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;ti.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,i){return eo(this,e,Rc(this,e,t,i))}moveByGroup(e,t){return eo(this,e,Rc(this,e,t,i=>Dg(this,e.head,i)))}visualLineSide(e,t){let i=this.bidiSpans(e),r=this.textDirectionAt(e.from),n=i[t?i.length-1:0];return S.cursor(n.side(t,r)+e.from,n.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,i=!0){return Mg(this,e,t,i)}moveVertically(e,t,i){return eo(this,e,Ig(this,e,t,i))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),Ef(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let i=this.docView.coordsAt(e,t);if(!i||i.left==i.right)return i;let r=this.state.doc.lineAt(e),n=this.bidiSpans(r),s=n[mt.find(n,e-r.from,-1,t)];return Pn(i,s.dir==J.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(Yf)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>xS)return bf(e.length);let t=this.textDirectionAt(e.from),i;for(let n of this.bidiCache)if(n.from==e.from&&n.dir==t&&(n.fresh||xf(n.isolates,i=Tc(this,e))))return n.order;i||(i=Tc(this,e));let r=vg(e.text,t,i);return this.bidiCache.push(new Qn(e.from,e.to,t,i,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||q.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{lf(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return Lr.of(new qi(typeof e=="number"?S.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,i=this.viewState.scrollAnchorAt(e);return Lr.of(new qi(S.cursor(i.from),"start","start",i.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return fe.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return fe.define(()=>({}),{eventObservers:e})}static theme(e,t){let i=Ot.newName(),r=[Nr.of(i),xi.of(Yo(`.${i}`,e))];return t&&t.dark&&r.push(Ro.of(!0)),r}static baseTheme(e){return Ze.lowest(xi.of(Yo("."+zo,e,eu)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),r=i&&re.get(i)||re.get(e);return((t=r?.rootView)===null||t===void 0?void 0:t.view)||null}};b.styleModule=xi;b.inputHandler=Rf;b.clipboardInputFilter=No;b.clipboardOutputFilter=Fo;b.scrollHandler=Zf;b.focusChangeEffect=zf;b.perLineTextDirection=Yf;b.exceptionSink=qf;b.updateListener=po;b.editable=zt;b.mouseSelectionStyle=vf;b.dragMovesSelection=wf;b.clickAddsSelectionRange=kf;b.decorations=Ei;b.outerDecorations=_f;b.atomicRanges=Ko;b.bidiIsolatedRanges=jf;b.scrollMargins=Cf;b.darkTheme=Ro;b.cspNonce=v.define({combine:O=>O.length?O[0]:""});b.contentAttributes=Ho;b.editorAttributes=Uf;b.lineWrapping=b.contentAttributes.of({class:"cm-lineWrapping"});b.announce=W.define();var xS=4096,Ic={},Qn=class O{constructor(e,t,i,r,n,s){this.from=e,this.to=t,this.dir=i,this.isolates=r,this.fresh=n,this.order=s}static update(e,t){if(t.empty&&!e.some(n=>n.fresh))return e;let i=[],r=e.length?e[e.length-1].dir:J.LTR;for(let n=Math.max(0,e.length-10);n=0;r--){let n=i[r],s=typeof n=="function"?n(O):n;s&&ho(s,t)}return t}var bS=q.mac?"mac":q.windows?"win":q.linux?"linux":"key";function TS(O,e){let t=O.split(/-(?!$)/),i=t[t.length-1];i=="Space"&&(i=" ");let r,n,s,o;for(let a=0;ai.concat(r),[]))),t}function Ou(O,e,t){return iu(tu(O.state),e,O,t)}var Lt=null,wS=4e3;function vS(O,e=bS){let t=Object.create(null),i=Object.create(null),r=(s,o)=>{let a=i[s];if(a==null)i[s]=o;else if(a!=o)throw new Error("Key binding "+s+" is used both as a regular binding and as a multi-stroke prefix")},n=(s,o,a,l,h)=>{var c,f;let d=t[s]||(t[s]=Object.create(null)),Q=o.split(/ (?!$)/).map(m=>TS(m,e));for(let m=1;m{let X=Lt={view:y,prefix:g,scope:s};return setTimeout(()=>{Lt==X&&(Lt=null)},wS),!0}]})}let p=Q.join(" ");r(p,!1);let $=d[p]||(d[p]={preventDefault:!1,stopPropagation:!1,run:((f=(c=d._any)===null||c===void 0?void 0:c.run)===null||f===void 0?void 0:f.slice())||[]});a&&$.run.push(a),l&&($.preventDefault=!0),h&&($.stopPropagation=!0)};for(let s of O){let o=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let l of o){let h=t[l]||(t[l]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:c}=s;for(let f in h)h[f].run.push(d=>c(d,Vo))}let a=s[e]||s.key;if(a)for(let l of o)n(l,a,s.run,s.preventDefault,s.stopPropagation),s.shift&&n(l,"Shift-"+a,s.shift,s.preventDefault,s.stopPropagation)}return t}var Vo=null;function iu(O,e,t,i){Vo=e;let r=$c(e),n=Pe(r,0),s=De(n)==r.length&&r!=" ",o="",a=!1,l=!1,h=!1;Lt&&Lt.view==t&&Lt.scope==i&&(o=Lt.prefix+" ",Mf.indexOf(e.keyCode)<0&&(l=!0,Lt=null));let c=new Set,f=$=>{if($){for(let m of $.run)if(!c.has(m)&&(c.add(m),m(t)))return $.stopPropagation&&(h=!0),!0;$.preventDefault&&($.stopPropagation&&(h=!0),l=!0)}return!1},d=O[i],Q,p;return d&&(f(d[o+Fr(r,e,!s)])?a=!0:s&&(e.altKey||e.metaKey||e.ctrlKey)&&!(q.windows&&e.ctrlKey&&e.altKey)&&!(q.mac&&e.altKey&&!e.ctrlKey)&&(Q=Rt[e.keyCode])&&Q!=r?(f(d[o+Fr(Q,e,!0)])||e.shiftKey&&(p=EO[e.keyCode])!=r&&p!=Q&&f(d[o+Fr(p,e,!1)]))&&(a=!0):s&&e.shiftKey&&f(d[o+Fr(r,e,!0)])&&(a=!0),!a&&f(d._any)&&(a=!0)),l&&(a=!0),a&&h&&e.stopPropagation(),Vo=null,a}var Ai=class O{constructor(e,t,i,r,n){this.className=e,this.left=t,this.top=i,this.width=r,this.height=n}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,i){if(i.empty){let r=e.coordsAtPos(i.head,i.assoc||1);if(!r)return[];let n=ru(e);return[new O(t,r.left-n.left,r.top-n.top,null,r.bottom-r.top)]}else return qS(e,t,i)}};function ru(O){let e=O.scrollDOM.getBoundingClientRect();return{left:(O.textDirection==J.LTR?e.left:e.right-O.scrollDOM.clientWidth*O.scaleX)-O.scrollDOM.scrollLeft*O.scaleX,top:e.top-O.scrollDOM.scrollTop*O.scaleY}}function Fc(O,e,t,i){let r=O.coordsAtPos(e,t*2);if(!r)return i;let n=O.dom.getBoundingClientRect(),s=(r.top+r.bottom)/2,o=O.posAtCoords({x:n.left+1,y:s}),a=O.posAtCoords({x:n.right-1,y:s});return o==null||a==null?i:{from:Math.max(i.from,Math.min(o,a)),to:Math.min(i.to,Math.max(o,a))}}function qS(O,e,t){if(t.to<=O.viewport.from||t.from>=O.viewport.to)return[];let i=Math.max(t.from,O.viewport.from),r=Math.min(t.to,O.viewport.to),n=O.textDirection==J.LTR,s=O.contentDOM,o=s.getBoundingClientRect(),a=ru(O),l=s.querySelector(".cm-line"),h=l&&window.getComputedStyle(l),c=o.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),f=o.right-(h?parseInt(h.paddingRight):0),d=mo(O,i,1),Q=mo(O,r,-1),p=d.type==ze.Text?d:null,$=Q.type==ze.Text?Q:null;if(p&&(O.lineWrapping||d.widgetLineBreaks)&&(p=Fc(O,i,1,p)),$&&(O.lineWrapping||Q.widgetLineBreaks)&&($=Fc(O,r,-1,$)),p&&$&&p.from==$.from&&p.to==$.to)return g(y(t.from,t.to,p));{let P=p?y(t.from,null,p):X(d,!1),T=$?y(null,t.to,$):X(Q,!0),k=[];return(p||d).to<($||Q).from-(p&&$?1:0)||d.widgetLineBreaks>1&&P.bottom+O.defaultLineHeight/2Z&&I.from=we)break;et>ie&&C(Math.max(Se,ie),P==null&&Se<=Z,Math.min(et,we),T==null&&et>=F,dt.dir)}if(ie=Ae.to+1,ie>=we)break}return ee.length==0&&C(Z,P==null,F,T==null,O.textDirection),{top:_,bottom:E,horizontal:ee}}function X(P,T){let k=o.top+(T?P.top:P.bottom);return{top:k,bottom:k,horizontal:[]}}}function RS(O,e){return O.constructor==e.constructor&&O.eq(e)}var Uo=class{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(On)!=e.state.facet(On)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,i=e.facet(On);for(;t!RS(t,this.drawn[i]))){let t=this.dom.firstChild,i=0;for(let r of e)r.update&&t&&r.constructor&&this.drawn[i].constructor&&r.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(r.draw(),t);for(;t;){let r=t.nextSibling;t.remove(),t=r}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},On=v.define();function nu(O){return[fe.define(e=>new Uo(e,O)),On.of(O)]}var Li=v.define({combine(O){return Te(O,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function su(O={}){return[Li.of(O),zS,YS,WS,Wf.of(!0)]}function ou(O){return O.startState.facet(Li)!=O.state.facet(Li)}var zS=nu({above:!0,markers(O){let{state:e}=O,t=e.facet(Li),i=[];for(let r of e.selection.ranges){let n=r==e.selection.main;if(r.empty||t.drawRangeCursor){let s=n?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",o=r.empty?r:S.cursor(r.head,r.head>r.anchor?-1:1);for(let a of Ai.forRange(O,s,o))i.push(a)}}return i},update(O,e){O.transactions.some(i=>i.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=ou(O);return t&&Hc(O.state,e),O.docChanged||O.selectionSet||t},mount(O,e){Hc(e.state,O)},class:"cm-cursorLayer"});function Hc(O,e){e.style.animationDuration=O.facet(Li).cursorBlinkRate+"ms"}var YS=nu({above:!1,markers(O){return O.state.selection.ranges.map(e=>e.empty?[]:Ai.forRange(O,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(O,e){return O.docChanged||O.selectionSet||O.viewportChanged||ou(O)},class:"cm-selectionLayer"}),WS=Ze.highest(b.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),au=W.define({map(O,e){return O==null?null:e.mapPos(O)}}),ki=he.define({create(){return null},update(O,e){return O!=null&&(O=e.changes.mapPos(O)),e.effects.reduce((t,i)=>i.is(au)?i.value:t,O)}}),ZS=fe.fromClass(class{constructor(O){this.view=O,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(O){var e;let t=O.state.field(ki);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(O.startState.field(ki)!=t||O.docChanged||O.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:O}=this,e=O.state.field(ki),t=e!=null&&O.coordsAtPos(e);if(!t)return null;let i=O.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+O.scrollDOM.scrollLeft*O.scaleX,top:t.top-i.top+O.scrollDOM.scrollTop*O.scaleY,height:t.bottom-t.top}}drawCursor(O){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;O?(this.cursor.style.left=O.left/e+"px",this.cursor.style.top=O.top/t+"px",this.cursor.style.height=O.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(O){this.view.state.field(ki)!=O&&this.view.dispatch({effects:au.of(O)})}},{eventObservers:{dragover(O){this.setDropPos(this.view.posAtCoords({x:O.clientX,y:O.clientY}))},dragleave(O){(O.target==this.view.contentDOM||!this.view.contentDOM.contains(O.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function lu(){return[ki,ZS]}function Kc(O,e,t,i,r){e.lastIndex=0;for(let n=O.iterRange(t,i),s=t,o;!n.next().done;s+=n.value.length)if(!n.lineBreak)for(;o=e.exec(n.value);)r(s+o.index,o)}function VS(O,e){let t=O.visibleRanges;if(t.length==1&&t[0].from==O.viewport.from&&t[0].to==O.viewport.to)return t;let i=[];for(let{from:r,to:n}of t)r=Math.max(O.state.doc.lineAt(r).from,r-e),n=Math.min(O.state.doc.lineAt(n).to,n+e),i.length&&i[i.length-1].to>=r?i[i.length-1].to=n:i.push({from:r,to:n});return i}var _o=class{constructor(e){let{regexp:t,decoration:i,decorate:r,boundary:n,maxLength:s=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,r)this.addMatch=(o,a,l,h)=>r(h,l,l+o[0].length,o,a);else if(typeof i=="function")this.addMatch=(o,a,l,h)=>{let c=i(o,a,l);c&&h(l,l+o[0].length,c)};else if(i)this.addMatch=(o,a,l,h)=>h(l,l+o[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=n,this.maxLength=s}createDeco(e){let t=new Me,i=t.add.bind(t);for(let{from:r,to:n}of VS(e,this.maxLength))Kc(e.state.doc,this.regexp,r,n,(s,o)=>this.addMatch(o,e,s,i));return t.finish()}updateDeco(e,t){let i=1e9,r=-1;return e.docChanged&&e.changes.iterChanges((n,s,o,a)=>{a>=e.view.viewport.from&&o<=e.view.viewport.to&&(i=Math.min(o,i),r=Math.max(a,r))}),e.viewportMoved||r-i>1e3?this.createDeco(e.view):r>-1?this.updateRange(e.view,t.map(e.changes),i,r):t}updateRange(e,t,i,r){for(let n of e.visibleRanges){let s=Math.max(n.from,i),o=Math.min(n.to,r);if(o>=s){let a=e.state.doc.lineAt(s),l=a.toa.from;s--)if(this.boundary.test(a.text[s-1-a.from])){h=s;break}for(;of.push(m.range(p,$));if(a==l)for(this.regexp.lastIndex=h-a.from;(d=this.regexp.exec(a.text))&&d.indexthis.addMatch($,e,p,Q));t=t.update({filterFrom:h,filterTo:c,filter:(p,$)=>pc,add:f})}}return t}},jo=/x/.unicode!=null?"gu":"g",US=new RegExp(`[\0-\b +-\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,jo),_S={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"},Oo=null;function jS(){var O;if(Oo==null&&typeof document<"u"&&document.body){let e=document.body.style;Oo=((O=e.tabSize)!==null&&O!==void 0?O:e.MozTabSize)!=null}return Oo||!1}var rn=v.define({combine(O){let e=Te(O,{render:null,specialChars:US,addSpecialChars:null});return(e.replaceTabs=!jS())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,jo)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,jo)),e}});function hu(O={}){return[rn.of(O),CS()]}var Jc=null;function CS(){return Jc||(Jc=fe.fromClass(class{constructor(O){this.view=O,this.decorations=R.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(O.state.facet(rn)),this.decorations=this.decorator.createDeco(O)}makeDecorator(O){return new _o({regexp:O.specialChars,decoration:(e,t,i)=>{let{doc:r}=t.state,n=Pe(e[0],0);if(n==9){let s=r.lineAt(i),o=t.state.tabSize,a=qe(s.text,o,i-s.from);return R.replace({widget:new Go((o-a%o)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[n]||(this.decorationCache[n]=R.replace({widget:new Co(O,n)}))},boundary:O.replaceTabs?void 0:/[^]/})}update(O){let e=O.state.facet(rn);O.startState.facet(rn)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(O.view)):this.decorations=this.decorator.updateDeco(O,this.decorations)}},{decorations:O=>O.decorations}))}var GS="\u2022";function ES(O){return O>=32?GS:O==10?"\u2424":String.fromCharCode(9216+O)}var Co=class extends Ue{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=ES(this.code),i=e.state.phrase("Control character")+" "+(_S[this.code]||"0x"+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,i,t);if(r)return r;let n=document.createElement("span");return n.textContent=t,n.title=i,n.setAttribute("aria-label",i),n.className="cm-specialChar",n}ignoreEvent(){return!1}},Go=class extends Ue{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}};function cu(){return LS}var AS=R.line({class:"cm-activeLine"}),LS=fe.fromClass(class{constructor(O){this.decorations=this.getDeco(O)}update(O){(O.docChanged||O.selectionSet)&&(this.decorations=this.getDeco(O.view))}getDeco(O){let e=-1,t=[];for(let i of O.state.selection.ranges){let r=O.lineBlockAt(i.head);r.from>e&&(t.push(AS.range(r.from)),e=r.from)}return R.set(t)}},{decorations:O=>O.decorations});var Eo=2e3;function MS(O,e,t){let i=Math.min(e.line,t.line),r=Math.max(e.line,t.line),n=[];if(e.off>Eo||t.off>Eo||e.col<0||t.col<0){let s=Math.min(e.off,t.off),o=Math.max(e.off,t.off);for(let a=i;a<=r;a++){let l=O.doc.line(a);l.length<=o&&n.push(S.range(l.from+s,l.to+o))}}else{let s=Math.min(e.col,t.col),o=Math.max(e.col,t.col);for(let a=i;a<=r;a++){let l=O.doc.line(a),h=Gr(l.text,s,O.tabSize,!0);if(h<0)n.push(S.cursor(l.to));else{let c=Gr(l.text,o,O.tabSize);n.push(S.range(l.from+h,l.from+c))}}}return n}function DS(O,e){let t=O.coordsAtPos(O.viewport.from);return t?Math.round(Math.abs((t.left-e)/O.defaultCharacterWidth)):-1}function ef(O,e){let t=O.posAtCoords({x:e.clientX,y:e.clientY},!1),i=O.state.doc.lineAt(t),r=t-i.from,n=r>Eo?-1:r==i.length?DS(O,e.clientX):qe(i.text,O.state.tabSize,t-i.from);return{line:i.number,col:n,off:r}}function IS(O,e){let t=ef(O,e),i=O.state.selection;return t?{update(r){if(r.docChanged){let n=r.changes.mapPos(r.startState.doc.line(t.line).from),s=r.state.doc.lineAt(n);t={line:s.number,col:t.col,off:Math.min(t.off,s.length)},i=i.map(r.changes)}},get(r,n,s){let o=ef(O,r);if(!o)return i;let a=MS(O.state,t,o);return a.length?s?S.create(a.concat(i.ranges)):S.create(a):i}}:null}function fu(O){let e=O?.eventFilter||(t=>t.altKey&&t.button==0);return b.mouseSelectionStyle.of((t,i)=>e(i)?IS(t,i):null)}var BS={Alt:[18,O=>!!O.altKey],Control:[17,O=>!!O.ctrlKey],Shift:[16,O=>!!O.shiftKey],Meta:[91,O=>!!O.metaKey]},NS={style:"cursor: crosshair"};function uu(O={}){let[e,t]=BS[O.key||"Alt"],i=fe.fromClass(class{constructor(r){this.view=r,this.isDown=!1}set(r){this.isDown!=r&&(this.isDown=r,this.view.update([]))}},{eventObservers:{keydown(r){this.set(r.keyCode==e||t(r))},keyup(r){(r.keyCode==e||!t(r))&&this.set(!1)},mousemove(r){this.set(t(r))}}});return[i,b.contentAttributes.of(r=>{var n;return!((n=r.plugin(i))===null||n===void 0)&&n.isDown?NS:null})]}var Xi="-10000px",pn=class{constructor(e,t,i,r){this.facet=t,this.createTooltipView=i,this.removeTooltipView=r,this.input=e.state.facet(t),this.tooltips=this.input.filter(s=>s);let n=null;this.tooltipViews=this.tooltips.map(s=>n=i(s,n))}update(e,t){var i;let r=e.state.facet(this.facet),n=r.filter(a=>a);if(r===this.input){for(let a of this.tooltipViews)a.update&&a.update(e);return!1}let s=[],o=t?[]:null;for(let a=0;at[l]=a),t.length=o.length),this.input=r,this.tooltips=n,this.tooltipViews=s,!0}};function FS(O){let e=O.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}var io=v.define({combine:O=>{var e,t,i;return{position:q.ios?"absolute":((e=O.find(r=>r.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=O.find(r=>r.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((i=O.find(r=>r.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||FS}}}),tf=new WeakMap,ta=fe.fromClass(class{constructor(O){this.view=O,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=O.state.facet(io);this.position=e.position,this.parent=e.parent,this.classes=O.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new pn(O,Mi,(t,i)=>this.createTooltip(t,i),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),O.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let O of this.manager.tooltipViews)this.intersectionObserver.observe(O.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(O){O.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(O,this.above);e&&this.observeIntersection();let t=e||O.geometryChanged,i=O.state.facet(io);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;t=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(O,e){let t=O.create(this.view),i=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),O.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",t.dom.appendChild(r)}return t.dom.style.position=this.position,t.dom.style.top=Xi,t.dom.style.left="0px",this.container.insertBefore(t.dom,i),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var O,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(O=i.destroy)===null||O===void 0||O.call(i);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let O=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:n}=this.manager.tooltipViews[0];if(q.gecko)t=n.offsetParent!=this.container.ownerDocument.body;else if(n.style.top==Xi&&n.style.left=="0px"){let s=n.getBoundingClientRect();t=Math.abs(s.top+1e4)>1||Math.abs(s.left)>1}}if(t||this.position=="absolute")if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(O=n.width/this.parent.offsetWidth,e=n.height/this.parent.offsetHeight)}else({scaleX:O,scaleY:e}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),r=Jo(this.view);return{visible:{left:i.left+r.left,top:i.top+r.top,right:i.right-r.right,bottom:i.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((n,s)=>{let o=this.manager.tooltipViews[s];return o.getCoords?o.getCoords(n.pos):this.view.coordsAtPos(n.pos)}),size:this.manager.tooltipViews.map(({dom:n})=>n.getBoundingClientRect()),space:this.view.state.facet(io).tooltipSpace(this.view),scaleX:O,scaleY:e,makeAbsolute:t}}writeMeasure(O){var e;if(O.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let o of this.manager.tooltipViews)o.dom.style.position="absolute"}let{visible:t,space:i,scaleX:r,scaleY:n}=O,s=[];for(let o=0;o=Math.min(t.bottom,i.bottom)||c.rightMath.min(t.right,i.right)+.1)){h.style.top=Xi;continue}let d=a.arrow?l.dom.querySelector(".cm-tooltip-arrow"):null,Q=d?7:0,p=f.right-f.left,$=(e=tf.get(l))!==null&&e!==void 0?e:f.bottom-f.top,m=l.offset||KS,g=this.view.textDirection==J.LTR,y=f.width>i.right-i.left?g?i.left:i.right-f.width:g?Math.max(i.left,Math.min(c.left-(d?14:0)+m.x,i.right-p)):Math.min(Math.max(i.left,c.left-p+(d?14:0)-m.x),i.right-p),X=this.above[o];!a.strictSide&&(X?c.top-$-Q-m.yi.bottom)&&X==i.bottom-c.bottom>c.top-i.top&&(X=this.above[o]=!X);let P=(X?c.top-i.top:i.bottom-c.bottom)-Q;if(P<$&&l.resize!==!1){if(Py&&_.topT&&(T=X?_.top-$-2-Q:_.bottom+Q+2);if(this.position=="absolute"?(h.style.top=(T-O.parent.top)/n+"px",Of(h,(y-O.parent.left)/r)):(h.style.top=T/n+"px",Of(h,y/r)),d){let _=c.left+(g?m.x:-m.x)-(y+14-7);d.style.left=_/r+"px"}l.overlap!==!0&&s.push({left:y,top:T,right:k,bottom:T+$}),h.classList.toggle("cm-tooltip-above",X),h.classList.toggle("cm-tooltip-below",!X),l.positioned&&l.positioned(O.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let O of this.manager.tooltipViews)O.dom.style.top=Xi}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Of(O,e){let t=parseInt(O.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(O.style.left=e+"px")}var HS=b.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),KS={x:0,y:0},Mi=v.define({enables:[ta,HS]}),$n=v.define({combine:O=>O.reduce((e,t)=>e.concat(t),[])}),mn=class O{static create(e){return new O(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new pn(e,$n,(t,i)=>this.createHostedView(t,i),t=>t.dom.remove())}createHostedView(e,t){let i=e.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let i of this.manager.tooltipViews){let r=i[e];if(r!==void 0){if(t===void 0)t=r;else if(t!==r)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}},JS=Mi.compute([$n],O=>{let e=O.facet($n);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var i;return(i=t.end)!==null&&i!==void 0?i:t.pos})),create:mn.create,above:e[0].above,arrow:e.some(t=>t.arrow)}}),Ao=class{constructor(e,t,i,r,n){this.view=e,this.source=t,this.field=i,this.setHover=r,this.hoverTime=n,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;eo.bottom||t.xo.right+e.defaultCharacterWidth)return;let a=e.bidiSpans(e.state.doc.lineAt(r)).find(h=>h.from<=r&&h.to>=r),l=a&&a.dir==J.RTL?-1:1;n=t.x{this.pending==o&&(this.pending=null,a&&!(Array.isArray(a)&&!a.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(a)?a:[a])}))},a=>Xe(e.state,a,"hover tooltip"))}else s&&!(Array.isArray(s)&&!s.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(s)?s:[s])})}get tooltip(){let e=this.view.plugin(ta),t=e?e.manager.tooltips.findIndex(i=>i.create==mn.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,i;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:n}=this;if(r.length&&n&&!eP(n.dom,e)||this.pending){let{pos:s}=r[0]||this.pending,o=(i=(t=r[0])===null||t===void 0?void 0:t.end)!==null&&i!==void 0?i:s;(s==o?this.view.posAtCoords(this.lastMove)!=s:!tP(this.view,s,o,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:i}=this;i&&i.dom.contains(e.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=i=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}},Hr=4;function eP(O,e){let{left:t,right:i,top:r,bottom:n}=O.getBoundingClientRect(),s;if(s=O.querySelector(".cm-tooltip-arrow")){let o=s.getBoundingClientRect();r=Math.min(o.top,r),n=Math.max(o.bottom,n)}return e.clientX>=t-Hr&&e.clientX<=i+Hr&&e.clientY>=r-Hr&&e.clientY<=n+Hr}function tP(O,e,t,i,r,n){let s=O.scrollDOM.getBoundingClientRect(),o=O.documentTop+O.documentPadding.top+O.contentHeight;if(s.left>i||s.rightr||Math.min(s.bottom,o)=e&&a<=t}function du(O,e={}){let t=W.define(),i=he.define({create(){return[]},update(r,n){if(r.length&&(e.hideOnChange&&(n.docChanged||n.selection)?r=[]:e.hideOn&&(r=r.filter(s=>!e.hideOn(n,s))),n.docChanged)){let s=[];for(let o of r){let a=n.changes.mapPos(o.pos,-1,$e.TrackDel);if(a!=null){let l=Object.assign(Object.create(null),o);l.pos=a,l.end!=null&&(l.end=n.changes.mapPos(l.end)),s.push(l)}}r=s}for(let s of n.effects)s.is(t)&&(r=s.value),s.is(OP)&&(r=[]);return r},provide:r=>$n.from(r)});return{active:i,extension:[i,fe.define(r=>new Ao(r,O,i,t,e.hoverTime||300)),JS]}}function Oa(O,e){let t=O.plugin(ta);if(!t)return null;let i=t.manager.tooltips.indexOf(e);return i<0?null:t.manager.tooltipViews[i]}var OP=W.define();var rf=v.define({combine(O){let e,t;for(let i of O)e=e||i.topContainer,t=t||i.bottomContainer;return{topContainer:e,bottomContainer:t}}});function mO(O,e){let t=O.plugin(Qu),i=t?t.specs.indexOf(e):-1;return i>-1?t.panels[i]:null}var Qu=fe.fromClass(class{constructor(O){this.input=O.state.facet($O),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(O));let e=O.state.facet(rf);this.top=new DO(O,!0,e.topContainer),this.bottom=new DO(O,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(O){let e=O.state.facet(rf);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new DO(O.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new DO(O.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=O.state.facet($O);if(t!=this.input){let i=t.filter(a=>a),r=[],n=[],s=[],o=[];for(let a of i){let l=this.specs.indexOf(a),h;l<0?(h=a(O.view),o.push(h)):(h=this.panels[l],h.update&&h.update(O)),r.push(h),(h.top?n:s).push(h)}this.specs=i,this.panels=r,this.top.sync(n),this.bottom.sync(s);for(let a of o)a.dom.classList.add("cm-panel"),a.mount&&a.mount()}else for(let i of this.panels)i.update&&i.update(O)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:O=>b.scrollMargins.of(e=>{let t=e.plugin(O);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})}),DO=class{constructor(e,t,i){this.view=e,this.top=t,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=nf(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=nf(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}};function nf(O){let e=O.nextSibling;return O.remove(),e}var $O=v.define({enables:Qu});var Be=class extends at{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Be.prototype.elementClass="";Be.prototype.toDOM=void 0;Be.prototype.mapMode=$e.TrackBefore;Be.prototype.startSide=Be.prototype.endSide=-1;Be.prototype.point=!0;var nn=v.define(),iP=v.define(),rP={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>N.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Yi=v.define();function ia(O){return[pu(),Yi.of({...rP,...O})]}var Lo=v.define({combine:O=>O.some(e=>e)});function pu(O){let e=[nP];return O&&O.fixed===!1&&e.push(Lo.of(!0)),e}var nP=fe.fromClass(class{constructor(O){this.view=O,this.domAfter=null,this.prevViewport=O.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=O.state.facet(Yi).map(e=>new gn(O,e)),this.fixed=!O.state.facet(Lo);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),O.scrollDOM.insertBefore(this.dom,O.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(O){if(this.updateGutters(O)){let e=this.prevViewport,t=O.view.viewport,i=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(i<(t.to-t.from)*.8)}if(O.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(Lo)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=O.view.viewport}syncGutters(O){let e=this.dom.nextSibling;O&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=N.iter(this.view.state.facet(nn),this.view.viewport.from),i=[],r=this.gutters.map(n=>new Do(n,this.view.viewport,-this.view.documentPadding.top));for(let n of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(n.type)){let s=!0;for(let o of n.type)if(o.type==ze.Text&&s){Mo(t,i,o.from);for(let a of r)a.line(this.view,o,i);s=!1}else if(o.widget)for(let a of r)a.widget(this.view,o)}else if(n.type==ze.Text){Mo(t,i,n.from);for(let s of r)s.line(this.view,n,i)}else if(n.widget)for(let s of r)s.widget(this.view,n);for(let n of r)n.finish();O&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(O){let e=O.startState.facet(Yi),t=O.state.facet(Yi),i=O.docChanged||O.heightChanged||O.viewportChanged||!N.eq(O.startState.facet(nn),O.state.facet(nn),O.view.viewport.from,O.view.viewport.to);if(e==t)for(let r of this.gutters)r.update(O)&&(i=!0);else{i=!0;let r=[];for(let n of t){let s=e.indexOf(n);s<0?r.push(new gn(this.view,n)):(this.gutters[s].update(O),r.push(this.gutters[s]))}for(let n of this.gutters)n.dom.remove(),r.indexOf(n)<0&&n.destroy();for(let n of r)n.config.side=="after"?this.getDOMAfter().appendChild(n.dom):this.dom.appendChild(n.dom);this.gutters=r}return i}destroy(){for(let O of this.gutters)O.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:O=>b.scrollMargins.of(e=>{let t=e.plugin(O);if(!t||t.gutters.length==0||!t.fixed)return null;let i=t.dom.offsetWidth*e.scaleX,r=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==J.LTR?{left:i,right:r}:{right:i,left:r}})});function sf(O){return Array.isArray(O)?O:[O]}function Mo(O,e,t){for(;O.value&&O.from<=t;)O.from==t&&e.push(O.value),O.next()}var Do=class{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=N.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:r}=this,n=(t.top-this.height)/e.scaleY,s=t.height/e.scaleY;if(this.i==r.elements.length){let o=new Sn(e,s,n,i);r.elements.push(o),r.dom.appendChild(o.dom)}else r.elements[this.i].update(e,s,n,i);this.height=t.bottom,this.i++}line(e,t,i){let r=[];Mo(this.cursor,r,t.from),i.length&&(r=r.concat(i));let n=this.gutter.config.lineMarker(e,t,r);n&&r.unshift(n);let s=this.gutter;r.length==0&&!s.config.renderEmptyElements||this.addElement(e,t,r)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t),r=i?[i]:null;for(let n of e.state.facet(iP)){let s=n(e,t.widget,t);s&&(r||(r=[])).push(s)}r&&this.addElement(e,t,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}},gn=class{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,r=>{let n=r.target,s;if(n!=this.dom&&this.dom.contains(n)){for(;n.parentNode!=this.dom;)n=n.parentNode;let a=n.getBoundingClientRect();s=(a.top+a.bottom)/2}else s=r.clientY;let o=e.lineBlockAtHeight(s-e.documentTop);t.domEventHandlers[i](e,o,r)&&r.preventDefault()});this.markers=sf(t.markers(e)),t.initialSpacer&&(this.spacer=new Sn(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=sf(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let i=e.view.viewport;return!N.eq(this.markers,t,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},Sn=class{constructor(e,t,i,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,r)}update(e,t,i,r){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),sP(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,t){let i="cm-gutterElement",r=this.dom.firstChild;for(let n=0,s=0;;){let o=s,a=nn(o,a,l)||s(o,a,l):s}return i}})}}),Wi=class extends Be{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function ro(O,e){return O.state.facet(IO).formatNumber(e,O.state)}var lP=Yi.compute([IO],O=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(oP)},lineMarker(e,t,i){return i.some(r=>r.toDOM)?null:new Wi(ro(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,i)=>{for(let r of e.state.facet(aP)){let n=r(e,t,i);if(n)return n}return null},lineMarkerChange:e=>e.startState.facet(IO)!=e.state.facet(IO),initialSpacer(e){return new Wi(ro(e,of(e.state.doc.lines)))},updateSpacer(e,t){let i=ro(t.view,of(t.view.state.doc.lines));return i==e.number?e:new Wi(i)},domEventHandlers:O.facet(IO).domEventHandlers,side:"before"}));function $u(O={}){return[IO.of(O),pu(),lP]}function of(O){let e=9;for(;e{let e=[],t=-1;for(let i of O.selection.ranges){let r=O.doc.lineAt(i.head).from;r>t&&(t=r,e.push(hP.range(r)))}return N.of(e)});function mu(){return cP}var fP=0,_e=class{constructor(e,t){this.from=e,this.to=t}},Y=class{constructor(e={}){this.id=fP++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=ue.match(e)),t=>{let i=e(t);return i===void 0?null:[this,i]}}};Y.closedBy=new Y({deserialize:O=>O.split(" ")});Y.openedBy=new Y({deserialize:O=>O.split(" ")});Y.group=new Y({deserialize:O=>O.split(" ")});Y.isolate=new Y({deserialize:O=>{if(O&&O!="rtl"&&O!="ltr"&&O!="auto")throw new RangeError("Invalid value for isolate: "+O);return O||"auto"}});Y.contextHash=new Y({perNode:!0});Y.lookAhead=new Y({perNode:!0});Y.mounted=new Y({perNode:!0});var gO=class{constructor(e,t,i){this.tree=e,this.overlay=t,this.parser=i}static get(e){return e&&e.props&&e.props[Y.mounted.id]}},uP=Object.create(null),ue=class O{constructor(e,t,i,r=0){this.name=e,this.props=t,this.id=i,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):uP,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new O(e.name||"",t,e.id,i);if(e.props){for(let n of e.props)if(Array.isArray(n)||(n=n(r)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[n[0].id]=n[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(Y.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let r of i.split(" "))t[r]=e[i];return i=>{for(let r=i.prop(Y.group),n=-1;n<(r?r.length:0);n++){let s=t[n<0?i.name:r[n]];if(s)return s}}}};ue.none=new ue("",Object.create(null),0,8);var Nt=class O{constructor(e){this.types=e;for(let t=0;t0;for(let a=this.cursor(s|A.IncludeAnonymous);;){let l=!1;if(a.from<=n&&a.to>=r&&(!o&&a.type.isAnonymous||t(a)!==!1)){if(a.firstChild())continue;l=!0}for(;l&&i&&(o||!a.type.isAnonymous)&&i(a),!a.nextSibling();){if(!a.parent())return;l=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:da(ue.none,this.children,this.positions,0,this.children.length,0,this.length,(t,i,r)=>new O(this.type,t,i,r,this.propValues),e.makeTree||((t,i,r)=>new O(ue.none,t,i,r)))}static build(e){return QP(e)}};D.empty=new D(ue.none,[],[],0);var ra=class O{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new O(this.buffer,this.index)}},Ft=class O{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return ue.none}toString(){let e=[];for(let t=0;t0));a=s[a+3]);return o}slice(e,t,i){let r=this.buffer,n=new Uint16Array(t-e),s=0;for(let o=e,a=0;o=e&&te;case 1:return t<=e&&i>e;case 2:return i>e;case 4:return!0}}function Di(O,e,t,i){for(var r;O.from==O.to||(t<1?O.from>=e:O.from>e)||(t>-1?O.to<=e:O.to0?o.length:-1;e!=l;e+=t){let h=o[e],c=a[e]+s.from;if(Tu(r,i,c,c+h.length)){if(h instanceof Ft){if(n&A.ExcludeBuffers)continue;let f=h.findChild(0,h.buffer.length,t,i-c,r);if(f>-1)return new SO(new sa(s,h,e,c),null,f)}else if(n&A.IncludeAnonymous||!h.type.isAnonymous||ua(h)){let f;if(!(n&A.IgnoreMounts)&&(f=gO.get(h))&&!f.overlay)return new O(f.tree,c,e,s);let d=new O(h,c,e,s);return n&A.IncludeAnonymous||!d.type.isAnonymous?d:d.nextChild(t<0?h.children.length-1:0,t,i,r)}}}if(n&A.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+t:e=t<0?-1:s._parent._tree.children.length,s=s._parent,!s))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,i=0){let r;if(!(i&A.IgnoreOverlays)&&(r=gO.get(this._tree))&&r.overlay){let n=e-this.from;for(let{from:s,to:o}of r.overlay)if((t>0?s<=n:s=n:o>n))return new O(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Su(O,e,t,i){let r=O.cursor(),n=[];if(!r.firstChild())return n;if(t!=null){for(let s=!1;!s;)if(s=r.type.is(t),!r.nextSibling())return n}for(;;){if(i!=null&&r.type.is(i))return n;if(r.type.is(e)&&n.push(r.node),!r.nextSibling())return i==null?n:[]}}function na(O,e,t=e.length-1){for(let i=O;t>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[t]&&e[t]!=i.name)return!1;t--}}return!0}var sa=class{constructor(e,t,i,r){this.parent=e,this.buffer=t,this.index=i,this.start=r}},SO=class O extends Tn{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,i){super(),this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,i);return n<0?null:new O(this.context,this,n)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,i=0){if(i&A.ExcludeBuffers)return null;let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return n<0?null:new O(this.context,this,n)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new O(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new O(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,r=this.index+4,n=i.buffer[this.index+3];if(n>r){let s=i.buffer[this.index+1];e.push(i.slice(r,n,s)),t.push(0)}return new D(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function ku(O){if(!O.length)return null;let e=0,t=O[0];for(let n=1;nt.from||s.to=e){let o=new je(s.tree,s.overlay[0].from+n.from,-1,n);(r||(r=[i])).push(Di(o,e,t,!1))}}return r?ku(r):i}var FO=class{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof je)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let i=e._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:i,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=i+r.buffer[e+1],this.to=i+r.buffer[e+2],!0}yield(e){return e?e instanceof je?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode));let{buffer:r}=this.buffer,n=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,i);return n<0?!1:(this.stack.push(this.index),this.yieldBuf(n))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,i=this.mode){return this.buffer?i&A.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&A.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&A.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,i=this.stack.length-1;if(e<0){let r=i<0?0:this.stack[i]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(r)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,i,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let n=t+e,s=e<0?-1:i._tree.children.length;n!=s;n+=e){let o=i._tree.children[n];if(this.mode&A.IncludeAnonymous||o instanceof Ft||!o.type.isAnonymous||ua(o))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let s=e;s;s=s._parent)if(s.index==r){if(r==this.index)return s;t=s,i=n+1;break e}r=this.stack[--n]}for(let r=i;r=0;n--){if(n<0)return na(this._tree,e,r);let s=i[t.buffer[this.stack[n]]];if(!s.isAnonymous){if(e[r]&&e[r]!=s.name)return!1;r--}}return!0}};function ua(O){return O.children.some(e=>e instanceof Ft||!e.type.isAnonymous||ua(e))}function QP(O){var e;let{buffer:t,nodeSet:i,maxBufferLength:r=1024,reused:n=[],minRepeatType:s=i.types.length}=O,o=Array.isArray(t)?new ra(t,t.length):t,a=i.types,l=0,h=0;function c(P,T,k,_,E,ee){let{id:C,start:Z,end:F,size:I}=o,ie=h,we=l;for(;I<0;)if(o.next(),I==-1){let vt=n[C];k.push(vt),_.push(Z-P);return}else if(I==-3){l=C;return}else if(I==-4){h=C;return}else throw new RangeError(`Unrecognized record size: ${I}`);let Ae=a[C],dt,Se,et=Z-P;if(F-Z<=r&&(Se=$(o.pos-T,E))){let vt=new Uint16Array(Se.size-Se.skip),tt=o.pos-Se.size,Qt=vt.length;for(;o.pos>tt;)Qt=m(Se.start,vt,Qt);dt=new Ft(vt,F-Se.start,i),et=Se.start-P}else{let vt=o.pos-I;o.next();let tt=[],Qt=[],aO=C>=s?C:-1,ZO=0,qr=F;for(;o.pos>vt;)aO>=0&&o.id==aO&&o.size>=0?(o.end<=qr-r&&(Q(tt,Qt,Z,ZO,o.end,qr,aO,ie,we),ZO=tt.length,qr=o.end),o.next()):ee>2500?f(Z,vt,tt,Qt):c(Z,vt,tt,Qt,aO,ee+1);if(aO>=0&&ZO>0&&ZO-1&&ZO>0){let Lh=d(Ae,we);dt=da(Ae,tt,Qt,0,tt.length,0,F-Z,Lh,Lh)}else dt=p(Ae,tt,Qt,F-Z,ie-F,we)}k.push(dt),_.push(et)}function f(P,T,k,_){let E=[],ee=0,C=-1;for(;o.pos>T;){let{id:Z,start:F,end:I,size:ie}=o;if(ie>4)o.next();else{if(C>-1&&F=0;I-=3)Z[ie++]=E[I],Z[ie++]=E[I+1]-F,Z[ie++]=E[I+2]-F,Z[ie++]=ie;k.push(new Ft(Z,E[2]-F,i)),_.push(F-P)}}function d(P,T){return(k,_,E)=>{let ee=0,C=k.length-1,Z,F;if(C>=0&&(Z=k[C])instanceof D){if(!C&&Z.type==P&&Z.length==E)return Z;(F=Z.prop(Y.lookAhead))&&(ee=_[C]+Z.length+F)}return p(P,k,_,E,ee,T)}}function Q(P,T,k,_,E,ee,C,Z,F){let I=[],ie=[];for(;P.length>_;)I.push(P.pop()),ie.push(T.pop()+k-E);P.push(p(i.types[C],I,ie,ee-E,Z-ee,F)),T.push(E-k)}function p(P,T,k,_,E,ee,C){if(ee){let Z=[Y.contextHash,ee];C=C?[Z].concat(C):[Z]}if(E>25){let Z=[Y.lookAhead,E];C=C?[Z].concat(C):[Z]}return new D(P,T,k,_,C)}function $(P,T){let k=o.fork(),_=0,E=0,ee=0,C=k.end-r,Z={size:0,start:0,skip:0};e:for(let F=k.pos-P;k.pos>F;){let I=k.size;if(k.id==T&&I>=0){Z.size=_,Z.start=E,Z.skip=ee,ee+=4,_+=4,k.next();continue}let ie=k.pos-I;if(I<0||ie=s?4:0,Ae=k.start;for(k.next();k.pos>ie;){if(k.size<0)if(k.size==-3)we+=4;else break e;else k.id>=s&&(we+=4);k.next()}E=Ae,_+=I,ee+=we}return(T<0||_==P)&&(Z.size=_,Z.start=E,Z.skip=ee),Z.size>4?Z:void 0}function m(P,T,k){let{id:_,start:E,end:ee,size:C}=o;if(o.next(),C>=0&&_4){let F=o.pos-(C-4);for(;o.pos>F;)k=m(P,T,k)}T[--k]=Z,T[--k]=ee-P,T[--k]=E-P,T[--k]=_}else C==-3?l=_:C==-4&&(h=_);return k}let g=[],y=[];for(;o.pos>0;)c(O.start||0,O.bufferStart||0,g,y,-1,0);let X=(e=O.length)!==null&&e!==void 0?e:g.length?y[0]+g[0].length:0;return new D(a[O.topID],g.reverse(),y.reverse(),X)}var Pu=new WeakMap;function bn(O,e){if(!O.isAnonymous||e instanceof Ft||e.type!=O)return 1;let t=Pu.get(e);if(t==null){t=1;for(let i of e.children){if(i.type!=O||!(i instanceof D)){t=1;break}t+=bn(O,i)}Pu.set(e,t)}return t}function da(O,e,t,i,r,n,s,o,a){let l=0;for(let Q=i;Q=h)break;T+=k}if(y==X+1){if(T>h){let k=Q[X];d(k.children,k.positions,0,k.children.length,p[X]+g);continue}c.push(Q[X])}else{let k=p[y-1]+Q[y-1].length-P;c.push(da(O,Q,p,X,y,P,k,null,a))}f.push(P+g-n)}}return d(e,t,i,r,0),(o||a)(c,f,s)}var Xt=class{constructor(){this.map=new WeakMap}setBuffer(e,t,i){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,i)}getBuffer(e,t){let i=this.map.get(e);return i&&i.get(t)}set(e,t){e instanceof SO?this.setBuffer(e.context.buffer,e.index,t):e instanceof je&&this.map.set(e.tree,t)}get(e){return e instanceof SO?this.getBuffer(e.context.buffer,e.index):e instanceof je?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Yt=class O{constructor(e,t,i,r,n=!1,s=!1){this.from=e,this.to=t,this.tree=i,this.offset=r,this.open=(n?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],i=!1){let r=[new O(0,e.length,e,0,!1,i)];for(let n of t)n.to>e.length&&r.push(n);return r}static applyChanges(e,t,i=128){if(!t.length)return e;let r=[],n=1,s=e.length?e[0]:null;for(let o=0,a=0,l=0;;o++){let h=o=i)for(;s&&s.from=f.from||c<=f.to||l){let d=Math.max(f.from,a)-l,Q=Math.min(f.to,c)-l;f=d>=Q?null:new O(d,Q,f.tree,f.offset+l,o>0,!!h)}if(f&&r.push(f),s.to>c)break;s=nnew _e(r.from,r.to)):[new _e(0,0)]:[new _e(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let r=this.startParse(e,t,i);for(;;){let n=r.advance();if(n)return n}}},aa=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function PO(O){return(e,t,i,r)=>new ca(e,O,t,i,r)}var kn=class{constructor(e,t,i,r,n){this.parser=e,this.parse=t,this.overlay=i,this.target=r,this.from=n}};function yu(O){if(!O.length||O.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(O))}var la=class{constructor(e,t,i,r,n,s,o){this.parser=e,this.predicate=t,this.mounts=i,this.index=r,this.start=n,this.target=s,this.prev=o,this.depth=0,this.ranges=[]}},ha=new Y({perNode:!0}),ca=class{constructor(e,t,i,r,n){this.nest=t,this.input=i,this.fragments=r,this.ranges=n,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let i=this.baseParse.advance();if(!i)return null;if(this.baseParse=null,this.baseTree=i,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let i=this.baseTree;return this.stoppedAt!=null&&(i=new D(i.type,i.children,i.positions,i.length,i.propValues.concat([[ha,this.stoppedAt]]))),i}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let i=Object.assign(Object.create(null),e.target.props);i[Y.mounted.id]=new gO(t,e.overlay,e.parser),e.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)o=!1;else if(e.hasNode(r)){if(t){let l=t.mounts.find(h=>h.frag.from<=r.from&&h.frag.to>=r.to&&h.mount.overlay);if(l)for(let h of l.mount.overlay){let c=h.from+l.pos,f=h.to+l.pos;c>=r.from&&f<=r.to&&!t.ranges.some(d=>d.fromc)&&t.ranges.push({from:c,to:f})}}o=!1}else if(i&&(s=pP(i.ranges,r.from,r.to)))o=s!=2;else if(!r.type.isAnonymous&&(n=this.nest(r,this.input))&&(r.fromnew _e(c.from-r.from,c.to-r.from)):null,r.tree,h.length?h[0].from:r.from)),n.overlay?h.length&&(i={ranges:h,depth:0,prev:i}):o=!1}}else if(t&&(a=t.predicate(r))&&(a===!0&&(a=new _e(r.from,r.to)),a.from=0&&t.ranges[l].to==a.from?t.ranges[l]={from:t.ranges[l].from,to:a.to}:t.ranges.push(a)}if(o&&r.firstChild())t&&t.depth++,i&&i.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let l=xu(this.ranges,t.ranges);l.length&&(yu(l),this.inner.splice(t.index,0,new kn(t.parser,t.parser.startParse(this.input,bu(t.mounts,l),l),t.ranges.map(h=>new _e(h.from-t.start,h.to-t.start)),t.target,l[0].from))),t=t.prev}i&&!--i.depth&&(i=i.prev)}}}};function pP(O,e,t){for(let i of O){if(i.from>=t)break;if(i.to>e)return i.from<=e&&i.to>=t?2:1}return 0}function Xu(O,e,t,i,r,n){if(e=e&&t.enter(i,1,A.IgnoreOverlays|A.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof D)t=t.children[0];else break}return!1}},fa=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let i=this.curFrag=e[0];this.curTo=(t=i.tree.prop(ha))!==null&&t!==void 0?t:i.to,this.inner=new wn(i.tree,-i.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(ha))!==null&&e!==void 0?e:t.to,this.inner=new wn(t.tree,-t.offset)}}findMounts(e,t){var i;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let n=this.inner.cursor.node;n;n=n.parent){let s=(i=n.tree)===null||i===void 0?void 0:i.prop(Y.mounted);if(s&&s.parser==t)for(let o=this.fragI;o=n.to)break;a.tree==this.curFrag.tree&&r.push({frag:a,pos:n.from-a.offset,mount:s})}}}return r}};function xu(O,e){let t=null,i=e;for(let r=1,n=0;r=o)break;a.to<=s||(t||(i=t=e.slice()),a.fromo&&t.splice(n+1,0,new _e(o,a.to))):a.to>o?t[n--]=new _e(o,a.to):t.splice(n--,1))}}return i}function mP(O,e,t,i){let r=0,n=0,s=!1,o=!1,a=-1e9,l=[];for(;;){let h=r==O.length?1e9:s?O[r].to:O[r].from,c=n==e.length?1e9:o?e[n].to:e[n].from;if(s!=o){let f=Math.max(a,t),d=Math.min(h,c,i);fnew _e(f.from+i,f.to+i)),c=mP(e,h,a,l);for(let f=0,d=a;;f++){let Q=f==c.length,p=Q?l:c[f].from;if(p>d&&t.push(new Yt(d,p,r.tree,-s,n.from>=d||n.openStart,n.to<=p||n.openEnd)),Q)break;d=c[f].to}}else t.push(new Yt(a,l,r.tree,-s,n.from>=s||n.openStart,n.to<=o||n.openEnd))}return t}var gP=0,Ne=class O{constructor(e,t,i,r){this.name=e,this.set=t,this.base=i,this.modified=r,this.id=gP++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let i=typeof e=="string"?e:"?";if(e instanceof O&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new O(i,[],null,[]);if(r.set.push(r),t)for(let n of t.set)r.set.push(n);return r}static defineModifier(e){let t=new zn(e);return i=>i.modified.indexOf(t)>-1?i:zn.get(i.base||i,i.modified.concat(t).sort((r,n)=>r.id-n.id))}},SP=0,zn=class O{constructor(e){this.name=e,this.instances=[],this.id=SP++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(o=>o.base==e&&PP(t,o.modified));if(i)return i;let r=[],n=new Ne(e.name,r,e,t);for(let o of t)o.instances.push(n);let s=yP(t);for(let o of e.set)if(!o.modified.length)for(let a of s)r.push(O.get(o,a));return n}};function PP(O,e){return O.length==e.length&&O.every((t,i)=>t==e[i])}function yP(O){let e=[[]];for(let t=0;ti.length-t.length)}function H(O){let e=Object.create(null);for(let t in O){let i=O[t];Array.isArray(i)||(i=[i]);for(let r of t.split(" "))if(r){let n=[],s=2,o=r;for(let c=0;;){if(o=="..."&&c>0&&c+3==r.length){s=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(o);if(!f)throw new RangeError("Invalid path: "+r);if(n.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),c+=f[0].length,c==r.length)break;let d=r[c++];if(c==r.length&&d=="!"){s=0;break}if(d!="/")throw new RangeError("Invalid path: "+r);o=r.slice(c)}let a=n.length-1,l=n[a];if(!l)throw new RangeError("Invalid path: "+r);let h=new HO(i,s,a>0?n.slice(0,a):null);e[l]=h.sort(e[l])}}return qu.add(e)}var qu=new Y,HO=class{constructor(e,t,i,r){this.tags=e,this.mode=t,this.context=i,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let s=r;for(let o of n)for(let a of o.set){let l=t[a.id];if(l){s=s?s+" "+l:l;break}}return s},scope:i}}function XP(O,e){let t=null;for(let i of O){let r=i.style(e);r&&(t=t?t+" "+r:r)}return t}function Ru(O,e,t,i=0,r=O.length){let n=new pa(i,Array.isArray(e)?e:[e],t);n.highlightRange(O.cursor(),i,r,"",n.highlighters),n.flush(r)}var pa=class{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,i,r,n){let{type:s,from:o,to:a}=e;if(o>=i||a<=t)return;s.isTop&&(n=this.highlighters.filter(d=>!d.scope||d.scope(s)));let l=r,h=xP(e)||HO.empty,c=XP(n,h.tags);if(c&&(l&&(l+=" "),l+=c,h.mode==1&&(r+=(r?" ":"")+c)),this.startSpan(Math.max(t,o),l),h.opaque)return;let f=e.tree&&e.tree.prop(Y.mounted);if(f&&f.overlay){let d=e.node.enter(f.overlay[0].from+o,1),Q=this.highlighters.filter($=>!$.scope||$.scope(f.tree.type)),p=e.firstChild();for(let $=0,m=o;;$++){let g=$=y||!e.nextSibling())););if(!g||y>i)break;m=g.to+o,m>t&&(this.highlightRange(d.cursor(),Math.max(t,g.from+o),Math.min(i,m),"",Q),this.startSpan(Math.min(i,m),l))}p&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,r,n),this.startSpan(Math.min(i,e.to),l)}while(e.nextSibling());e.parent()}}};function xP(O){let e=O.type.prop(qu);for(;e&&e.context&&!O.matchContext(e.context);)e=e.next;return e||null}var w=Ne.define,vn=w(),Kt=w(),wu=w(Kt),vu=w(Kt),Jt=w(),qn=w(Jt),Qa=w(Jt),Tt=w(),yO=w(Tt),xt=w(),bt=w(),$a=w(),Ii=w($a),Rn=w(),u={comment:vn,lineComment:w(vn),blockComment:w(vn),docComment:w(vn),name:Kt,variableName:w(Kt),typeName:wu,tagName:w(wu),propertyName:vu,attributeName:w(vu),className:w(Kt),labelName:w(Kt),namespace:w(Kt),macroName:w(Kt),literal:Jt,string:qn,docString:w(qn),character:w(qn),attributeValue:w(qn),number:Qa,integer:w(Qa),float:w(Qa),bool:w(Jt),regexp:w(Jt),escape:w(Jt),color:w(Jt),url:w(Jt),keyword:xt,self:w(xt),null:w(xt),atom:w(xt),unit:w(xt),modifier:w(xt),operatorKeyword:w(xt),controlKeyword:w(xt),definitionKeyword:w(xt),moduleKeyword:w(xt),operator:bt,derefOperator:w(bt),arithmeticOperator:w(bt),logicOperator:w(bt),bitwiseOperator:w(bt),compareOperator:w(bt),updateOperator:w(bt),definitionOperator:w(bt),typeOperator:w(bt),controlOperator:w(bt),punctuation:$a,separator:w($a),bracket:Ii,angleBracket:w(Ii),squareBracket:w(Ii),paren:w(Ii),brace:w(Ii),content:Tt,heading:yO,heading1:w(yO),heading2:w(yO),heading3:w(yO),heading4:w(yO),heading5:w(yO),heading6:w(yO),contentSeparator:w(Tt),list:w(Tt),quote:w(Tt),emphasis:w(Tt),strong:w(Tt),link:w(Tt),monospace:w(Tt),strikethrough:w(Tt),inserted:w(),deleted:w(),changed:w(),invalid:w(),meta:Rn,documentMeta:w(Rn),annotation:w(Rn),processingInstruction:w(Rn),definition:Ne.defineModifier("definition"),constant:Ne.defineModifier("constant"),function:Ne.defineModifier("function"),standard:Ne.defineModifier("standard"),local:Ne.defineModifier("local"),special:Ne.defineModifier("special")};for(let O in u){let e=u[O];e instanceof Ne&&(e.name=O)}var bq=ma([{tag:u.link,class:"tok-link"},{tag:u.heading,class:"tok-heading"},{tag:u.emphasis,class:"tok-emphasis"},{tag:u.strong,class:"tok-strong"},{tag:u.keyword,class:"tok-keyword"},{tag:u.atom,class:"tok-atom"},{tag:u.bool,class:"tok-bool"},{tag:u.url,class:"tok-url"},{tag:u.labelName,class:"tok-labelName"},{tag:u.inserted,class:"tok-inserted"},{tag:u.deleted,class:"tok-deleted"},{tag:u.literal,class:"tok-literal"},{tag:u.string,class:"tok-string"},{tag:u.number,class:"tok-number"},{tag:[u.regexp,u.escape,u.special(u.string)],class:"tok-string2"},{tag:u.variableName,class:"tok-variableName"},{tag:u.local(u.variableName),class:"tok-variableName tok-local"},{tag:u.definition(u.variableName),class:"tok-variableName tok-definition"},{tag:u.special(u.variableName),class:"tok-variableName2"},{tag:u.definition(u.propertyName),class:"tok-propertyName tok-definition"},{tag:u.typeName,class:"tok-typeName"},{tag:u.namespace,class:"tok-namespace"},{tag:u.className,class:"tok-className"},{tag:u.macroName,class:"tok-macroName"},{tag:u.propertyName,class:"tok-propertyName"},{tag:u.operator,class:"tok-operator"},{tag:u.comment,class:"tok-comment"},{tag:u.meta,class:"tok-meta"},{tag:u.invalid,class:"tok-invalid"},{tag:u.punctuation,class:"tok-punctuation"}]);var ga,eO=new Y;function Ji(O){return v.define({combine:O?e=>e.concat(O):void 0})}var Zn=new Y,Ye=class{constructor(e,t,i=[],r=""){this.data=e,this.name=r,M.prototype.hasOwnProperty("tree")||Object.defineProperty(M.prototype,"tree",{get(){return j(this)}}),this.parser=t,this.extension=[tO.of(this),M.languageData.of((n,s,o)=>{let a=zu(n,s,o),l=a.type.prop(eO);if(!l)return[];let h=n.facet(l),c=a.type.prop(Zn);if(c){let f=a.resolve(s-a.from,o);for(let d of c)if(d.test(f,n)){let Q=n.facet(d.facet);return d.type=="replace"?Q:Q.concat(h)}}return h})].concat(i)}isActiveAt(e,t,i=-1){return zu(e,t,i).type.prop(eO)==this.data}findRegions(e){let t=e.facet(tO);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],r=(n,s)=>{if(n.prop(eO)==this.data){i.push({from:s,to:s+n.length});return}let o=n.prop(Y.mounted);if(o){if(o.tree.prop(eO)==this.data){if(o.overlay)for(let a of o.overlay)i.push({from:a.from+s,to:a.to+s});else i.push({from:s,to:s+n.length});return}else if(o.overlay){let a=i.length;if(r(o.tree,o.overlay[0].from+s),i.length>a)return}}for(let a=0;ai.isTop?t:void 0)]}),e.name)}configure(e,t){return new O(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function j(O){let e=O.field(Ye.state,!1);return e?e.tree:D.empty}var Xa=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let i=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}},Bi=null,Fi=class O{constructor(e,t,i=[],r,n,s,o,a){this.parser=e,this.state=t,this.fragments=i,this.tree=r,this.treeLen=n,this.viewport=s,this.skipped=o,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new O(e,t,[],D.empty,0,i,[],null)}startParse(){return this.parser.startParse(new Xa(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=D.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Yt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Bi;Bi=this;try{return e()}finally{Bi=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Yu(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:r,treeLen:n,viewport:s,skipped:o}=this;if(this.takeTree(),!e.empty){let a=[];if(e.iterChangedRanges((l,h,c,f)=>a.push({fromA:l,toA:h,fromB:c,toB:f})),i=Yt.applyChanges(i,a),r=D.empty,n=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){o=[];for(let l of this.skipped){let h=e.mapPos(l.from,1),c=e.mapPos(l.to,-1);he.from&&(this.fragments=Yu(this.fragments,r,n),this.skipped.splice(i--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Ht{createParse(t,i,r){let n=r[0].from,s=r[r.length-1].to;return{parsedPos:n,advance(){let a=Bi;if(a){for(let l of r)a.tempSkipped.push(l);e&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,e]):e)}return this.parsedPos=s,new D(ue.none,[],[],s-n)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return Bi}};function Yu(O,e,t){return Yt.applyChanges(O,[{fromA:e,toA:t,fromB:e,toB:t}])}var Hi=class O{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new O(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=Fi.create(e.facet(tO).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new O(i)}};Ye.state=he.define({create:Hi.init,update(O,e){for(let t of e.effects)if(t.is(Ye.setState))return t.value;return e.startState.facet(tO)!=e.state.facet(tO)?Hi.init(e.state):O.apply(e)}});var ju=O=>{let e=setTimeout(()=>O(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(ju=O=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(O,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var Sa=typeof navigator<"u"&&(!((ga=navigator.scheduling)===null||ga===void 0)&&ga.isInputPending)?()=>navigator.scheduling.isInputPending():null,bP=fe.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(Ye.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(Ye.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=ju(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,a=n.context.work(()=>Sa&&Sa()||Date.now()>s,r+(o?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:Ye.setState.of(new Hi(n.context))})),this.chunkBudget>0&&!(a&&!o)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>Xe(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),tO=v.define({combine(O){return O.length?O[0]:null},enables:O=>[Ye.state,bP,b.contentAttributes.compute([O],e=>{let t=e.facet(O);return t&&t.name?{"data-language":t.name}:{}})]}),Oe=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Ki=class O{constructor(e,t,i,r,n,s=void 0){this.name=e,this.alias=t,this.extensions=i,this.filename=r,this.loadFunc=n,this.support=s,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:i}=e;if(!t){if(!i)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(i)}return new O(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,i)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let i=/\.([^.]+)$/.exec(t);if(i){for(let r of e)if(r.extensions.indexOf(i[1])>-1)return r}return null}static matchLanguageName(e,t,i=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(n=>n==t))return r;if(i)for(let r of e)for(let n of r.alias){let s=t.indexOf(n);if(s>-1&&(n.length>2||!/\w/.test(t[s-1])&&!/\w/.test(t[s+n.length])))return r}return null}},TP=v.define(),OO=v.define({combine:O=>{if(!O.length)return" ";let e=O[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(O[0]));return e}});function er(O){let e=O.facet(OO);return e.charCodeAt(0)==9?O.tabSize*e.length:e.length}function JO(O,e){let t="",i=O.tabSize,r=O.facet(OO)[0];if(r==" "){for(;e>=i;)t+=" ",e-=i;r=" "}for(let n=0;n=e?kP(O,t,e):null}var XO=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=er(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:n}=this.options;return r!=null&&r>=i.from&&r<=i.to?n&&r==e?{text:"",from:e}:(t<0?r-1&&(n+=s-this.countColumn(i,i.search(/\S|$/))),n}countColumn(e,t=e.length){return qe(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:r}=this.lineAt(e,t),n=this.options.overrideIndentation;if(n){let s=n(r);if(s>-1)return s}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},le=new Y;function kP(O,e,t){let i=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=i.node){let n=[];for(let s=r;s&&!(s.fromi.node.to||s.from==i.node.from&&s.type==i.node.type);s=s.parent)n.push(s);for(let s=n.length-1;s>=0;s--)i={node:n[s],next:i}}return Cu(i,O,t)}function Cu(O,e,t){for(let i=O;i;i=i.next){let r=vP(i.node);if(r)return r(xa.create(e,t,i))}return 0}function wP(O){return O.pos==O.options.simulateBreak&&O.options.simulateDoubleBreak}function vP(O){let e=O.type.prop(le);if(e)return e;let t=O.firstChild,i;if(t&&(i=t.type.prop(Y.closedBy))){let r=O.lastChild,n=r&&i.indexOf(r.name)>-1;return s=>Gu(s,!0,1,void 0,n&&!wP(s)?r.from:void 0)}return O.parent==null?qP:null}function qP(){return 0}var xa=class O extends XO{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.context=i}get node(){return this.context.node}static create(e,t,i){return new O(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(t.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(RP(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){return Cu(this.context.next,this.base,this.pos)}};function RP(O,e){for(let t=e;t;t=t.parent)if(O==t)return!0;return!1}function zP(O){let e=O.node,t=e.childAfter(e.from),i=e.lastChild;if(!t)return null;let r=O.options.simulateBreak,n=O.state.doc.lineAt(t.from),s=r==null||r<=n.from?n.to:Math.min(n.to,r);for(let o=t.to;;){let a=e.childAfter(o);if(!a||a==i)return null;if(!a.type.isSkipped){if(a.from>=s)return null;let l=/^ */.exec(n.text.slice(t.to-n.from))[0].length;return{from:t.from,to:t.to+l}}o=a.to}}function xe({closing:O,align:e=!0,units:t=1}){return i=>Gu(i,e,t,O)}function Gu(O,e,t,i,r){let n=O.textAfter,s=n.match(/^\s*/)[0].length,o=i&&n.slice(s,s+i.length)==i||r==O.pos+s,a=e?zP(O):null;return a?o?O.column(a.from):O.column(a.to):O.baseIndent+(o?0:O.unit*t)}var iO=O=>O.baseIndent;function ce({except:O,units:e=1}={}){return t=>{let i=O&&O.test(t.textAfter);return t.baseIndent+(i?0:e*t.unit)}}var YP=200;function Eu(){return M.transactionFilter.of(O=>{if(!O.docChanged||!O.isUserEvent("input.type")&&!O.isUserEvent("input.complete"))return O;let e=O.startState.languageDataAt("indentOnInput",O.startState.selection.main.head);if(!e.length)return O;let t=O.newDoc,{head:i}=O.newSelection.main,r=t.lineAt(i);if(i>r.from+YP)return O;let n=t.sliceString(r.from,i);if(!e.some(l=>l.test(n)))return O;let{state:s}=O,o=-1,a=[];for(let{head:l}of s.selection.ranges){let h=s.doc.lineAt(l);if(h.from==o)continue;o=h.from;let c=Vn(s,h.from);if(c==null)continue;let f=/^\s*/.exec(h.text)[0],d=JO(s,c);f!=d&&a.push({from:h.from,to:h.from+f.length,insert:d})}return a.length?[O,{changes:a,sequential:!0}]:O})}var qa=v.define(),ne=new Y;function me(O){let e=O.firstChild,t=O.lastChild;return e&&e.tot)continue;if(n&&o.from=e&&l.to>t&&(n=l)}}return n}function ZP(O){let e=O.lastChild;return e&&e.to==O.to&&e.type.isError}function Yn(O,e,t){for(let i of O.facet(qa)){let r=i(O,e,t);if(r)return r}return WP(O,e,t)}function Au(O,e){let t=e.mapPos(O.from,1),i=e.mapPos(O.to,-1);return t>=i?void 0:{from:t,to:i}}var Un=W.define({map:Au}),tr=W.define({map:Au});function Lu(O){let e=[];for(let{head:t}of O.state.selection.ranges)e.some(i=>i.from<=t&&i.to>=t)||e.push(O.lineBlockAt(t));return e}var xO=he.define({create(){return R.none},update(O,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((t,i)=>O=Wu(O,t,i)),O=O.map(e.changes);for(let t of e.effects)if(t.is(Un)&&!VP(O,t.value.from,t.value.to)){let{preparePlaceholder:i}=e.state.facet(Ra),r=i?R.replace({widget:new ba(i(e.state,t.value))}):Zu;O=O.update({add:[r.range(t.value.from,t.value.to)]})}else t.is(tr)&&(O=O.update({filter:(i,r)=>t.value.from!=i||t.value.to!=r,filterFrom:t.value.from,filterTo:t.value.to}));return e.selection&&(O=Wu(O,e.selection.main.head)),O},provide:O=>b.decorations.from(O),toJSON(O,e){let t=[];return O.between(0,e.doc.length,(i,r)=>{t.push(i,r)}),t},fromJSON(O){if(!Array.isArray(O)||O.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t{re&&(i=!0)}),i?O.update({filterFrom:e,filterTo:t,filter:(r,n)=>r>=t||n<=e}):O}function Wn(O,e,t){var i;let r=null;return(i=O.field(xO,!1))===null||i===void 0||i.between(e,t,(n,s)=>{(!r||r.from>n)&&(r={from:n,to:s})}),r}function VP(O,e,t){let i=!1;return O.between(e,e,(r,n)=>{r==e&&n==t&&(i=!0)}),i}function Mu(O,e){return O.field(xO,!1)?e:e.concat(W.appendConfig.of(Bu()))}var UP=O=>{for(let e of Lu(O)){let t=Yn(O.state,e.from,e.to);if(t)return O.dispatch({effects:Mu(O.state,[Un.of(t),Du(O,t)])}),!0}return!1},_P=O=>{if(!O.state.field(xO,!1))return!1;let e=[];for(let t of Lu(O)){let i=Wn(O.state,t.from,t.to);i&&e.push(tr.of(i),Du(O,i,!1))}return e.length&&O.dispatch({effects:e}),e.length>0};function Du(O,e,t=!0){let i=O.state.doc.lineAt(e.from).number,r=O.state.doc.lineAt(e.to).number;return b.announce.of(`${O.state.phrase(t?"Folded lines":"Unfolded lines")} ${i} ${O.state.phrase("to")} ${r}.`)}var jP=O=>{let{state:e}=O,t=[];for(let i=0;i{let e=O.state.field(xO,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,O.state.doc.length,(i,r)=>{t.push(tr.of({from:i,to:r}))}),O.dispatch({effects:t}),!0};var Iu=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:UP},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:_P},{key:"Ctrl-Alt-[",run:jP},{key:"Ctrl-Alt-]",run:CP}],GP={placeholderDOM:null,preparePlaceholder:null,placeholderText:"\u2026"},Ra=v.define({combine(O){return Te(O,GP)}});function Bu(O){let e=[xO,AP];return O&&e.push(Ra.of(O)),e}function Nu(O,e){let{state:t}=O,i=t.facet(Ra),r=s=>{let o=O.lineBlockAt(O.posAtDOM(s.target)),a=Wn(O.state,o.from,o.to);a&&O.dispatch({effects:tr.of(a)}),s.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(O,r,e);let n=document.createElement("span");return n.textContent=i.placeholderText,n.setAttribute("aria-label",t.phrase("folded code")),n.title=t.phrase("unfold"),n.className="cm-foldPlaceholder",n.onclick=r,n}var Zu=R.replace({widget:new class extends Ue{toDOM(O){return Nu(O,null)}}}),ba=class extends Ue{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return Nu(e,this.value)}},EP={openText:"\u2304",closedText:"\u203A",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1},Ni=class extends Be{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}};function Fu(O={}){let e={...EP,...O},t=new Ni(e,!0),i=new Ni(e,!1),r=fe.fromClass(class{constructor(s){this.from=s.viewport.from,this.markers=this.buildMarkers(s)}update(s){(s.docChanged||s.viewportChanged||s.startState.facet(tO)!=s.state.facet(tO)||s.startState.field(xO,!1)!=s.state.field(xO,!1)||j(s.startState)!=j(s.state)||e.foldingChanged(s))&&(this.markers=this.buildMarkers(s.view))}buildMarkers(s){let o=new Me;for(let a of s.viewportLineBlocks){let l=Wn(s.state,a.from,a.to)?i:Yn(s.state,a.from,a.to)?t:null;l&&o.add(a.from,a.from,l)}return o.finish()}}),{domEventHandlers:n}=e;return[r,ia({class:"cm-foldGutter",markers(s){var o;return((o=s.plugin(r))===null||o===void 0?void 0:o.markers)||N.empty},initialSpacer(){return new Ni(e,!1)},domEventHandlers:{...n,click:(s,o,a)=>{if(n.click&&n.click(s,o,a))return!0;let l=Wn(s.state,o.from,o.to);if(l)return s.dispatch({effects:tr.of(l)}),!0;let h=Yn(s.state,o.from,o.to);return h?(s.dispatch({effects:Un.of(h)}),!0):!1}}}),Bu()]}var AP=b.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}}),KO=class O{constructor(e,t){this.specs=e;let i;function r(o){let a=Ot.newName();return(i||(i=Object.create(null)))["."+a]=o,a}let n=typeof t.all=="string"?t.all:t.all?r(t.all):void 0,s=t.scope;this.scope=s instanceof Ye?o=>o.prop(eO)==s.data:s?o=>o==s:void 0,this.style=ma(e.map(o=>({tag:o.tag,class:o.class||r(Object.assign({},o,{tag:null}))})),{all:n}).style,this.module=i?new Ot(i):null,this.themeType=t.themeType}static define(e,t){return new O(e,t||{})}},Ta=v.define(),Hu=v.define({combine(O){return O.length?[O[0]]:null}});function Pa(O){let e=O.facet(Ta);return e.length?e:O.facet(Hu)}function _n(O,e){let t=[LP],i;return O instanceof KO&&(O.module&&t.push(b.styleModule.of(O.module)),i=O.themeType),e?.fallback?t.push(Hu.of(O)):i?t.push(Ta.computeN([b.darkTheme],r=>r.facet(b.darkTheme)==(i=="dark")?[O]:[])):t.push(Ta.of(O)),t}var ka=class{constructor(e){this.markCache=Object.create(null),this.tree=j(e.state),this.decorations=this.buildDeco(e,Pa(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=j(e.state),i=Pa(e.state),r=i!=Pa(e.startState),{viewport:n}=e.view,s=e.changes.mapPos(this.decoratedTo,1);t.length=n.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=s):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,i),this.decoratedTo=n.to)}buildDeco(e,t){if(!t||!this.tree.length)return R.none;let i=new Me;for(let{from:r,to:n}of e.visibleRanges)Ru(this.tree,t,(s,o,a)=>{i.add(s,o,this.markCache[a]||(this.markCache[a]=R.mark({class:a})))},r,n);return i.finish()}},LP=Ze.high(fe.fromClass(ka,{decorations:O=>O.decorations})),Ku=KO.define([{tag:u.meta,color:"#404740"},{tag:u.link,textDecoration:"underline"},{tag:u.heading,textDecoration:"underline",fontWeight:"bold"},{tag:u.emphasis,fontStyle:"italic"},{tag:u.strong,fontWeight:"bold"},{tag:u.strikethrough,textDecoration:"line-through"},{tag:u.keyword,color:"#708"},{tag:[u.atom,u.bool,u.url,u.contentSeparator,u.labelName],color:"#219"},{tag:[u.literal,u.inserted],color:"#164"},{tag:[u.string,u.deleted],color:"#a11"},{tag:[u.regexp,u.escape,u.special(u.string)],color:"#e40"},{tag:u.definition(u.variableName),color:"#00f"},{tag:u.local(u.variableName),color:"#30a"},{tag:[u.typeName,u.namespace],color:"#085"},{tag:u.className,color:"#167"},{tag:[u.special(u.variableName),u.macroName],color:"#256"},{tag:u.definition(u.propertyName),color:"#00c"},{tag:u.comment,color:"#940"},{tag:u.invalid,color:"#f00"}]),MP=b.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Ju=1e4,ed="()[]{}",td=v.define({combine(O){return Te(O,{afterCursor:!0,brackets:ed,maxScanDistance:Ju,renderMatch:BP})}}),DP=R.mark({class:"cm-matchingBracket"}),IP=R.mark({class:"cm-nonmatchingBracket"});function BP(O){let e=[],t=O.matched?DP:IP;return e.push(t.range(O.start.from,O.start.to)),O.end&&e.push(t.range(O.end.from,O.end.to)),e}var NP=he.define({create(){return R.none},update(O,e){if(!e.docChanged&&!e.selection)return O;let t=[],i=e.state.facet(td);for(let r of e.state.selection.ranges){if(!r.empty)continue;let n=ht(e.state,r.head,-1,i)||r.head>0&&ht(e.state,r.head-1,1,i)||i.afterCursor&&(ht(e.state,r.head,1,i)||r.headb.decorations.from(O)}),FP=[NP,MP];function Od(O={}){return[td.of(O),FP]}var Or=new Y;function wa(O,e,t){let i=O.prop(e<0?Y.openedBy:Y.closedBy);if(i)return i;if(O.name.length==1){let r=t.indexOf(O.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function va(O){let e=O.type.prop(Or);return e?e(O.node):O}function ht(O,e,t,i={}){let r=i.maxScanDistance||Ju,n=i.brackets||ed,s=j(O),o=s.resolveInner(e,t);for(let a=o;a;a=a.parent){let l=wa(a.type,t,n);if(l&&a.from0?e>=h.from&&eh.from&&e<=h.to))return HP(O,e,t,a,h,l,n)}}return KP(O,e,t,s,o.type,r,n)}function HP(O,e,t,i,r,n,s){let o=i.parent,a={from:r.from,to:r.to},l=0,h=o?.cursor();if(h&&(t<0?h.childBefore(i.from):h.childAfter(i.to)))do if(t<0?h.to<=i.from:h.from>=i.to){if(l==0&&n.indexOf(h.type.name)>-1&&h.from0)return null;let l={from:t<0?e-1:e,to:t>0?e+1:e},h=O.doc.iterRange(e,t>0?O.doc.length:0),c=0;for(let f=0;!h.next().done&&f<=n;){let d=h.value;t<0&&(f+=d.length);let Q=e+f*t;for(let p=t>0?0:d.length-1,$=t>0?d.length:-1;p!=$;p+=t){let m=s.indexOf(d[p]);if(!(m<0||i.resolveInner(Q+p,1).type!=r))if(m%2==0==t>0)c++;else{if(c==1)return{start:l,end:{from:Q+p,to:Q+p+1},matched:m>>1==a>>1};c--}}t>0&&(f+=d.length)}return h.done?{start:l,matched:!1}:null}var JP=Object.create(null),Vu=[ue.none];var Uu=[],_u=Object.create(null),ey=Object.create(null);for(let[O,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])ey[O]=ty(JP,e);function ya(O,e){Uu.indexOf(O)>-1||(Uu.push(O),console.warn(e))}function ty(O,e){let t=[];for(let o of e.split(" ")){let a=[];for(let l of o.split(".")){let h=O[l]||u[l];h?typeof h=="function"?a.length?a=a.map(h):ya(l,`Modifier ${l} used at start of tag`):a.length?ya(l,`Tag ${l} used as modifier`):a=Array.isArray(h)?h:[h]:ya(l,`Unknown highlighting tag ${l}`)}for(let l of a)t.push(l)}if(!t.length)return 0;let i=e.replace(/ /g,"_"),r=i+" "+t.map(o=>o.id),n=_u[r];if(n)return n.id;let s=_u[r]=ue.define({id:Vu.length,name:i,props:[H({[i]:t})]});return Vu.push(s),s.id}var Yq={rtl:R.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:J.RTL}),ltr:R.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:J.LTR}),auto:R.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var Oy=O=>{let{state:e}=O,t=e.doc.lineAt(e.selection.main.from),i=_a(O.state,t.from);return i.line?iy(O):i.block?ny(O):!1};function Ua(O,e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let r=O(e,t);return r?(i(t.update(r)),!0):!1}}var iy=Ua(ay,0);var ry=Ua(cd,0);var ny=Ua((O,e)=>cd(O,e,oy(e)),0);function _a(O,e){let t=O.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var ir=50;function sy(O,{open:e,close:t},i,r){let n=O.sliceDoc(i-ir,i),s=O.sliceDoc(r,r+ir),o=/\s*$/.exec(n)[0].length,a=/^\s*/.exec(s)[0].length,l=n.length-o;if(n.slice(l-e.length,l)==e&&s.slice(a,a+t.length)==t)return{open:{pos:i-o,margin:o&&1},close:{pos:r+a,margin:a&&1}};let h,c;r-i<=2*ir?h=c=O.sliceDoc(i,r):(h=O.sliceDoc(i,i+ir),c=O.sliceDoc(r-ir,r));let f=/^\s*/.exec(h)[0].length,d=/\s*$/.exec(c)[0].length,Q=c.length-d-t.length;return h.slice(f,f+e.length)==e&&c.slice(Q,Q+t.length)==t?{open:{pos:i+f+e.length,margin:/\s/.test(h.charAt(f+e.length))?1:0},close:{pos:r-d-t.length,margin:/\s/.test(c.charAt(Q-1))?1:0}}:null}function oy(O){let e=[];for(let t of O.selection.ranges){let i=O.doc.lineAt(t.from),r=t.to<=i.to?i:O.doc.lineAt(t.to);r.from>i.from&&r.from==t.to&&(r=t.to==i.to+1?i:O.doc.lineAt(t.to-1));let n=e.length-1;n>=0&&e[n].to>i.from?e[n].to=r.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:r.to})}return e}function cd(O,e,t=e.selection.ranges){let i=t.map(n=>_a(e,n.from).block);if(!i.every(n=>n))return null;let r=t.map((n,s)=>sy(e,i[s],n.from,n.to));if(O!=2&&!r.every(n=>n))return{changes:e.changes(t.map((n,s)=>r[s]?[]:[{from:n.from,insert:i[s].open+" "},{from:n.to,insert:" "+i[s].close}]))};if(O!=1&&r.some(n=>n)){let n=[];for(let s=0,o;sr&&(n==s||s>c.from)){r=c.from;let f=/^\s*/.exec(c.text)[0].length,d=f==c.length,Q=c.text.slice(f,f+l.length)==l?f:-1;fn.comment<0&&(!n.empty||n.single))){let n=[];for(let{line:o,token:a,indent:l,empty:h,single:c}of i)(c||!h)&&n.push({from:o.from+l,insert:a+" "});let s=e.changes(n);return{changes:s,selection:e.selection.map(s,1)}}else if(O!=1&&i.some(n=>n.comment>=0)){let n=[];for(let{line:s,comment:o,token:a}of i)if(o>=0){let l=s.from+o,h=l+a.length;s.text[h-s.from]==" "&&h++,n.push({from:l,to:h})}return{changes:n}}return null}var Ya=We.define(),ly=We.define(),hy=v.define(),fd=v.define({combine(O){return Te(O,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,r)=>e(i,r)||t(i,r)})}}),ud=he.define({create(){return bO.empty},update(O,e){let t=e.state.facet(fd),i=e.annotation(Ya);if(i){let a=ct.fromTransaction(e,i.selection),l=i.side,h=l==0?O.undone:O.done;return a?h=Cn(h,h.length,t.minDepth,a):h=$d(h,e.startState.selection),new bO(l==0?i.rest:h,l==0?h:i.rest)}let r=e.annotation(ly);if((r=="full"||r=="before")&&(O=O.isolate()),e.annotation(de.addToHistory)===!1)return e.changes.empty?O:O.addMapping(e.changes.desc);let n=ct.fromTransaction(e),s=e.annotation(de.time),o=e.annotation(de.userEvent);return n?O=O.addChanges(n,s,o,t,e):e.selection&&(O=O.addSelection(e.startState.selection,s,o,t.newGroupDelay)),(r=="full"||r=="after")&&(O=O.isolate()),O},toJSON(O){return{done:O.done.map(e=>e.toJSON()),undone:O.undone.map(e=>e.toJSON())}},fromJSON(O){return new bO(O.done.map(ct.fromJSON),O.undone.map(ct.fromJSON))}});function dd(O={}){return[ud,fd.of(O),b.domEventHandlers({beforeinput(e,t){let i=e.inputType=="historyUndo"?Qd:e.inputType=="historyRedo"?Wa:null;return i?(e.preventDefault(),i(t)):!1}})]}function Gn(O,e){return function({state:t,dispatch:i}){if(!e&&t.readOnly)return!1;let r=t.field(ud,!1);if(!r)return!1;let n=r.pop(O,t,e);return n?(i(n),!0):!1}}var Qd=Gn(0,!1),Wa=Gn(1,!1),cy=Gn(0,!0),fy=Gn(1,!0);var ct=class O{constructor(e,t,i,r,n){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=r,this.selectionsAfter=n}setSelAfter(e){return new O(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new O(e.changes&&ve.fromJSON(e.changes),[],e.mapped&&qt.fromJSON(e.mapped),e.startSelection&&S.fromJSON(e.startSelection),e.selectionsAfter.map(S.fromJSON))}static fromTransaction(e,t){let i=nt;for(let r of e.startState.facet(hy)){let n=r(e);n.length&&(i=i.concat(n))}return!i.length&&e.changes.empty?null:new O(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,nt)}static selection(e){return new O(void 0,nt,void 0,void 0,e)}};function Cn(O,e,t,i){let r=e+1>t+20?e-t-1:0,n=O.slice(r,e);return n.push(i),n}function uy(O,e){let t=[],i=!1;return O.iterChangedRanges((r,n)=>t.push(r,n)),e.iterChangedRanges((r,n,s,o)=>{for(let a=0;a=l&&s<=h&&(i=!0)}}),i}function dy(O,e){return O.ranges.length==e.ranges.length&&O.ranges.filter((t,i)=>t.empty!=e.ranges[i].empty).length===0}function pd(O,e){return O.length?e.length?O.concat(e):O:e}var nt=[],Qy=200;function $d(O,e){if(O.length){let t=O[O.length-1],i=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-Qy));return i.length&&i[i.length-1].eq(e)?O:(i.push(e),Cn(O,O.length-1,1e9,t.setSelAfter(i)))}else return[ct.selection([e])]}function py(O){let e=O[O.length-1],t=O.slice();return t[O.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function za(O,e){if(!O.length)return O;let t=O.length,i=nt;for(;t;){let r=$y(O[t-1],e,i);if(r.changes&&!r.changes.empty||r.effects.length){let n=O.slice(0,t);return n[t-1]=r,n}else e=r.mapped,t--,i=r.selectionsAfter}return i.length?[ct.selection(i)]:nt}function $y(O,e,t){let i=pd(O.selectionsAfter.length?O.selectionsAfter.map(o=>o.map(e)):nt,t);if(!O.changes)return ct.selection(i);let r=O.changes.map(e),n=e.mapDesc(O.changes,!0),s=O.mapped?O.mapped.composeDesc(n):n;return new ct(r,W.mapEffects(O.effects,e),s,O.startSelection.map(n),i)}var my=/^(input\.type|delete)($|\.)/,bO=class O{constructor(e,t,i=0,r=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=r}isolate(){return this.prevTime?new O(this.done,this.undone):this}addChanges(e,t,i,r,n){let s=this.done,o=s[s.length-1];return o&&o.changes&&!o.changes.empty&&e.changes&&(!i||my.test(i))&&(!o.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?O.moveByChar(t,e):En(t,e))}function ke(O){return O.textDirectionAt(O.state.selection.main.head)==J.LTR}var Sd=O=>gd(O,!ke(O)),Pd=O=>gd(O,ke(O));function yd(O,e){return ft(O,t=>t.empty?O.moveByGroup(t,e):En(t,e))}var gy=O=>yd(O,!ke(O)),Sy=O=>yd(O,ke(O));var Eq=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function Py(O,e,t){if(e.type.prop(t))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(O.sliceDoc(e.from,e.to)))||e.firstChild}function An(O,e,t){let i=j(O).resolveInner(e.head),r=t?Y.closedBy:Y.openedBy;for(let a=e.head;;){let l=t?i.childAfter(a):i.childBefore(a);if(!l)break;Py(O,l,r)?i=l:a=t?l.to:l.from}let n=i.type.prop(r),s,o;return n&&(s=t?ht(O,i.from,1):ht(O,i.to,-1))&&s.matched?o=t?s.end.to:s.end.from:o=t?i.to:i.from,S.cursor(o,t?-1:1)}var yy=O=>ft(O,e=>An(O.state,e,!ke(O))),Xy=O=>ft(O,e=>An(O.state,e,ke(O)));function Xd(O,e){return ft(O,t=>{if(!t.empty)return En(t,e);let i=O.moveVertically(t,e);return i.head!=t.head?i:O.moveToLineBoundary(t,e)})}var xd=O=>Xd(O,!1),bd=O=>Xd(O,!0);function Td(O){let e=O.scrollDOM.clientHeights.empty?O.moveVertically(s,e,t.height):En(s,e));if(r.eq(i.selection))return!1;let n;if(t.selfScroll){let s=O.coordsAtPos(i.selection.main.head),o=O.scrollDOM.getBoundingClientRect(),a=o.top+t.marginTop,l=o.bottom-t.marginBottom;s&&s.top>a&&s.bottomkd(O,!1),Za=O=>kd(O,!0);function rO(O,e,t){let i=O.lineBlockAt(e.head),r=O.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?i.to:i.from)&&(r=O.moveToLineBoundary(e,t,!1)),!t&&r.head==i.from&&i.length){let n=/^\s*/.exec(O.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;n&&e.head!=i.from+n&&(r=S.cursor(i.from+n))}return r}var xy=O=>ft(O,e=>rO(O,e,!0)),by=O=>ft(O,e=>rO(O,e,!1)),Ty=O=>ft(O,e=>rO(O,e,!ke(O))),ky=O=>ft(O,e=>rO(O,e,ke(O))),wy=O=>ft(O,e=>S.cursor(O.lineBlockAt(e.head).from,1)),vy=O=>ft(O,e=>S.cursor(O.lineBlockAt(e.head).to,-1));function qy(O,e,t){let i=!1,r=ei(O.selection,n=>{let s=ht(O,n.head,-1)||ht(O,n.head,1)||n.head>0&&ht(O,n.head-1,1)||n.headqy(O,e,!1);function st(O,e){let t=ei(O.state.selection,i=>{let r=e(i);return S.range(i.anchor,r.head,r.goalColumn,r.bidiLevel||void 0)});return t.eq(O.state.selection)?!1:(O.dispatch(kt(O.state,t)),!0)}function wd(O,e){return st(O,t=>O.moveByChar(t,e))}var vd=O=>wd(O,!ke(O)),qd=O=>wd(O,ke(O));function Rd(O,e){return st(O,t=>O.moveByGroup(t,e))}var zy=O=>Rd(O,!ke(O)),Yy=O=>Rd(O,ke(O));var Wy=O=>st(O,e=>An(O.state,e,!ke(O))),Zy=O=>st(O,e=>An(O.state,e,ke(O)));function zd(O,e){return st(O,t=>O.moveVertically(t,e))}var Yd=O=>zd(O,!1),Wd=O=>zd(O,!0);function Zd(O,e){return st(O,t=>O.moveVertically(t,e,Td(O).height))}var rd=O=>Zd(O,!1),nd=O=>Zd(O,!0),Vy=O=>st(O,e=>rO(O,e,!0)),Uy=O=>st(O,e=>rO(O,e,!1)),_y=O=>st(O,e=>rO(O,e,!ke(O))),jy=O=>st(O,e=>rO(O,e,ke(O))),Cy=O=>st(O,e=>S.cursor(O.lineBlockAt(e.head).from)),Gy=O=>st(O,e=>S.cursor(O.lineBlockAt(e.head).to)),sd=({state:O,dispatch:e})=>(e(kt(O,{anchor:0})),!0),od=({state:O,dispatch:e})=>(e(kt(O,{anchor:O.doc.length})),!0),ad=({state:O,dispatch:e})=>(e(kt(O,{anchor:O.selection.main.anchor,head:0})),!0),ld=({state:O,dispatch:e})=>(e(kt(O,{anchor:O.selection.main.anchor,head:O.doc.length})),!0),Ey=({state:O,dispatch:e})=>(e(O.update({selection:{anchor:0,head:O.doc.length},userEvent:"select"})),!0),Ay=({state:O,dispatch:e})=>{let t=Ln(O).map(({from:i,to:r})=>S.range(i,Math.min(r+1,O.doc.length)));return e(O.update({selection:S.create(t),userEvent:"select"})),!0},Ly=({state:O,dispatch:e})=>{let t=ei(O.selection,i=>{let r=j(O),n=r.resolveStack(i.from,1);if(i.empty){let s=r.resolveStack(i.from,-1);s.node.from>=n.node.from&&s.node.to<=n.node.to&&(n=s)}for(let s=n;s;s=s.next){let{node:o}=s;if((o.from=i.to||o.to>i.to&&o.from<=i.from)&&s.next)return S.range(o.to,o.from)}return i});return t.eq(O.selection)?!1:(e(kt(O,t)),!0)},My=({state:O,dispatch:e})=>{let t=O.selection,i=null;return t.ranges.length>1?i=S.create([t.main]):t.main.empty||(i=S.create([S.cursor(t.main.head)])),i?(e(kt(O,i)),!0):!1};function rr(O,e){if(O.state.readOnly)return!1;let t="delete.selection",{state:i}=O,r=i.changeByRange(n=>{let{from:s,to:o}=n;if(s==o){let a=e(n);as&&(t="delete.forward",a=jn(O,a,!0)),s=Math.min(s,a),o=Math.max(o,a)}else s=jn(O,s,!1),o=jn(O,o,!0);return s==o?{range:n}:{changes:{from:s,to:o},range:S.cursor(s,sr(O)))i.between(e,e,(r,n)=>{re&&(e=t?n:r)});return e}var Vd=(O,e,t)=>rr(O,i=>{let r=i.from,{state:n}=O,s=n.doc.lineAt(r),o,a;if(t&&!e&&r>s.from&&rVd(O,!1,!0);var Ud=O=>Vd(O,!0,!1),_d=(O,e)=>rr(O,t=>{let i=t.head,{state:r}=O,n=r.doc.lineAt(i),s=r.charCategorizer(i);for(let o=null;;){if(i==(e?n.to:n.from)){i==t.head&&n.number!=(e?r.doc.lines:1)&&(i+=e?1:-1);break}let a=Qe(n.text,i-n.from,e)+n.from,l=n.text.slice(Math.min(i,a)-n.from,Math.max(i,a)-n.from),h=s(l);if(o!=null&&h!=o)break;(l!=" "||i!=t.head)&&(o=h),i=a}return i}),jd=O=>_d(O,!1),Dy=O=>_d(O,!0),Iy=O=>rr(O,e=>{let t=O.lineBlockAt(e.head).to;return e.headrr(O,e=>{let t=O.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),Ny=O=>rr(O,e=>{let t=O.moveToLineBoundary(e,!0).head;return e.head{if(O.readOnly)return!1;let t=O.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:G.of(["",""])},range:S.cursor(i.from)}));return e(O.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},Hy=({state:O,dispatch:e})=>{if(O.readOnly)return!1;let t=O.changeByRange(i=>{if(!i.empty||i.from==0||i.from==O.doc.length)return{range:i};let r=i.from,n=O.doc.lineAt(r),s=r==n.from?r-1:Qe(n.text,r-n.from,!1)+n.from,o=r==n.to?r+1:Qe(n.text,r-n.from,!0)+n.from;return{changes:{from:s,to:o,insert:O.doc.slice(r,o).append(O.doc.slice(s,r))},range:S.cursor(o)}});return t.changes.empty?!1:(e(O.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Ln(O){let e=[],t=-1;for(let i of O.selection.ranges){let r=O.doc.lineAt(i.from),n=O.doc.lineAt(i.to);if(!i.empty&&i.to==n.from&&(n=O.doc.lineAt(i.to-1)),t>=r.number){let s=e[e.length-1];s.to=n.to,s.ranges.push(i)}else e.push({from:r.from,to:n.to,ranges:[i]});t=n.number+1}return e}function Cd(O,e,t){if(O.readOnly)return!1;let i=[],r=[];for(let n of Ln(O)){if(t?n.to==O.doc.length:n.from==0)continue;let s=O.doc.lineAt(t?n.to+1:n.from-1),o=s.length+1;if(t){i.push({from:n.to,to:s.to},{from:n.from,insert:s.text+O.lineBreak});for(let a of n.ranges)r.push(S.range(Math.min(O.doc.length,a.anchor+o),Math.min(O.doc.length,a.head+o)))}else{i.push({from:s.from,to:n.from},{from:n.to,insert:O.lineBreak+s.text});for(let a of n.ranges)r.push(S.range(a.anchor-o,a.head-o))}}return i.length?(e(O.update({changes:i,scrollIntoView:!0,selection:S.create(r,O.selection.mainIndex),userEvent:"move.line"})),!0):!1}var Ky=({state:O,dispatch:e})=>Cd(O,e,!1),Jy=({state:O,dispatch:e})=>Cd(O,e,!0);function Gd(O,e,t){if(O.readOnly)return!1;let i=[];for(let r of Ln(O))t?i.push({from:r.from,insert:O.doc.slice(r.from,r.to)+O.lineBreak}):i.push({from:r.to,insert:O.lineBreak+O.doc.slice(r.from,r.to)});return e(O.update({changes:i,scrollIntoView:!0,userEvent:"input.copyline"})),!0}var eX=({state:O,dispatch:e})=>Gd(O,e,!1),tX=({state:O,dispatch:e})=>Gd(O,e,!0),OX=O=>{if(O.state.readOnly)return!1;let{state:e}=O,t=e.changes(Ln(e).map(({from:r,to:n})=>(r>0?r--:n{let n;if(O.lineWrapping){let s=O.lineBlockAt(r.head),o=O.coordsAtPos(r.head,r.assoc||1);o&&(n=s.bottom+O.documentTop-o.bottom+O.defaultLineHeight/2)}return O.moveVertically(r,!0,n)}).map(t);return O.dispatch({changes:t,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function iX(O,e){if(/\(\)|\[\]|\{\}/.test(O.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=j(O).resolveInner(e),i=t.childBefore(e),r=t.childAfter(e),n;return i&&r&&i.to<=e&&r.from>=e&&(n=i.type.prop(Y.closedBy))&&n.indexOf(r.name)>-1&&O.doc.lineAt(i.to).from==O.doc.lineAt(r.from).from&&!/\S/.test(O.sliceDoc(i.to,r.from))?{from:i.to,to:r.from}:null}var hd=Ed(!1),rX=Ed(!0);function Ed(O){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(r=>{let{from:n,to:s}=r,o=e.doc.lineAt(n),a=!O&&n==s&&iX(e,n);O&&(n=s=(s<=o.to?o:e.doc.lineAt(s)).to);let l=new XO(e,{simulateBreak:n,simulateDoubleBreak:!!a}),h=Vn(l,n);for(h==null&&(h=qe(/^\s*/.exec(e.doc.lineAt(n).text)[0],e.tabSize));so.from&&n{let r=[];for(let s=i.from;s<=i.to;){let o=O.doc.lineAt(s);o.number>t&&(i.empty||i.to>o.from)&&(e(o,r,i),t=o.number),s=o.to+1}let n=O.changes(r);return{changes:r,range:S.range(n.mapPos(i.anchor,1),n.mapPos(i.head,1))}})}var nX=({state:O,dispatch:e})=>{if(O.readOnly)return!1;let t=Object.create(null),i=new XO(O,{overrideIndentation:n=>{let s=t[n];return s??-1}}),r=ja(O,(n,s,o)=>{let a=Vn(i,n.from);if(a==null)return;/\S/.test(n.text)||(a=0);let l=/^\s*/.exec(n.text)[0],h=JO(O,a);(l!=h||o.fromO.readOnly?!1:(e(O.update(ja(O,(t,i)=>{i.push({from:t.from,insert:O.facet(OO)})}),{userEvent:"input.indent"})),!0),Ld=({state:O,dispatch:e})=>O.readOnly?!1:(e(O.update(ja(O,(t,i)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let n=qe(r,O.tabSize),s=0,o=JO(O,Math.max(0,n-er(O)));for(;s(O.setTabFocusMode(),!0);var oX=[{key:"Ctrl-b",run:Sd,shift:vd,preventDefault:!0},{key:"Ctrl-f",run:Pd,shift:qd},{key:"Ctrl-p",run:xd,shift:Yd},{key:"Ctrl-n",run:bd,shift:Wd},{key:"Ctrl-a",run:wy,shift:Cy},{key:"Ctrl-e",run:vy,shift:Gy},{key:"Ctrl-d",run:Ud},{key:"Ctrl-h",run:Va},{key:"Ctrl-k",run:Iy},{key:"Ctrl-Alt-h",run:jd},{key:"Ctrl-o",run:Fy},{key:"Ctrl-t",run:Hy},{key:"Ctrl-v",run:Za}],aX=[{key:"ArrowLeft",run:Sd,shift:vd,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:gy,shift:zy,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Ty,shift:_y,preventDefault:!0},{key:"ArrowRight",run:Pd,shift:qd,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:Sy,shift:Yy,preventDefault:!0},{mac:"Cmd-ArrowRight",run:ky,shift:jy,preventDefault:!0},{key:"ArrowUp",run:xd,shift:Yd,preventDefault:!0},{mac:"Cmd-ArrowUp",run:sd,shift:ad},{mac:"Ctrl-ArrowUp",run:id,shift:rd},{key:"ArrowDown",run:bd,shift:Wd,preventDefault:!0},{mac:"Cmd-ArrowDown",run:od,shift:ld},{mac:"Ctrl-ArrowDown",run:Za,shift:nd},{key:"PageUp",run:id,shift:rd},{key:"PageDown",run:Za,shift:nd},{key:"Home",run:by,shift:Uy,preventDefault:!0},{key:"Mod-Home",run:sd,shift:ad},{key:"End",run:xy,shift:Vy,preventDefault:!0},{key:"Mod-End",run:od,shift:ld},{key:"Enter",run:hd,shift:hd},{key:"Mod-a",run:Ey},{key:"Backspace",run:Va,shift:Va},{key:"Delete",run:Ud},{key:"Mod-Backspace",mac:"Alt-Backspace",run:jd},{key:"Mod-Delete",mac:"Alt-Delete",run:Dy},{mac:"Mod-Backspace",run:By},{mac:"Mod-Delete",run:Ny}].concat(oX.map(O=>({mac:O.key,run:O.run,shift:O.shift}))),Md=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:yy,shift:Wy},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Xy,shift:Zy},{key:"Alt-ArrowUp",run:Ky},{key:"Shift-Alt-ArrowUp",run:eX},{key:"Alt-ArrowDown",run:Jy},{key:"Shift-Alt-ArrowDown",run:tX},{key:"Escape",run:My},{key:"Mod-Enter",run:rX},{key:"Alt-l",mac:"Ctrl-l",run:Ay},{key:"Mod-i",run:Ly,preventDefault:!0},{key:"Mod-[",run:Ld},{key:"Mod-]",run:Ad},{key:"Mod-Alt-\\",run:nX},{key:"Shift-Mod-k",run:OX},{key:"Shift-Mod-\\",run:Ry},{key:"Mod-/",run:Oy},{key:"Alt-A",run:ry},{key:"Ctrl-m",mac:"Shift-Alt-m",run:sX}].concat(aX),Dd={key:"Tab",run:Ad,shift:Ld};var Id=typeof String.prototype.normalize=="function"?O=>O.normalize("NFKD"):O=>O,sO=class{constructor(e,t,i=0,r=e.length,n,s){this.test=s,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,r),this.bufferStart=i,this.normalize=n?o=>n(Id(o)):Id,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Pe(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=yi(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=De(e);let r=this.normalize(t);if(r.length)for(let n=0,s=i;;n++){let o=r.charCodeAt(n),a=this.match(o,s,this.bufferPos+this.bufferStart);if(n==r.length-1){if(a)return this.value=a,this;break}s==i&&nthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let i=this.curLineStart+t.index,r=i+t[0].length;if(this.matchPos=Fn(this.text,r+(i==r?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,r,t)))return this.value={from:i,to:r,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=i||r.to<=t){let o=new O(t,e.sliceString(t,i));return Ca.set(e,o),o}if(r.from==t&&r.to==i)return r;let{text:n,from:s}=r;return s>t&&(n=e.sliceString(t,s)+n,s=t),r.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let i=this.flat.from+t.index,r=i+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,r,t)))return this.value={from:i,to:r,match:t},this.matchPos=Fn(this.text,r+(i==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Bn.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<"u"&&(In.prototype[Symbol.iterator]=Nn.prototype[Symbol.iterator]=function(){return this});function lX(O){try{return new RegExp(O,Da),!0}catch{return!1}}function Fn(O,e){if(e>=O.length)return e;let t=O.lineAt(e),i;for(;e=56320&&i<57344;)e++;return e}function Ga(O){let e=String(O.state.doc.lineAt(O.state.selection.main.head).number),t=B("input",{class:"cm-textfield",name:"line",value:e}),i=B("form",{class:"cm-gotoLine",onkeydown:n=>{n.keyCode==27?(n.preventDefault(),O.dispatch({effects:nr.of(!1)}),O.focus()):n.keyCode==13&&(n.preventDefault(),r())},onsubmit:n=>{n.preventDefault(),r()}},B("label",O.state.phrase("Go to line"),": ",t)," ",B("button",{class:"cm-button",type:"submit"},O.state.phrase("go")),B("button",{name:"close",onclick:()=>{O.dispatch({effects:nr.of(!1)}),O.focus()},"aria-label":O.state.phrase("close"),type:"button"},["\xD7"]));function r(){let n=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!n)return;let{state:s}=O,o=s.doc.lineAt(s.selection.main.head),[,a,l,h,c]=n,f=h?+h.slice(1):0,d=l?+l:o.number;if(l&&c){let $=d/100;a&&($=$*(a=="-"?-1:1)+o.number/s.doc.lines),d=Math.round(s.doc.lines*$)}else l&&a&&(d=d*(a=="-"?-1:1)+o.number);let Q=s.doc.line(Math.max(1,Math.min(s.doc.lines,d))),p=S.cursor(Q.from+Math.max(0,Math.min(f,Q.length)));O.dispatch({effects:[nr.of(!1),b.scrollIntoView(p.from,{y:"center"})],selection:p}),O.focus()}return{dom:i}}var nr=W.define(),Bd=he.define({create(){return!0},update(O,e){for(let t of e.effects)t.is(nr)&&(O=t.value);return O},provide:O=>$O.from(O,e=>e?Ga:null)}),hX=O=>{let e=mO(O,Ga);if(!e){let t=[nr.of(!0)];O.state.field(Bd,!1)==null&&t.push(W.appendConfig.of([Bd,cX])),O.dispatch({effects:t}),e=mO(O,Ga)}return e&&e.dom.querySelector("input").select(),!0},cX=b.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),fX={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Kd=v.define({combine(O){return Te(O,fX,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function Jd(O){let e=[$X,pX];return O&&e.push(Kd.of(O)),e}var uX=R.mark({class:"cm-selectionMatch"}),dX=R.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Nd(O,e,t,i){return(t==0||O(e.sliceDoc(t-1,t))!=K.Word)&&(i==e.doc.length||O(e.sliceDoc(i,i+1))!=K.Word)}function QX(O,e,t,i){return O(e.sliceDoc(t,t+1))==K.Word&&O(e.sliceDoc(i-1,i))==K.Word}var pX=fe.fromClass(class{constructor(O){this.decorations=this.getDeco(O)}update(O){(O.selectionSet||O.docChanged||O.viewportChanged)&&(this.decorations=this.getDeco(O.view))}getDeco(O){let e=O.state.facet(Kd),{state:t}=O,i=t.selection;if(i.ranges.length>1)return R.none;let r=i.main,n,s=null;if(r.empty){if(!e.highlightWordAroundCursor)return R.none;let a=t.wordAt(r.head);if(!a)return R.none;s=t.charCategorizer(r.head),n=t.sliceDoc(a.from,a.to)}else{let a=r.to-r.from;if(a200)return R.none;if(e.wholeWords){if(n=t.sliceDoc(r.from,r.to),s=t.charCategorizer(r.head),!(Nd(s,t,r.from,r.to)&&QX(s,t,r.from,r.to)))return R.none}else if(n=t.sliceDoc(r.from,r.to),!n)return R.none}let o=[];for(let a of O.visibleRanges){let l=new sO(t.doc,n,a.from,a.to);for(;!l.next().done;){let{from:h,to:c}=l.value;if((!s||Nd(s,t,h,c))&&(r.empty&&h<=r.from&&c>=r.to?o.push(dX.range(h,c)):(h>=r.to||c<=r.from)&&o.push(uX.range(h,c)),o.length>e.maxMatches))return R.none}}return R.set(o)}},{decorations:O=>O.decorations}),$X=b.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),mX=({state:O,dispatch:e})=>{let{selection:t}=O,i=S.create(t.ranges.map(r=>O.wordAt(r.head)||S.cursor(r.head)),t.mainIndex);return i.eq(t)?!1:(e(O.update({selection:i})),!0)};function gX(O,e){let{main:t,ranges:i}=O.selection,r=O.wordAt(t.head),n=r&&r.from==t.from&&r.to==t.to;for(let s=!1,o=new sO(O.doc,e,i[i.length-1].to);;)if(o.next(),o.done){if(s)return null;o=new sO(O.doc,e,0,Math.max(0,i[i.length-1].from-1)),s=!0}else{if(s&&i.some(a=>a.from==o.value.from))continue;if(n){let a=O.wordAt(o.value.from);if(!a||a.from!=o.value.from||a.to!=o.value.to)continue}return o.value}}var SX=({state:O,dispatch:e})=>{let{ranges:t}=O.selection;if(t.some(n=>n.from===n.to))return mX({state:O,dispatch:e});let i=O.sliceDoc(t[0].from,t[0].to);if(O.selection.ranges.some(n=>O.sliceDoc(n.from,n.to)!=i))return!1;let r=gX(O,i);return r?(e(O.update({selection:O.selection.addRange(S.range(r.from,r.to),!1),effects:b.scrollIntoView(r.to)})),!0):!1},ii=v.define({combine(O){return Te(O,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Ma(e),scrollToMatch:e=>b.scrollIntoView(e)})}});var Hn=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||lX(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,i)=>i=="n"?` +`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new Aa(this):new Ea(this)}getCursor(e,t=0,i){let r=e.doc?e:M.create({doc:e});return i==null&&(i=r.doc.length),this.regexp?Oi(this,r,t,i):ti(this,r,t,i)}},Kn=class{constructor(e){this.spec=e}};function ti(O,e,t,i){return new sO(e.doc,O.unquoted,t,i,O.caseSensitive?void 0:r=>r.toLowerCase(),O.wholeWord?PX(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function PX(O,e){return(t,i,r,n)=>((n>t||n+r.length=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let n=ti(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}};function Oi(O,e,t,i){return new In(e.doc,O.search,{ignoreCase:!O.caseSensitive,test:O.wholeWord?yX(e.charCategorizer(e.selection.main.head)):void 0},t,i)}function Jn(O,e){return O.slice(Qe(O,e,!1),e)}function es(O,e){return O.slice(e,Qe(O,e))}function yX(O){return(e,t,i)=>!i[0].length||(O(Jn(i.input,i.index))!=K.Word||O(es(i.input,i.index))!=K.Word)&&(O(es(i.input,i.index+i[0].length))!=K.Word||O(Jn(i.input,i.index+i[0].length))!=K.Word)}var Aa=class extends Kn{nextMatch(e,t,i){let r=Oi(this.spec,e,i,e.doc.length).next();return r.done&&(r=Oi(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,i){for(let r=1;;r++){let n=Math.max(t,i-r*1e4),s=Oi(this.spec,e,n,i),o=null;for(;!s.next().done;)o=s.value;if(o&&(n==t||o.from>n+10))return o;if(n==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let r=i.length;r>0;r--){let n=+i.slice(0,r);if(n>0&&n=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let n=Oi(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}},or=W.define(),Ia=W.define(),nO=he.define({create(O){return new sr(La(O).create(),null)},update(O,e){for(let t of e.effects)t.is(or)?O=new sr(t.value.create(),O.panel):t.is(Ia)&&(O=new sr(O.query,t.value?Ba:null));return O},provide:O=>$O.from(O,e=>e.panel)});var sr=class{constructor(e,t){this.query=e,this.panel=t}},XX=R.mark({class:"cm-searchMatch"}),xX=R.mark({class:"cm-searchMatch cm-searchMatch-selected"}),bX=fe.fromClass(class{constructor(O){this.view=O,this.decorations=this.highlight(O.state.field(nO))}update(O){let e=O.state.field(nO);(e!=O.startState.field(nO)||O.docChanged||O.selectionSet||O.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:O,panel:e}){if(!e||!O.spec.valid)return R.none;let{view:t}=this,i=new Me;for(let r=0,n=t.visibleRanges,s=n.length;rn[r+1].from-2*250;)a=n[++r].to;O.highlight(t.state,o,a,(l,h)=>{let c=t.state.selection.ranges.some(f=>f.from==l&&f.to==h);i.add(l,h,c?xX:XX)})}return i.finish()}},{decorations:O=>O.decorations});function ar(O){return e=>{let t=e.state.field(nO,!1);return t&&t.query.spec.valid?O(e,t):OQ(e)}}var ts=ar((O,{query:e})=>{let{to:t}=O.state.selection.main,i=e.nextMatch(O.state,t,t);if(!i)return!1;let r=S.single(i.from,i.to),n=O.state.facet(ii);return O.dispatch({selection:r,effects:[Na(O,i),n.scrollToMatch(r.main,O)],userEvent:"select.search"}),tQ(O),!0}),Os=ar((O,{query:e})=>{let{state:t}=O,{from:i}=t.selection.main,r=e.prevMatch(t,i,i);if(!r)return!1;let n=S.single(r.from,r.to),s=O.state.facet(ii);return O.dispatch({selection:n,effects:[Na(O,r),s.scrollToMatch(n.main,O)],userEvent:"select.search"}),tQ(O),!0}),TX=ar((O,{query:e})=>{let t=e.matchAll(O.state,1e3);return!t||!t.length?!1:(O.dispatch({selection:S.create(t.map(i=>S.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),kX=({state:O,dispatch:e})=>{let t=O.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:i,to:r}=t.main,n=[],s=0;for(let o=new sO(O.doc,O.sliceDoc(i,r));!o.next().done;){if(n.length>1e3)return!1;o.value.from==i&&(s=n.length),n.push(S.range(o.value.from,o.value.to))}return e(O.update({selection:S.create(n,s),userEvent:"select.search.matches"})),!0},Fd=ar((O,{query:e})=>{let{state:t}=O,{from:i,to:r}=t.selection.main;if(t.readOnly)return!1;let n=e.nextMatch(t,i,i);if(!n)return!1;let s=n,o=[],a,l,h=[];s.from==i&&s.to==r&&(l=t.toText(e.getReplacement(s)),o.push({from:s.from,to:s.to,insert:l}),s=e.nextMatch(t,s.from,s.to),h.push(b.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(i).number)+".")));let c=O.state.changes(o);return s&&(a=S.single(s.from,s.to).map(c),h.push(Na(O,s)),h.push(t.facet(ii).scrollToMatch(a.main,O))),O.dispatch({changes:c,selection:a,effects:h,userEvent:"input.replace"}),!0}),wX=ar((O,{query:e})=>{if(O.state.readOnly)return!1;let t=e.matchAll(O.state,1e9).map(r=>{let{from:n,to:s}=r;return{from:n,to:s,insert:e.getReplacement(r)}});if(!t.length)return!1;let i=O.state.phrase("replaced $ matches",t.length)+".";return O.dispatch({changes:t,effects:b.announce.of(i),userEvent:"input.replace.all"}),!0});function Ba(O){return O.state.facet(ii).createPanel(O)}function La(O,e){var t,i,r,n,s;let o=O.selection.main,a=o.empty||o.to>o.from+100?"":O.sliceDoc(o.from,o.to);if(e&&!a)return e;let l=O.facet(ii);return new Hn({search:((t=e?.literal)!==null&&t!==void 0?t:l.literal)?a:a.replace(/\n/g,"\\n"),caseSensitive:(i=e?.caseSensitive)!==null&&i!==void 0?i:l.caseSensitive,literal:(r=e?.literal)!==null&&r!==void 0?r:l.literal,regexp:(n=e?.regexp)!==null&&n!==void 0?n:l.regexp,wholeWord:(s=e?.wholeWord)!==null&&s!==void 0?s:l.wholeWord})}function eQ(O){let e=mO(O,Ba);return e&&e.dom.querySelector("[main-field]")}function tQ(O){let e=eQ(O);e&&e==O.root.activeElement&&e.select()}var OQ=O=>{let e=O.state.field(nO,!1);if(e&&e.panel){let t=eQ(O);if(t&&t!=O.root.activeElement){let i=La(O.state,e.query.spec);i.valid&&O.dispatch({effects:or.of(i)}),t.focus(),t.select()}}else O.dispatch({effects:[Ia.of(!0),e?or.of(La(O.state,e.query.spec)):W.appendConfig.of(qX)]});return!0},iQ=O=>{let e=O.state.field(nO,!1);if(!e||!e.panel)return!1;let t=mO(O,Ba);return t&&t.dom.contains(O.root.activeElement)&&O.focus(),O.dispatch({effects:Ia.of(!1)}),!0},rQ=[{key:"Mod-f",run:OQ,scope:"editor search-panel"},{key:"F3",run:ts,shift:Os,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:ts,shift:Os,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:iQ,scope:"editor search-panel"},{key:"Mod-Shift-l",run:kX},{key:"Mod-Alt-g",run:hX},{key:"Mod-d",run:SX,preventDefault:!0}],Ma=class{constructor(e){this.view=e;let t=this.query=e.state.field(nO).query.spec;this.commit=this.commit.bind(this),this.searchField=B("input",{value:t.search,placeholder:Fe(e,"Find"),"aria-label":Fe(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=B("input",{value:t.replace,placeholder:Fe(e,"Replace"),"aria-label":Fe(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=B("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=B("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=B("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function i(r,n,s){return B("button",{class:"cm-button",name:r,onclick:n,type:"button"},s)}this.dom=B("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,i("next",()=>ts(e),[Fe(e,"next")]),i("prev",()=>Os(e),[Fe(e,"previous")]),i("select",()=>TX(e),[Fe(e,"all")]),B("label",null,[this.caseField,Fe(e,"match case")]),B("label",null,[this.reField,Fe(e,"regexp")]),B("label",null,[this.wordField,Fe(e,"by word")]),...e.state.readOnly?[]:[B("br"),this.replaceField,i("replace",()=>Fd(e),[Fe(e,"replace")]),i("replaceAll",()=>wX(e),[Fe(e,"replace all")])],B("button",{name:"close",onclick:()=>iQ(e),"aria-label":Fe(e,"close"),type:"button"},["\xD7"])])}commit(){let e=new Hn({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:or.of(e)}))}keydown(e){Ou(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Os:ts)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),Fd(this.view))}update(e){for(let t of e.transactions)for(let i of t.effects)i.is(or)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(ii).top}};function Fe(O,e){return O.state.phrase(e)}var Mn=30,Dn=/[\s\.,:;?!]/;function Na(O,{from:e,to:t}){let i=O.state.doc.lineAt(e),r=O.state.doc.lineAt(t).to,n=Math.max(i.from,e-Mn),s=Math.min(r,t+Mn),o=O.state.sliceDoc(n,s);if(n!=i.from){for(let a=0;ao.length-Mn;a--)if(!Dn.test(o[a-1])&&Dn.test(o[a])){o=o.slice(0,a);break}}return b.announce.of(`${O.state.phrase("current match")}. ${o} ${O.state.phrase("on line")} ${i.number}.`)}var vX=b.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),qX=[nO,Ze.low(bX),vX];var ri=class{constructor(e,t,i,r){this.state=e,this.pos=t,this.explicit=i,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=j(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),i=Math.max(t.from,this.pos-250),r=t.text.slice(i-t.from,this.pos-t.from),n=r.search(dQ(e,!1));return n<0?null:{from:i+n,to:this.pos,text:r.slice(n)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,i){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),i&&i.onDocChange&&(this.abortOnDocChange=!0))}};function nQ(O){let e=Object.keys(O).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function RX(O){let e=Object.create(null),t=Object.create(null);for(let{label:r}of O){e[r[0]]=!0;for(let n=1;ntypeof r=="string"?{label:r}:r),[t,i]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:RX(e);return r=>{let n=r.matchBefore(i);return n||r.explicit?{from:n?n.from:r.pos,options:e,validFor:t}:null}}function si(O,e){return t=>{for(let i=j(t.state).resolveInner(t.pos,-1);i;i=i.parent){if(O.indexOf(i.name)>-1)return null;if(i.type.isTop)break}return e(t)}}var rs=class{constructor(e,t,i,r){this.completion=e,this.source=t,this.match=i,this.score=r}};function kO(O){return O.selection.main.from}function dQ(O,e){var t;let{source:i}=O,r=e&&i[0]!="^",n=i[i.length-1]!="$";return!r&&!n?O:new RegExp(`${r?"^":""}(?:${i})${n?"$":""}`,(t=O.flags)!==null&&t!==void 0?t:O.ignoreCase?"i":"")}var ol=We.define();function zX(O,e,t,i){let{main:r}=O.selection,n=t-r.from,s=i-r.from;return Object.assign(Object.assign({},O.changeByRange(o=>{if(o!=r&&t!=i&&O.sliceDoc(o.from+n,o.from+s)!=O.sliceDoc(t,i))return{range:o};let a=O.toText(e);return{changes:{from:o.from+n,to:i==r.from?o.to:o.from+s,insert:a},range:S.cursor(o.from+n+a.length)}})),{scrollIntoView:!0,userEvent:"input.complete"})}var sQ=new WeakMap;function YX(O){if(!Array.isArray(O))return O;let e=sQ.get(O);return e||sQ.set(O,e=wO(O)),e}var ns=W.define(),lr=W.define(),Ka=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&P<=57||P>=97&&P<=122?2:P>=65&&P<=90?1:0:(T=yi(P))!=T.toLowerCase()?1:T!=T.toUpperCase()?2:0;(!g||k==1&&$||X==0&&k!=0)&&(t[c]==P||i[c]==P&&(f=!0)?s[c++]=g:s.length&&(m=!1)),X=k,g+=De(P)}return c==a&&s[0]==0&&m?this.result(-100+(f?-200:0),s,e):d==a&&Q==0?this.ret(-200-e.length+(p==e.length?0:-100),[0,p]):o>-1?this.ret(-700-e.length,[o,o+this.pattern.length]):d==a?this.ret(-900-e.length,[Q,p]):c==a?this.result(-100+(f?-200:0)+-700+(m?0:-1100),s,e):t.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,t,i){let r=[],n=0;for(let s of t){let o=s+(this.astral?De(Pe(i,s)):1);n&&r[n-1]==s?r[n-1]=o:(r[n++]=s,r[n++]=o)}return this.ret(e-i.length,r)}},Ja=class{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:WX,filterStrict:!1,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>i=>oQ(e(i),t(i)),optionClass:(e,t)=>i=>oQ(e(i),t(i)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function oQ(O,e){return O?e?O+" "+e:O:e}function WX(O,e,t,i,r,n){let s=O.textDirection==J.RTL,o=s,a=!1,l="top",h,c,f=e.left-r.left,d=r.right-e.right,Q=i.right-i.left,p=i.bottom-i.top;if(o&&f=p||g>e.top?h=t.bottom-e.top:(l="bottom",h=e.bottom-t.top)}let $=(e.bottom-e.top)/n.offsetHeight,m=(e.right-e.left)/n.offsetWidth;return{style:`${l}: ${h/$}px; max-width: ${c/m}px`,class:"cm-completionInfo-"+(a?s?"left-narrow":"right-narrow":o?"left":"right")}}function ZX(O){let e=O.addToOptions.slice();return O.icons&&e.push({render(t){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),t.type&&i.classList.add(...t.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),i.setAttribute("aria-hidden","true"),i},position:20}),e.push({render(t,i,r,n){let s=document.createElement("span");s.className="cm-completionLabel";let o=t.displayLabel||t.label,a=0;for(let l=0;la&&s.appendChild(document.createTextNode(o.slice(a,h)));let f=s.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(o.slice(h,c))),f.className="cm-completionMatchedText",a=c}return at.position-i.position).map(t=>t.render)}function Fa(O,e,t){if(O<=t)return{from:0,to:O};if(e<0&&(e=0),e<=O>>1){let r=Math.floor(e/t);return{from:r*t,to:(r+1)*t}}let i=Math.floor((O-e)/t);return{from:O-(i+1)*t,to:O-i*t}}var el=class{constructor(e,t,i){this.view=e,this.stateField=t,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:a=>this.placeInfo(a),key:this},this.space=null,this.currentClass="";let r=e.state.field(t),{options:n,selected:s}=r.open,o=e.state.facet(ge);this.optionContent=ZX(o),this.optionClass=o.optionClass,this.tooltipClass=o.tooltipClass,this.range=Fa(n.length,s,o.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",a=>{let{options:l}=e.state.field(t).open;for(let h=a.target,c;h&&h!=this.dom;h=h.parentNode)if(h.nodeName=="LI"&&(c=/-(\d+)$/.exec(h.id))&&+c[1]{let l=e.state.field(this.stateField,!1);l&&l.tooltip&&e.state.facet(ge).closeOnBlur&&a.relatedTarget!=e.contentDOM&&e.dispatch({effects:lr.of(null)})}),this.showOptions(n,r.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let i=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),i!=r){let{options:n,selected:s,disabled:o}=i.open;(!r.open||r.open.options!=n)&&(this.range=Fa(n.length,s,e.state.facet(ge).maxRenderedOptions),this.showOptions(n,i.id)),this.updateSel(),o!=((t=r.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!o)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of t.split(" "))i&&this.dom.classList.add(i);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected=this.range.to)&&(this.range=Fa(t.options.length,t.selected,this.view.state.facet(ge).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:i}=t.options[t.selected],{info:r}=i;if(!r)return;let n=typeof r=="string"?document.createTextNode(r):r(i);if(!n)return;"then"in n?n.then(s=>{s&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(s,i)}).catch(s=>Xe(this.view.state,s,"completion info")):this.addInfoPane(n,i)}}addInfoPane(e,t){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",e.nodeType!=null)i.appendChild(e),this.infoDestroy=null;else{let{dom:r,destroy:n}=e;i.appendChild(r),this.infoDestroy=n||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let i=this.list.firstChild,r=this.range.from;i;i=i.nextSibling,r++)i.nodeName!="LI"||!i.id?r--:r==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),t=i):i.hasAttribute("aria-selected")&&i.removeAttribute("aria-selected");return t&&UX(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),n=this.space;if(!n){let s=this.dom.ownerDocument.documentElement;n={left:0,top:0,right:s.clientWidth,bottom:s.clientHeight}}return r.top>Math.min(n.bottom,t.bottom)-10||r.bottom{s.target==r&&s.preventDefault()});let n=null;for(let s=i.from;si.from||i.from==0))if(n=f,typeof l!="string"&&l.header)r.appendChild(l.header(l));else{let d=r.appendChild(document.createElement("completion-section"));d.textContent=f}}let h=r.appendChild(document.createElement("li"));h.id=t+"-"+s,h.setAttribute("role","option");let c=this.optionClass(o);c&&(h.className=c);for(let f of this.optionContent){let d=f(o,this.view.state,this.view,a);d&&h.appendChild(d)}}return i.from&&r.classList.add("cm-completionListIncompleteTop"),i.tonew el(t,O,e)}function UX(O,e){let t=O.getBoundingClientRect(),i=e.getBoundingClientRect(),r=t.height/O.offsetHeight;i.topt.bottom&&(O.scrollTop+=(i.bottom-t.bottom)/r)}function aQ(O){return(O.boost||0)*100+(O.apply?10:0)+(O.info?5:0)+(O.type?1:0)}function _X(O,e){let t=[],i=null,r=l=>{t.push(l);let{section:h}=l.completion;if(h){i||(i=[]);let c=typeof h=="string"?h:h.name;i.some(f=>f.name==c)||i.push(typeof h=="string"?{name:c}:h)}},n=e.facet(ge);for(let l of O)if(l.hasResult()){let h=l.result.getMatch;if(l.result.filter===!1)for(let c of l.result.options)r(new rs(c,l.source,h?h(c):[],1e9-t.length));else{let c=e.sliceDoc(l.from,l.to),f,d=n.filterStrict?new Ja(c):new Ka(c);for(let Q of l.result.options)if(f=d.match(Q.label)){let p=Q.displayLabel?h?h(Q,f.matched):[]:f.matched;r(new rs(Q,l.source,p,f.score+(Q.boost||0)))}}}if(i){let l=Object.create(null),h=0,c=(f,d)=>{var Q,p;return((Q=f.rank)!==null&&Q!==void 0?Q:1e9)-((p=d.rank)!==null&&p!==void 0?p:1e9)||(f.namec.score-h.score||a(h.completion,c.completion))){let h=l.completion;!o||o.label!=h.label||o.detail!=h.detail||o.type!=null&&h.type!=null&&o.type!=h.type||o.apply!=h.apply||o.boost!=h.boost?s.push(l):aQ(l.completion)>aQ(o)&&(s[s.length-1]=l),o=l.completion}return s}var tl=class O{constructor(e,t,i,r,n,s){this.options=e,this.attrs=t,this.tooltip=i,this.timestamp=r,this.selected=n,this.disabled=s}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new O(this.options,lQ(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,r,n,s){if(r&&!s&&e.some(l=>l.isPending))return r.setDisabled();let o=_X(e,t);if(!o.length)return r&&e.some(l=>l.isPending)?r.setDisabled():null;let a=t.facet(ge).selectOnOpen?0:-1;if(r&&r.selected!=a&&r.selected!=-1){let l=r.options[r.selected].completion;for(let h=0;hh.hasResult()?Math.min(l,h.from):l,1e8),create:LX,above:n.aboveCursor},r?r.timestamp:Date.now(),a,!1)}map(e){return new O(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}setDisabled(){return new O(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}},Ol=class O{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new O(EX,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,i=t.facet(ge),n=(i.override||t.languageDataAt("autocomplete",kO(t)).map(YX)).map(a=>(this.active.find(h=>h.source==a)||new Wt(a,this.active.some(h=>h.state!=0)?1:0)).update(e,i));n.length==this.active.length&&n.every((a,l)=>a==this.active[l])&&(n=this.active);let s=this.open,o=e.effects.some(a=>a.is(al));s&&e.docChanged&&(s=s.map(e.changes)),e.selection||n.some(a=>a.hasResult()&&e.changes.touchesRange(a.from,a.to))||!jX(n,this.active)||o?s=tl.build(n,t,this.id,s,i,o):s&&s.disabled&&!n.some(a=>a.isPending)&&(s=null),!s&&n.every(a=>!a.isPending)&&n.some(a=>a.hasResult())&&(n=n.map(a=>a.hasResult()?new Wt(a.source,0):a));for(let a of e.effects)a.is(pQ)&&(s=s&&s.setSelected(a.value,this.id));return n==this.active&&s==this.open?this:new O(n,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?CX:GX}};function jX(O,e){if(O==e)return!0;for(let t=0,i=0;;){for(;t-1&&(t["aria-activedescendant"]=O+"-"+e),t}var EX=[];function QQ(O,e){if(O.isUserEvent("input.complete")){let i=O.annotation(ol);if(i&&e.activateOnCompletion(i))return 12}let t=O.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:O.isUserEvent("delete.backward")?2:O.selection?8:O.docChanged?16:0}var Wt=class O{constructor(e,t,i=!1){this.source=e,this.state=t,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let i=QQ(e,t),r=this;(i&8||i&16&&this.touches(e))&&(r=new O(r.source,0)),i&4&&r.state==0&&(r=new O(this.source,1)),r=r.updateFor(e,i);for(let n of e.effects)if(n.is(ns))r=new O(r.source,1,n.value);else if(n.is(lr))r=new O(r.source,0);else if(n.is(al))for(let s of n.value)s.source==r.source&&(r=s);return r}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(kO(e.state))}},ss=class O extends Wt{constructor(e,t,i,r,n,s){super(e,3,t),this.limit=i,this.result=r,this.from=n,this.to=s}hasResult(){return!0}updateFor(e,t){var i;if(!(t&3))return this.map(e.changes);let r=this.result;r.map&&!e.changes.empty&&(r=r.map(r,e.changes));let n=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),o=kO(e.state);if(o>s||!r||t&2&&(kO(e.startState)==this.from||ot.map(e))}}),pQ=W.define(),Ce=he.define({create(){return Ol.start()},update(O,e){return O.update(e)},provide:O=>[Mi.from(O,e=>e.tooltip),b.contentAttributes.from(O,e=>e.attrs)]});function ll(O,e){let t=e.completion.apply||e.completion.label,i=O.state.field(Ce).active.find(r=>r.source==e.source);return i instanceof ss?(typeof t=="string"?O.dispatch(Object.assign(Object.assign({},zX(O.state,t,i.from,i.to)),{annotations:ol.of(e.completion)})):t(O,e.completion,i.from,i.to),!0):!1}var LX=VX(Ce,ll);function is(O,e="option"){return t=>{let i=t.state.field(Ce,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp-1?i.open.selected+r*(O?1:-1):O?0:s-1;return o<0?o=e=="page"?0:s-1:o>=s&&(o=e=="page"?s-1:0),t.dispatch({effects:pQ.of(o)}),!0}}var MX=O=>{let e=O.state.field(Ce,!1);return O.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestampO.state.field(Ce,!1)?(O.dispatch({effects:ns.of(!0)}),!0):!1,DX=O=>{let e=O.state.field(Ce,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(O.dispatch({effects:lr.of(null)}),!0)},il=class{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}},IX=50,BX=1e3,NX=fe.fromClass(class{constructor(O){this.view=O,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of O.state.field(Ce).active)e.isPending&&this.startQuery(e)}update(O){let e=O.state.field(Ce),t=O.state.facet(ge);if(!O.selectionSet&&!O.docChanged&&O.startState.field(Ce)==e)return;let i=O.transactions.some(n=>{let s=QQ(n,t);return s&8||(n.selection||n.docChanged)&&!(s&3)});for(let n=0;nIX&&Date.now()-s.time>BX){for(let o of s.context.abortListeners)try{o()}catch(a){Xe(this.view.state,a)}s.context.abortListeners=null,this.running.splice(n--,1)}else s.updates.push(...O.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),O.transactions.some(n=>n.effects.some(s=>s.is(ns)))&&(this.pendingStart=!0);let r=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(n=>n.isPending&&!this.running.some(s=>s.active.source==n.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let n of O.transactions)n.isUserEvent("input.type")?this.composing=2:this.composing==2&&n.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:O}=this.view,e=O.field(Ce);for(let t of e.active)t.isPending&&!this.running.some(i=>i.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ge).updateSyncTime))}startQuery(O){let{state:e}=this.view,t=kO(e),i=new ri(e,t,O.explicit,this.view),r=new il(O,i);this.running.push(r),Promise.resolve(O.source(i)).then(n=>{r.context.aborted||(r.done=n||null,this.scheduleAccept())},n=>{this.view.dispatch({effects:lr.of(null)}),Xe(this.view.state,n)})}scheduleAccept(){this.running.every(O=>O.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ge).updateSyncTime))}accept(){var O;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(ge),i=this.view.state.field(Ce);for(let r=0;ro.source==n.active.source);if(s&&s.isPending)if(n.done==null){let o=new Wt(n.active.source,0);for(let a of n.updates)o=o.update(a,t);o.isPending||e.push(o)}else this.startQuery(s)}(e.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:al.of(e)})}},{eventHandlers:{blur(O){let e=this.view.state.field(Ce,!1);if(e&&e.tooltip&&this.view.state.facet(ge).closeOnBlur){let t=e.open&&Oa(this.view,e.open.tooltip);(!t||!t.dom.contains(O.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:lr.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:ns.of(!1)}),20),this.composing=0}}}),FX=typeof navigator=="object"&&/Win/.test(navigator.platform),HX=Ze.highest(b.domEventHandlers({keydown(O,e){let t=e.state.field(Ce,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||O.key.length>1||O.ctrlKey&&!(FX&&O.altKey)||O.metaKey)return!1;let i=t.open.options[t.open.selected],r=t.active.find(s=>s.source==i.source),n=i.completion.commitCharacters||r.result.commitCharacters;return n&&n.indexOf(O.key)>-1&&ll(e,i),!1}})),$Q=b.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),rl=class{constructor(e,t,i,r){this.field=e,this.line=t,this.from=i,this.to=r}},nl=class O{constructor(e,t,i){this.field=e,this.from=t,this.to=i}map(e){let t=e.mapPos(this.from,-1,$e.TrackDel),i=e.mapPos(this.to,1,$e.TrackDel);return t==null||i==null?null:new O(this.field,t,i)}},sl=class O{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let i=[],r=[t],n=e.doc.lineAt(t),s=/^\s*/.exec(n.text)[0];for(let a of this.lines){if(i.length){let l=s,h=/^\t*/.exec(a)[0].length;for(let c=0;cnew nl(a.field,r[a.line]+a.from,r[a.line]+a.to));return{text:i,ranges:o}}static parse(e){let t=[],i=[],r=[],n;for(let s of e.split(/\r\n?|\n/)){for(;n=/[#$]\{(?:(\d+)(?::([^}]*))?|((?:\\[{}]|[^}])*))\}/.exec(s);){let o=n[1]?+n[1]:null,a=n[2]||n[3]||"",l=-1,h=a.replace(/\\[{}]/g,c=>c[1]);for(let c=0;c=l&&f.field++}r.push(new rl(l,i.length,n.index,n.index+h.length)),s=s.slice(0,n.index)+a+s.slice(n.index+n[0].length)}s=s.replace(/\\([{}])/g,(o,a,l)=>{for(let h of r)h.line==i.length&&h.from>l&&(h.from--,h.to--);return a}),i.push(s)}return new O(i,r)}},KX=R.widget({widget:new class extends Ue{toDOM(){let O=document.createElement("span");return O.className="cm-snippetFieldPosition",O}ignoreEvent(){return!1}}}),JX=R.mark({class:"cm-snippetField"}),ni=class O{constructor(e,t){this.ranges=e,this.active=t,this.deco=R.set(e.map(i=>(i.from==i.to?KX:JX).range(i.from,i.to)))}map(e){let t=[];for(let i of this.ranges){let r=i.map(e);if(!r)return null;t.push(r)}return new O(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(i=>i.field==this.active&&i.from<=t.from&&i.to>=t.to))}},fr=W.define({map(O,e){return O&&O.map(e)}}),e1=W.define(),hr=he.define({create(){return null},update(O,e){for(let t of e.effects){if(t.is(fr))return t.value;if(t.is(e1)&&O)return new ni(O.ranges,t.value)}return O&&e.docChanged&&(O=O.map(e.changes)),O&&e.selection&&!O.selectionInsideField(e.selection)&&(O=null),O},provide:O=>b.decorations.from(O,e=>e?e.deco:R.none)});function hl(O,e){return S.create(O.filter(t=>t.field==e).map(t=>S.range(t.from,t.to)))}function t1(O){let e=sl.parse(O);return(t,i,r,n)=>{let{text:s,ranges:o}=e.instantiate(t.state,r),{main:a}=t.state.selection,l={changes:{from:r,to:n==a.from?a.to:n,insert:G.of(s)},scrollIntoView:!0,annotations:i?[ol.of(i),de.userEvent.of("input.complete")]:void 0};if(o.length&&(l.selection=hl(o,0)),o.some(h=>h.field>0)){let h=new ni(o,0),c=l.effects=[fr.of(h)];t.state.field(hr,!1)===void 0&&c.push(W.appendConfig.of([hr,s1,o1,$Q]))}t.dispatch(t.state.update(l))}}function mQ(O){return({state:e,dispatch:t})=>{let i=e.field(hr,!1);if(!i||O<0&&i.active==0)return!1;let r=i.active+O,n=O>0&&!i.ranges.some(s=>s.field==r+O);return t(e.update({selection:hl(i.ranges,r),effects:fr.of(n?null:new ni(i.ranges,r)),scrollIntoView:!0})),!0}}var O1=({state:O,dispatch:e})=>O.field(hr,!1)?(e(O.update({effects:fr.of(null)})),!0):!1,i1=mQ(1),r1=mQ(-1);var n1=[{key:"Tab",run:i1,shift:r1},{key:"Escape",run:O1}],cQ=v.define({combine(O){return O.length?O[0]:n1}}),s1=Ze.highest(yt.compute([cQ],O=>O.facet(cQ)));function V(O,e){return Object.assign(Object.assign({},e),{apply:t1(O)})}var o1=b.domEventHandlers({mousedown(O,e){let t=e.state.field(hr,!1),i;if(!t||(i=e.posAtCoords({x:O.clientX,y:O.clientY}))==null)return!1;let r=t.ranges.find(n=>n.from<=i&&n.to>=i);return!r||r.field==t.active?!1:(e.dispatch({selection:hl(t.ranges,r.field),effects:fr.of(t.ranges.some(n=>n.field>r.field)?new ni(t.ranges,r.field):null),scrollIntoView:!0}),!0)}});var cr={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},TO=W.define({map(O,e){let t=e.mapPos(O,-1,$e.TrackAfter);return t??void 0}}),cl=new class extends at{};cl.startSide=1;cl.endSide=-1;var gQ=he.define({create(){return N.empty},update(O,e){if(O=O.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);O=O.update({filter:i=>i>=t.from&&i<=t.to})}for(let t of e.effects)t.is(TO)&&(O=O.update({add:[cl.range(t.value,t.value+1)]}));return O}});function SQ(){return[l1,gQ]}var Ha="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function PQ(O){for(let e=0;e{if((a1?O.composing:O.compositionStarted)||O.state.readOnly)return!1;let r=O.state.selection.main;if(i.length>2||i.length==2&&De(Pe(i,0))==1||e!=r.from||t!=r.to)return!1;let n=c1(O.state,i);return n?(O.dispatch(n),!0):!1}),h1=({state:O,dispatch:e})=>{if(O.readOnly)return!1;let i=yQ(O,O.selection.main.head).brackets||cr.brackets,r=null,n=O.changeByRange(s=>{if(s.empty){let o=f1(O.doc,s.head);for(let a of i)if(a==o&&os(O.doc,s.head)==PQ(Pe(a,0)))return{changes:{from:s.head-a.length,to:s.head+a.length},range:S.cursor(s.head-a.length)}}return{range:r=s}});return r||e(O.update(n,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},XQ=[{key:"Backspace",run:h1}];function c1(O,e){let t=yQ(O,O.selection.main.head),i=t.brackets||cr.brackets;for(let r of i){let n=PQ(Pe(r,0));if(e==r)return n==r?Q1(O,r,i.indexOf(r+r+r)>-1,t):u1(O,r,n,t.before||cr.before);if(e==n&&xQ(O,O.selection.main.from))return d1(O,r,n)}return null}function xQ(O,e){let t=!1;return O.field(gQ).between(0,O.doc.length,i=>{i==e&&(t=!0)}),t}function os(O,e){let t=O.sliceString(e,e+2);return t.slice(0,De(Pe(t,0)))}function f1(O,e){let t=O.sliceString(e-2,e);return De(Pe(t,0))==t.length?t:t.slice(1)}function u1(O,e,t,i){let r=null,n=O.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:t,from:s.to}],effects:TO.of(s.to+e.length),range:S.range(s.anchor+e.length,s.head+e.length)};let o=os(O.doc,s.head);return!o||/\s/.test(o)||i.indexOf(o)>-1?{changes:{insert:e+t,from:s.head},effects:TO.of(s.head+e.length),range:S.cursor(s.head+e.length)}:{range:r=s}});return r?null:O.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function d1(O,e,t){let i=null,r=O.changeByRange(n=>n.empty&&os(O.doc,n.head)==t?{changes:{from:n.head,to:n.head+t.length,insert:t},range:S.cursor(n.head+t.length)}:i={range:n});return i?null:O.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function Q1(O,e,t,i){let r=i.stringPrefixes||cr.stringPrefixes,n=null,s=O.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:e,from:o.to}],effects:TO.of(o.to+e.length),range:S.range(o.anchor+e.length,o.head+e.length)};let a=o.head,l=os(O.doc,a),h;if(l==e){if(fQ(O,a))return{changes:{insert:e+e,from:a},effects:TO.of(a+e.length),range:S.cursor(a+e.length)};if(xQ(O,a)){let f=t&&O.sliceDoc(a,a+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:a,to:a+f.length,insert:f},range:S.cursor(a+f.length)}}}else{if(t&&O.sliceDoc(a-2*e.length,a)==e+e&&(h=uQ(O,a-2*e.length,r))>-1&&fQ(O,h))return{changes:{insert:e+e+e+e,from:a},effects:TO.of(a+e.length),range:S.cursor(a+e.length)};if(O.charCategorizer(a)(l)!=K.Word&&uQ(O,a,r)>-1&&!p1(O,a,e,r))return{changes:{insert:e+e,from:a},effects:TO.of(a+e.length),range:S.cursor(a+e.length)}}return{range:n=o}});return n?null:O.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function fQ(O,e){let t=j(O).resolveInner(e+1);return t.parent&&t.from==e}function p1(O,e,t,i){let r=j(O).resolveInner(e,-1),n=i.reduce((s,o)=>Math.max(s,o.length),0);for(let s=0;s<5;s++){let o=O.sliceDoc(r.from,Math.min(r.to,r.from+t.length+n)),a=o.indexOf(t);if(!a||a>-1&&i.indexOf(o.slice(0,a))>-1){let h=r.firstChild;for(;h&&h.from==r.from&&h.to-h.from>t.length+a;){if(O.sliceDoc(h.to-t.length,h.to)==t)return!1;h=h.firstChild}return!0}let l=r.to==e&&r.parent;if(!l)break;r=l}return!1}function uQ(O,e,t){let i=O.charCategorizer(e);if(i(O.sliceDoc(e-1,e))!=K.Word)return e;for(let r of t){let n=e-r.length;if(O.sliceDoc(n,e)==r&&i(O.sliceDoc(n-1,n))!=K.Word)return n}return-1}function bQ(O={}){return[HX,Ce,ge.of(O),NX,$1,$Q]}var fl=[{key:"Ctrl-Space",run:hQ},{mac:"Alt-`",run:hQ},{key:"Escape",run:DX},{key:"ArrowDown",run:is(!0)},{key:"ArrowUp",run:is(!1)},{key:"PageDown",run:is(!0,"page")},{key:"PageUp",run:is(!1,"page")},{key:"Enter",run:MX}],$1=Ze.highest(yt.computeN([ge],O=>O.facet(ge).defaultKeymap?[fl]:[]));var ls=class{constructor(e,t,i){this.from=e,this.to=t,this.diagnostic=i}},vO=class O{constructor(e,t,i){this.diagnostics=e,this.panel=t,this.selected=i}static init(e,t,i){let r=i.facet(ur).markerFilter;r&&(e=r(e,i));let n=e.slice().sort((h,c)=>h.from-c.from||h.to-c.to),s=new Me,o=[],a=0;for(let h=0;;){let c=h==n.length?null:n[h];if(!c&&!o.length)break;let f,d;for(o.length?(f=a,d=o.reduce((p,$)=>Math.min(p,$.to),c&&c.from>f?c.from:1e8)):(f=c.from,d=c.to,o.push(c),h++);hp.from||p.to==f))o.push(p),h++,d=Math.min(p.to,d);else{d=Math.min(p.from,d);break}}let Q=w1(o);if(o.some(p=>p.from==p.to||p.from==p.to-1&&i.doc.lineAt(p.from).to==p.from))s.add(f,f,R.widget({widget:new ul(Q),diagnostics:o.slice()}));else{let p=o.reduce(($,m)=>m.markClass?$+" "+m.markClass:$,"");s.add(f,d,R.mark({class:"cm-lintRange cm-lintRange-"+Q+p,diagnostics:o.slice(),inclusiveEnd:o.some($=>$.to>d)}))}a=d;for(let p=0;p{if(!(e&&s.diagnostics.indexOf(e)<0))if(!i)i=new ls(r,n,e||s.diagnostics[0]);else{if(s.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new ls(i.from,n,i.diagnostic)}}),i}function m1(O,e){let t=e.pos,i=e.end||t,r=O.state.facet(ur).hideOn(O,t,i);if(r!=null)return r;let n=O.startState.doc.lineAt(e.pos);return!!(O.effects.some(s=>s.is(kQ))||O.changes.touchesRange(n.from,Math.max(n.to,i)))}function g1(O,e){return O.field(He,!1)?e:e.concat(W.appendConfig.of(v1))}var kQ=W.define(),dl=W.define(),wQ=W.define(),He=he.define({create(){return new vO(R.none,null,null)},update(O,e){if(e.docChanged&&O.diagnostics.size){let t=O.diagnostics.map(e.changes),i=null,r=O.panel;if(O.selected){let n=e.changes.mapPos(O.selected.from,1);i=oi(t,O.selected.diagnostic,n)||oi(t,null,n)}!t.size&&r&&e.state.facet(ur).autoPanel&&(r=null),O=new vO(t,r,i)}for(let t of e.effects)if(t.is(kQ)){let i=e.state.facet(ur).autoPanel?t.value.length?dr.open:null:O.panel;O=vO.init(t.value,i,e.state)}else t.is(dl)?O=new vO(O.diagnostics,t.value?dr.open:null,O.selected):t.is(wQ)&&(O=new vO(O.diagnostics,O.panel,t.value));return O},provide:O=>[$O.from(O,e=>e.panel),b.decorations.from(O,e=>e.diagnostics)]});var S1=R.mark({class:"cm-lintRange cm-lintRange-active"});function P1(O,e,t){let{diagnostics:i}=O.state.field(He),r,n=-1,s=-1;i.between(e-(t<0?1:0),e+(t>0?1:0),(a,l,{spec:h})=>{if(e>=a&&e<=l&&(a==l||(e>a||t>0)&&(eRQ(O,t,!1)))}var X1=O=>{let e=O.state.field(He,!1);(!e||!e.panel)&&O.dispatch({effects:g1(O.state,[dl.of(!0)])});let t=mO(O,dr.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},TQ=O=>{let e=O.state.field(He,!1);return!e||!e.panel?!1:(O.dispatch({effects:dl.of(!1)}),!0)},x1=O=>{let e=O.state.field(He,!1);if(!e)return!1;let t=O.state.selection.main,i=e.diagnostics.iter(t.to+1);return!i.value&&(i=e.diagnostics.iter(0),!i.value||i.from==t.from&&i.to==t.to)?!1:(O.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),!0)};var vQ=[{key:"Mod-Shift-m",run:X1,preventDefault:!0},{key:"F8",run:x1}];var ur=v.define({combine(O){return Object.assign({sources:O.map(e=>e.source).filter(e=>e!=null)},Te(O.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{needsRefresh:(e,t)=>e?t?i=>e(i)||t(i):e:t}))}});function qQ(O){let e=[];if(O)e:for(let{name:t}of O){for(let i=0;in.toLowerCase()==r.toLowerCase())){e.push(r);continue e}}e.push("")}return e}function RQ(O,e,t){var i;let r=t?qQ(e.actions):[];return B("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},B("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(O):e.message),(i=e.actions)===null||i===void 0?void 0:i.map((n,s)=>{let o=!1,a=f=>{if(f.preventDefault(),o)return;o=!0;let d=oi(O.state.field(He).diagnostics,e);d&&n.apply(O,d.from,d.to)},{name:l}=n,h=r[s]?l.indexOf(r[s]):-1,c=h<0?l:[l.slice(0,h),B("u",l.slice(h,h+1)),l.slice(h+1)];return B("button",{type:"button",class:"cm-diagnosticAction",onclick:a,onmousedown:a,"aria-label":` Action: ${l}${h<0?"":` (access key "${r[s]})"`}.`},c)}),e.source&&B("div",{class:"cm-diagnosticSource"},e.source))}var ul=class extends Ue{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return B("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}},hs=class{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=RQ(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}},dr=class O{constructor(e){this.view=e,this.items=[];let t=r=>{if(r.keyCode==27)TQ(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:n}=this.items[this.selectedIndex],s=qQ(n.actions);for(let o=0;o{for(let n=0;nTQ(this.view)},"\xD7")),this.update()}get selectedIndex(){let e=this.view.state.field(He).selected;if(!e)return-1;for(let t=0;t{for(let h of l.diagnostics){if(s.has(h))continue;s.add(h);let c=-1,f;for(let d=i;di&&(this.items.splice(i,c-i),r=!0)),t&&f.diagnostic==t.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),n=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),i++}});i({sel:n.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:o,panel:a})=>{let l=a.height/this.list.offsetHeight;o.topa.bottom&&(this.list.scrollTop+=(o.bottom-a.bottom)/l)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function t(){let i=e;e=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)t();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(He),i=oi(t.diagnostics,this.items[e].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:wQ.of(i)})}static open(e){return new O(e)}};function b1(O,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(O)}')`}function as(O){return b1(``,'width="6" height="3"')}var T1=b.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:as("#d11")},".cm-lintRange-warning":{backgroundImage:as("orange")},".cm-lintRange-info":{backgroundImage:as("#999")},".cm-lintRange-hint":{backgroundImage:as("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function k1(O){return O=="error"?4:O=="warning"?3:O=="info"?2:1}function w1(O){let e="hint",t=1;for(let i of O){let r=k1(i.severity);r>t&&(t=r,e=i.severity)}return e}var v1=[He,b.decorations.compute([He],O=>{let{selected:e,panel:t}=O.field(He);return!e||!t||e.from==e.to?R.none:R.set([S1.range(e.from,e.to)])}),du(P1,{hideOn:m1}),T1];var zQ=[$u(),mu(),hu(),dd(),Fu(),su(),lu(),M.allowMultipleSelections.of(!0),Eu(),_n(Ku,{fallback:!0}),Od(),SQ(),bQ(),fu(),uu(),cu(),Jd(),yt.of([...XQ,...Md,...rQ,...md,...Iu,...fl,...vQ])];var q1="#e5c07b",YQ="#e06c75",R1="#56b6c2",z1="#ffffff",cs="#abb2bf",pl="#7d8799",Y1="#61afef",W1="#98c379",WQ="#d19a66",Z1="#c678dd",V1="#21252b",ZQ="#2c313a",VQ="#282c34",Ql="#353a42",U1="#3E4451",UQ="#528bff";var _1=b.theme({"&":{color:cs,backgroundColor:VQ},".cm-content":{caretColor:UQ},".cm-cursor, .cm-dropCursor":{borderLeftColor:UQ},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:U1},".cm-panels":{backgroundColor:V1,color:cs},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:VQ,color:pl,border:"none"},".cm-activeLineGutter":{backgroundColor:ZQ},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Ql},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Ql,borderBottomColor:Ql},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:ZQ,color:cs}}},{dark:!0}),j1=KO.define([{tag:u.keyword,color:Z1},{tag:[u.name,u.deleted,u.character,u.propertyName,u.macroName],color:YQ},{tag:[u.function(u.variableName),u.labelName],color:Y1},{tag:[u.color,u.constant(u.name),u.standard(u.name)],color:WQ},{tag:[u.definition(u.name),u.separator],color:cs},{tag:[u.typeName,u.className,u.number,u.changed,u.annotation,u.modifier,u.self,u.namespace],color:q1},{tag:[u.operator,u.operatorKeyword,u.url,u.escape,u.regexp,u.link,u.special(u.string)],color:R1},{tag:[u.meta,u.comment],color:pl},{tag:u.strong,fontWeight:"bold"},{tag:u.emphasis,fontStyle:"italic"},{tag:u.strikethrough,textDecoration:"line-through"},{tag:u.link,color:pl,textDecoration:"underline"},{tag:u.heading,fontWeight:"bold",color:YQ},{tag:[u.atom,u.bool,u.special(u.variableName)],color:WQ},{tag:[u.processingInstruction,u.string,u.inserted],color:W1},{tag:u.invalid,color:z1}]),_Q=[_1,_n(j1)];var gl=class O{constructor(e,t,i,r,n,s,o,a,l,h=0,c){this.p=e,this.stack=t,this.state=i,this.reducePos=r,this.pos=n,this.score=s,this.buffer=o,this.bufferBase=a,this.curContext=l,this.lookAhead=h,this.parent=c}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,i=0){let r=e.parser.context;return new O(e,[],t,i,i,0,[],0,r?new fs(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let i=e>>19,r=e&65535,{parser:n}=this.p,s=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSizea;)this.stack.pop();this.reduceContext(r,l)}storeNode(e,t,i,r=4,n=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&s.buffer[o-4]==0&&s.buffer[o-1]>-1){if(t==i)return;if(s.buffer[o-2]>=t){s.buffer[o-2]=i;return}}}if(!n||this.pos==i)this.buffer.push(e,t,i,r);else{let s=this.buffer.length;if(s>0&&this.buffer[s-4]!=0){let o=!1;for(let a=s;a>0&&this.buffer[a-2]>i;a-=4)if(this.buffer[a-1]>=0){o=!0;break}if(o)for(;s>0&&this.buffer[s-2]>i;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,r>4&&(r-=4)}this.buffer[s]=e,this.buffer[s+1]=t,this.buffer[s+2]=i,this.buffer[s+3]=r}}shift(e,t,i,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let n=e,{parser:s}=this.p;(r>this.pos||t<=s.maxNode)&&(this.pos=r,s.stateFlag(n,1)||(this.reducePos=r)),this.pushState(n,i),this.shiftContext(t,i),t<=s.maxNode&&this.buffer.push(t,i,r,4)}else this.pos=r,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,r,4)}apply(e,t,i,r){e&65536?this.reduce(e):this.shift(e,t,i,r)}useNode(e,t){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(i,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let i=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new O(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Sl(this);;){let i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(i==0)return!1;if((i&65536)==0)return!0;t.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let n=0,s;na&1&&o==s)||r.push(t[n],s)}t=r}let i=[];for(let r=0;r>19,r=t&65535,n=this.stack.length-i*3;if(n<0||e.getGoto(this.stack[n],r,!1)<0){let s=this.findForcedReduction();if(s==null)return!1;t=s}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],i=(r,n)=>{if(!t.includes(r))return t.push(r),e.allActions(r,s=>{if(!(s&393216))if(s&65536){let o=(s>>19)-n;if(o>1){let a=s&65535,l=this.stack.length-o*3;if(l>=0&&e.getGoto(this.stack[l],a,!1)>=0)return o<<19|65536|a}}else{let o=i(s,n+1);if(o!=null)return o}})};return i(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;tthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},fs=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},Sl=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,i=e>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},Pl=class O{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new O(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new O(this.stack,this.pos,this.index)}};function Qr(O,e=Uint16Array){if(typeof O!="string")return O;let t=null;for(let i=0,r=0;i=92&&s--,s>=34&&s--;let a=s-32;if(a>=46&&(a-=46,o=!0),n+=a,o)break;n*=46}t?t[r++]=n:t=new e(n)}return t}var ai=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},jQ=new ai,yl=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=jQ,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let i=this.range,r=this.rangeIndex,n=this.pos+e;for(;ni.to:n>=i.to;){if(r==this.ranges.length-1)return null;let s=this.ranges[++r];n+=s.from-i.to,i=s}return n}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,i,r;if(t>=0&&t=this.chunk2Pos&&io.to&&(this.chunk2=this.chunk2.slice(0,o.to-i)),r=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),r}acceptToken(e,t=0){let i=t?this.resolveOffset(t,-1):this.pos;if(i==null||i=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=jQ,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let i="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(i+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return i}},oO=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:i}=t.p;LQ(this.data,e,t,this.id,i.data,i.tokenPrecTable)}};oO.prototype.contextual=oO.prototype.fallback=oO.prototype.extend=!1;var wt=class{constructor(e,t,i){this.precTable=t,this.elseToken=i,this.data=typeof e=="string"?Qr(e):e}token(e,t){let i=e.pos,r=0;for(;;){let n=e.next<0,s=e.resolveOffset(1,1);if(LQ(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(n||r++,s==null)break;e.reset(s,e.token)}r&&(e.reset(i,e.token),e.acceptToken(this.elseToken,r))}};wt.prototype.contextual=oO.prototype.fallback=oO.prototype.extend=!1;var U=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function LQ(O,e,t,i,r,n){let s=0,o=1<0){let Q=O[d];if(a.allows(Q)&&(e.token.value==-1||e.token.value==Q||G1(Q,e.token.value,r,n))){e.acceptToken(Q);break}}let h=e.next,c=0,f=O[s+2];if(e.next<0&&f>c&&O[l+f*3-3]==65535){s=O[l+f*3-1];continue e}for(;c>1,Q=l+d+(d<<1),p=O[Q],$=O[Q+1]||65536;if(h=$)c=d+1;else{s=O[Q+2],e.advance();continue e}}break}}function CQ(O,e,t){for(let i=e,r;(r=O[i])!=65535;i++)if(r==t)return i-e;return-1}function G1(O,e,t,i){let r=CQ(t,i,e);return r<0||CQ(t,i,O)e)&&!i.type.isError)return t<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(O.length,Math.max(i.from+1,e+25));if(t<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return t<0?0:O.length}}var Xl=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?GQ(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?GQ(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=s,null;if(n instanceof D){if(s==e){if(s=Math.max(this.safeFrom,e)&&(this.trees.push(n),this.start.push(s),this.index.push(0))}else this.index[t]++,this.nextStart=s+n.length}}},xl=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(i=>new ai)}getActions(e){let t=0,i=null,{parser:r}=e.p,{tokenizers:n}=r,s=r.stateSlot(e.state,3),o=e.curContext?e.curContext.hash:0,a=0;for(let l=0;lc.end+25&&(a=Math.max(c.lookAhead,a)),c.value!=0)){let f=t;if(c.extended>-1&&(t=this.addActions(e,c.extended,c.end,t)),t=this.addActions(e,c.value,c.end,t),!h.extend&&(i=c,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),!i&&e.pos==this.stream.end&&(i=new ai,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new ai,{pos:i,p:r}=e;return t.start=i,t.end=Math.min(i+1,r.stream.end),t.value=i==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,i){let r=this.stream.clipPos(i.pos);if(t.token(this.stream.reset(r,e),i),e.value>-1){let{parser:n}=i.p;for(let s=0;s=0&&i.p.parser.dialect.allows(o>>1)){(o&1)==0?e.value=o>>1:e.extended=o>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,i,r){for(let n=0;ne.bufferLength*4?new Xl(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,i=this.stacks=[],r,n;if(this.bigReductionCount>300&&e.length==1){let[s]=e;for(;s.forceReduce()&&s.stack.length&&s.stack[s.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;st)i.push(o);else{if(this.advanceStack(o,i,e))continue;{r||(r=[],n=[]),r.push(o);let a=this.tokens.getMainToken(o);n.push(a.value,a.end)}}break}}if(!i.length){let s=r&&E1(r);if(s)return Ke&&console.log("Finish with "+this.stackID(s)),this.stackToTree(s);if(this.parser.strict)throw Ke&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let s=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,n,i);if(s)return Ke&&console.log("Force-finish "+this.stackID(s)),this.stackToTree(s.forceAll())}if(this.recovering){let s=this.recovering==1?1:this.recovering*3;if(i.length>s)for(i.sort((o,a)=>a.score-o.score);i.length>s;)i.pop();i.some(o=>o.reducePos>t)&&this.recovering--}else if(i.length>1){e:for(let s=0;s500&&l.buffer.length>500)if((o.score-l.score||o.buffer.length-l.buffer.length)>0)i.splice(a--,1);else{i.splice(s--,1);continue e}}}i.length>12&&i.splice(12,i.length-12)}this.minStackPos=i[0].pos;for(let s=1;s ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let l=e.curContext&&e.curContext.tracker.strict,h=l?e.curContext.hash:0;for(let c=this.fragments.nodeAt(r);c;){let f=this.parser.nodeSet.types[c.type.id]==c.type?n.getGoto(e.state,c.type.id):-1;if(f>-1&&c.length&&(!l||(c.prop(Y.contextHash)||0)==h))return e.useNode(c,f),Ke&&console.log(s+this.stackID(e)+` (via reuse of ${n.getName(c.type.id)})`),!0;if(!(c instanceof D)||c.children.length==0||c.positions[0]>0)break;let d=c.children[0];if(d instanceof D&&c.positions[0]==0)c=d;else break}}let o=n.stateSlot(e.state,4);if(o>0)return e.reduce(o),Ke&&console.log(s+this.stackID(e)+` (via always-reduce ${n.getName(o&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let l=0;lr?t.push(Q):i.push(Q)}return!1}advanceFully(e,t){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return EQ(e,t),!0}}runRecovery(e,t,i){let r=null,n=!1;for(let s=0;s ":"";if(o.deadEnd&&(n||(n=!0,o.restart(),Ke&&console.log(h+this.stackID(o)+" (restarted)"),this.advanceFully(o,i))))continue;let c=o.split(),f=h;for(let d=0;c.forceReduce()&&d<10&&(Ke&&console.log(f+this.stackID(c)+" (via force-reduce)"),!this.advanceFully(c,i));d++)Ke&&(f=this.stackID(c)+" -> ");for(let d of o.recoverByInsert(a))Ke&&console.log(h+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,i);this.stream.end>o.pos?(l==o.pos&&(l++,a=0),o.recoverByDelete(a,l),Ke&&console.log(h+this.stackID(o)+` (via recover-delete ${this.parser.getName(a)})`),EQ(o,i)):(!r||r.scoreO,Ge=class{constructor(e){this.start=e.start,this.shift=e.shift||ml,this.reduce=e.reduce||ml,this.reuse=e.reuse||ml,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},se=class O extends Ht{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let o=0;oe.topRules[o][1]),r=[];for(let o=0;o=0)n(h,a,o[l++]);else{let c=o[l+-h];for(let f=-h;f>0;f--)n(o[l++],a,c);l++}}}this.nodeSet=new Nt(t.map((o,a)=>ue.define({name:a>=this.minRepeatTerm?void 0:o,id:a,props:r[a],top:i.indexOf(a)>-1,error:a==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(a)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let s=Qr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let o=0;otypeof o=="number"?new oO(s,o):o),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,i){let r=new bl(this,e,t,i);for(let n of this.wrappers)r=n(r,e,t,i);return r}getGoto(e,t,i=!1){let r=this.goto;if(t>=r[0])return-1;for(let n=r[t+1];;){let s=r[n++],o=s&1,a=r[n++];if(o&&i)return a;for(let l=n+(s>>1);n0}validAction(e,t){return!!this.allActions(e,i=>i==t?!0:null)}allActions(e,t){let i=this.stateSlot(e,4),r=i?t(i):void 0;for(let n=this.stateSlot(e,1);r==null;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Zt(this.data,n+2);else break;r=t(Zt(this.data,n+1))}return r}nextStates(e){let t=[];for(let i=this.stateSlot(e,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=Zt(this.data,i+2);else break;if((this.data[i+2]&1)==0){let r=this.data[i+1];t.some((n,s)=>s&1&&n==r)||t.push(this.data[i],r)}}return t}configure(e){let t=Object.assign(Object.create(O.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=i}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(i=>{let r=e.tokenizers.find(n=>n.from==i);return r?r.to:i})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((i,r)=>{let n=e.specializers.find(o=>o.from==i.external);if(!n)return i;let s=Object.assign(Object.assign({},i),{external:n.to});return t.specializers[r]=AQ(s),s})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),i=t.map(()=>!1);if(e)for(let n of e.split(" ")){let s=t.indexOf(n);s>=0&&(i[s]=!0)}let r=null;for(let n=0;ni)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scoreO.external(t,i)<<1|e}return O.get}var MQ=1,A1=2,L1=3,M1=82,D1=76,I1=117,B1=85,N1=97,F1=122,H1=65,K1=90,J1=95,kl=48,DQ=34,e0=40,IQ=41,t0=32,BQ=62,O0=new U(O=>{if(O.next==D1||O.next==B1?O.advance():O.next==I1&&(O.advance(),O.next==kl+8&&O.advance()),O.next!=M1||(O.advance(),O.next!=DQ))return;O.advance();let e="";for(;O.next!=e0;){if(O.next==t0||O.next<=13||O.next==IQ)return;e+=String.fromCharCode(O.next),O.advance()}for(O.advance();;){if(O.next<0)return O.acceptToken(MQ);if(O.next==IQ){let t=!0;for(let i=0;t&&i{if(O.next==BQ)O.peek(1)==BQ&&O.acceptToken(A1,1);else{let e=!1,t=0;for(;;t++){if(O.next>=H1&&O.next<=K1)e=!0;else{if(O.next>=N1&&O.next<=F1)return;if(O.next!=J1&&!(O.next>=kl&&O.next<=kl+9))break}O.advance()}e&&t>1&&O.acceptToken(L1)}},{extend:!0}),r0=H({"typedef struct union enum class typename decltype auto template operator friend noexcept namespace using requires concept import export module __attribute__ __declspec __based":u.definitionKeyword,"extern MsCallModifier MsPointerModifier extern static register thread_local inline const volatile restrict _Atomic mutable constexpr constinit consteval virtual explicit VirtualSpecifier Access":u.modifier,"if else switch for while do case default return break continue goto throw try catch":u.controlKeyword,"co_return co_yield co_await":u.controlKeyword,"new sizeof delete static_assert":u.operatorKeyword,"NULL nullptr":u.null,this:u.self,"True False":u.bool,"TypeSize PrimitiveType":u.standard(u.typeName),TypeIdentifier:u.typeName,FieldIdentifier:u.propertyName,"CallExpression/FieldExpression/FieldIdentifier":u.function(u.propertyName),"ModuleName/Identifier":u.namespace,PartitionName:u.labelName,StatementIdentifier:u.labelName,"Identifier DestructorName":u.variableName,"CallExpression/Identifier":u.function(u.variableName),"CallExpression/ScopedIdentifier/Identifier":u.function(u.variableName),"FunctionDeclarator/Identifier FunctionDeclarator/DestructorName":u.function(u.definition(u.variableName)),NamespaceIdentifier:u.namespace,OperatorName:u.operator,ArithOp:u.arithmeticOperator,LogicOp:u.logicOperator,BitOp:u.bitwiseOperator,CompareOp:u.compareOperator,AssignOp:u.definitionOperator,UpdateOp:u.updateOperator,LineComment:u.lineComment,BlockComment:u.blockComment,Number:u.number,String:u.string,"RawString SystemLibString":u.special(u.string),CharLiteral:u.character,EscapeSequence:u.escape,"UserDefinedLiteral/Identifier":u.literal,PreProcArg:u.meta,"PreprocDirectiveName #include #ifdef #ifndef #if #define #else #endif #elif":u.processingInstruction,MacroName:u.special(u.name),"( )":u.paren,"[ ]":u.squareBracket,"{ }":u.brace,"< >":u.angleBracket,". ->":u.derefOperator,", ;":u.separator}),n0={__proto__:null,bool:36,char:36,int:36,float:36,double:36,void:36,size_t:36,ssize_t:36,intptr_t:36,uintptr_t:36,charptr_t:36,int8_t:36,int16_t:36,int32_t:36,int64_t:36,uint8_t:36,uint16_t:36,uint32_t:36,uint64_t:36,char8_t:36,char16_t:36,char32_t:36,char64_t:36,const:70,volatile:72,restrict:74,_Atomic:76,mutable:78,constexpr:80,constinit:82,consteval:84,struct:88,__declspec:92,final:148,override:148,public:152,private:152,protected:152,virtual:154,extern:160,static:162,register:164,inline:166,thread_local:168,__attribute__:172,__based:178,__restrict:180,__uptr:180,__sptr:180,_unaligned:180,__unaligned:180,noexcept:194,requires:198,TRUE:784,true:784,FALSE:786,false:786,typename:218,class:220,template:234,throw:248,__cdecl:256,__clrcall:256,__stdcall:256,__fastcall:256,__thiscall:256,__vectorcall:256,try:260,catch:264,export:282,import:286,case:296,default:298,if:308,else:314,switch:318,do:322,while:324,for:330,return:334,break:338,continue:342,goto:346,co_return:350,co_yield:354,using:362,typedef:366,namespace:380,new:398,delete:400,co_await:402,concept:406,enum:410,static_assert:414,friend:422,union:424,explicit:430,operator:444,module:456,signed:518,unsigned:518,long:518,short:518,decltype:528,auto:530,sizeof:566,NULL:572,nullptr:586,this:588},s0={__proto__:null,"<":131},o0={__proto__:null,">":135},a0={__proto__:null,operator:388,new:576,delete:582},NQ=se.deserialize({version:14,states:"$:|Q!QQVOOP'gOUOOO(XOWO'#CdO,RQUO'#CgO,]QUO'#FjO-sQbO'#CxO.UQUO'#CxO0TQUO'#KZO0[QUO'#CwO0gOpO'#DvO0oQ!dO'#D]OOQR'#JO'#JOO5XQVO'#GUO5fQUO'#JVOOQQ'#JV'#JVO8zQUO'#KmO{QVO'#E^O?]QUO'#E^OOQQ'#Ed'#EdOOQQ'#Ee'#EeO?bQVO'#EfO@XQVO'#EiOBUQUO'#FPOBvQUO'#FhOOQR'#Fj'#FjOB{QUO'#FjOOQR'#LQ'#LQOOQR'#LP'#LPOETQVO'#KQOFxQUO'#LVOGVQUO'#KqOGkQUO'#LVOH]QUO'#LXOOQR'#HU'#HUOOQR'#HV'#HVOOQR'#HW'#HWOOQR'#K|'#K|OOQR'#J_'#J_Q!QQVOOOHkQVO'#FOOIWQUO'#EhOI_QUOOOKZQVO'#HgOKkQUO'#HgONVQUO'#KqONaQUO'#KqOOQQ'#Kq'#KqO!!_QUO'#KqOOQQ'#Jq'#JqO!!lQUO'#HxOOQQ'#KZ'#KZO!&^QUO'#KZO!&zQUO'#KQO!(zQVO'#I]O!(zQVO'#I`OCQQUO'#KQOOQQ'#Ip'#IpOOQQ'#KQ'#KQO!,}QUO'#KZOOQR'#KY'#KYO!-UQUO'#DZO!/mQUO'#KnOOQQ'#Kn'#KnO!/tQUO'#KnO!/{QUO'#ETO!0QQUO'#EWO!0VQUO'#FRO8zQUO'#FPO!QQVO'#F^O!0[Q#vO'#F`O!0gQUO'#FkO!0oQUO'#FpO!0tQVO'#FrO!0oQUO'#FuO!3sQUO'#FvO!3xQVO'#FxO!4SQUO'#FzO!4XQUO'#F|O!4^QUO'#GOO!4cQVO'#GQO!(zQVO'#GSO!4jQUO'#GpO!4xQUO'#GYO!(zQVO'#FeO!6VQUO'#FeO!6[QVO'#G`O!6cQUO'#GaO!6nQUO'#GnO!6sQUO'#GrO!6xQUO'#GzO!7jQ&lO'#HiO!:mQUO'#GuO!:}QUO'#HXO!;YQUO'#HZO!;bQUO'#DXO!;bQUO'#HuO!;bQUO'#HvO!;yQUO'#HwO!<[QUO'#H|O!=PQUO'#H}O!>uQVO'#IbO!(zQVO'#IdO!?PQUO'#IgO!?WQVO'#IjP!@}{,UO'#CbP!6n{,UO'#CbP!AY{7[O'#CbP!6n{,UO'#CbP!A_{,UO'#CbP!AjOSO'#IzPOOO)CEn)CEnOOOO'#I|'#I|O!AtOWO,59OOOQR,59O,59OO!(zQVO,59VOOQQ,59X,59XO!(zQVO,5;ROOQR,5qOOQR'#IX'#IXOOQR'#IY'#IYOOQR'#IZ'#IZOOQR'#I['#I[O!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!DOQVO,5>zOOQQ,5?W,5?WO!EqQVO'#CjO!IjQUO'#CzOOQQ,59d,59dOOQQ,59c,59cOOQQ,5<},5<}O!IwQ&lO,5=mO!?PQUO,5?RO!LkQVO,5?UO!LrQbO,59dO!L}QVO'#FYOOQQ,5?P,5?PO!M_QVO,59WO!MfO`O,5:bO!MkQbO'#D^O!M|QbO'#K_O!N[QbO,59wO!NdQbO'#CxO!NuQUO'#CxO!NzQUO'#KZO# UQUO'#CwOOQR-E<|-E<|O# aQUO,5AoO# hQVO'#EfO@XQVO'#EiOBUQUO,5;kOOQR,5l,5>lO#3gQUO'#CgO#4]QUO,5>pO#6OQUO'#IeOOQR'#I}'#I}O#6WQUO,5:xO#6tQUO,5:xO#7eQUO,5:xO#8YQUO'#CuO!0QQUO'#CmOOQQ'#JW'#JWO#6tQUO,5:xO#8bQUO,5;QO!4xQUO'#DOO#9kQUO,5;QO#9pQUO,5>QO#:|QUO'#DOO#;dQUO,5>{O#;iQUO'#KwO#}QUO'#L[O#?UQUO,5>UO#?ZQbO'#CxO#?fQUO'#GcO#?kQUO'#E^O#@[QUO,5;kO#@sQUO'#K}O#@{QUO,5;rOKkQUO'#HfOBUQUO'#HgO#AQQUO'#KqO!6nQUO'#HjO#AxQUO'#CuO!0tQVO,5PO$(WQUO'#E[O$(eQUO,5>ROOQQ,5>S,5>SO$,RQVO'#C|OOQQ-E=o-E=oOOQQ,5>d,5>dOOQQ,59a,59aO$,]QUO,5>wO$.]QUO,5>zO!6nQUO,59uO$.pQUO,5;qO$.}QUO,5<{O!0QQUO,5:oOOQQ,5:r,5:rO$/YQUO,5;mO$/_QUO'#KmOBUQUO,5;kOOQR,5;x,5;xO$0OQUO'#FbO$0^QUO'#FbO$0cQUO,5;zO$3|QVO'#FmO!0tQVO,5eQUO,5pQUO,5=[O$>uQUO,5=[O!4xQUO,5}QUO,5uQUO,5<{O$DQQUO,5<{O$D]QUO,5=YO!(zQVO,5=^O!(zQVO,5=fO#NeQUO,5=mOOQQ,5>T,5>TO$FbQUO,5>TO$FlQUO,5>TO$FqQUO,5>TO$FvQUO,5>TO!6nQUO,5>TO$HtQUO'#KZO$H{QUO,5=oO$IWQUO,5=aOKkQUO,5=oO$JQQUO,5=sOOQR,5=s,5=sO$JYQUO,5=sO$LeQVO'#H[OOQQ,5=u,5=uO!;]QUO,5=uO%#`QUO'#KjO%#gQUO'#K[O%#{QUO'#KjO%$VQUO'#DyO%$hQUO'#D|O%'eQUO'#K[OOQQ'#K['#K[O%)WQUO'#K[O%#gQUO'#K[O%)]QUO'#K[OOQQ,59s,59sOOQQ,5>a,5>aOOQQ,5>b,5>bO%)eQUO'#HzO%)mQUO,5>cOOQQ,5>c,5>cO%-XQUO,5>cO%-dQUO,5>hO%1OQVO,5>iO%1VQUO,5>|O# hQVO'#EfO%4]QUO,5>|OOQQ,5>|,5>|O%4|QUO,5?OO%7QQUO,5?RO!<[QUO,5?RO%8|QUO,5?UO%sQUO1G0mOOQQ1G0m1G0mO%@PQUO'#CpO%B`QbO'#CxO%BkQUO'#CsO%BpQUO'#CsO%BuQUO1G.uO#AxQUO'#CrOOQQ1G.u1G.uO%DxQUO1G4]O%FOQUO1G4^O%GqQUO1G4^O%IdQUO1G4^O%KVQUO1G4^O%LxQUO1G4^O%NkQUO1G4^O&!^QUO1G4^O&$PQUO1G4^O&%rQUO1G4^O&'eQUO1G4^O&)WQUO1G4^O&*yQUO'#KPO&,SQUO'#KPO&,[QUO,59UOOQQ,5=P,5=PO&.dQUO,5=PO&.nQUO,5=PO&.sQUO,5=PO&.xQUO,5=PO!6nQUO,5=PO#NeQUO1G3XO&/SQUO1G4mO!<[QUO1G4mO&1OQUO1G4pO&2qQVO1G4pOOQQ1G/O1G/OOOQQ1G.}1G.}OOQQ1G2i1G2iO!IwQ&lO1G3XO&2xQUO'#LOO@XQVO'#EiO&4RQUO'#F]OOQQ'#Ja'#JaO&4WQUO'#FZO&4cQUO'#LOO&4kQUO,5;tO&4pQUO1G.rOOQQ1G.r1G.rOOQR1G/|1G/|O&6cQ!dO'#JPO&6hQbO,59xO&8yQ!eO'#D`O&9QQ!dO'#JRO&9VQbO,5@yO&9VQbO,5@yOOQR1G/c1G/cO&9bQbO1G/cO&9gQ&lO'#GeO&:eQbO,59dOOQR1G7Z1G7ZO#@[QUO1G1VO&:pQUO1G1^OBUQUO1G1VO&=RQUO'#CzO#*wQbO,59dO&@tQUO1G6sOOQR-E<{-E<{O&BWQUO1G0dO#6WQUO1G0dOOQQ-E=U-E=UO#6tQUO1G0dOOQQ1G0l1G0lO&B{QUO,59jOOQQ1G3l1G3lO&CcQUO,59jO&CyQUO,59jO!M_QVO1G4gO!(zQVO'#JYO&DeQUO,5AcOOQQ1G0o1G0oO!(zQVO1G0oO!6nQUO'#JnO&DmQUO,5AvOOQQ1G3p1G3pOOQR1G1V1G1VO&HjQVO'#FOO!M_QVO,5;sOOQQ,5;s,5;sOBUQUO'#JcO&JfQUO,5AiO&JnQVO'#E[OOQR1G1^1G1^O&M]QUO'#L[OOQR1G1n1G1nOOQR-E=f-E=fOOQR1G7]1G7]O#DhQUO1G7]OGVQUO1G7]O#DhQUO1G7_OOQR1G7_1G7_O&MeQUO'#G}O&MmQUO'#LWOOQQ,5=h,5=hO&M{QUO,5=jO&NQQUO,5=kOOQR1G7`1G7`O#EfQVO1G7`O&NVQUO1G7`O' ]QVO,5=kOOQR1G1U1G1UO$.vQUO'#E]O'!RQUO'#E]OOQQ'#Ky'#KyO'!lQUO'#KxO'!wQUO,5;UO'#PQUO'#ElO'#dQUO'#ElO'#wQUO'#EtOOQQ'#J['#J[O'#|QUO,5;cO'$sQUO,5;cO'%nQUO,5;dO'&tQVO,5;dOOQQ,5;d,5;dO''OQVO,5;dO'&tQVO,5;dO''VQUO,5;bO'(SQUO,5;eO'(_QUO'#KpO'(gQUO,5:vO'(lQUO,5;fOOQQ1G0n1G0nOOQQ'#J]'#J]O''VQUO,5;bO!4xQUO'#E}OOQQ,5;b,5;bO')gQUO'#E`O'+aQUO'#E{OHrQUO1G0nO'+fQUO'#EbOOQQ'#JX'#JXO'-OQUO'#KrOOQQ'#Kr'#KrO'-xQUO1G0eO'.pQUO1G3kO'/vQVO1G3kOOQQ1G3k1G3kO'0QQVO1G3kO'0XQUO'#L_O'1eQUO'#KXO'1sQUO'#KWO'2OQUO,59hO'2WQUO1G/aO'2]QUO'#FPOOQR1G1]1G1]OOQR1G2g1G2gO$>uQUO1G2gO'2gQUO1G2gO'2rQUO1G0ZOOQR'#J`'#J`O'2wQVO1G1XO'8pQUO'#FTO'8uQUO1G1VO!6nQUO'#JdO'9TQUO,5;|O$0^QUO,5;|OOQQ'#Fc'#FcOOQQ,5;|,5;|O'9cQUO1G1fOOQR1G1f1G1fO'9kQUO,5}QUO1G2`OOQQ'#Cv'#CvO'CzQUO'#G[O'DuQUO'#G[O'DzQUO'#LRO'EYQUO'#G_OOQQ'#LS'#LSO'EhQUO1G2`O'EmQVO1G1kO'HOQVO'#GUOBUQUO'#FWOOQR'#Je'#JeO'EmQVO1G1kO'HYQUO'#FvOOQR1G2f1G2fO'H_QUO1G2gO'HdQUO'#JgO'2gQUO1G2gO!(zQVO1G2tO'HlQUO1G2xO'IuQUO1G3QO'J{QUO1G3XOOQQ1G3o1G3oO'KaQUO1G3oOOQR1G3Z1G3ZO'KfQUO'#KZO'2]QUO'#LTOGkQUO'#LVOOQR'#Gy'#GyO#DhQUO'#LXOOQR'#HQ'#HQO'KpQUO'#GvO'#wQUO'#GuOOQR1G2{1G2{O'LmQUO1G2{O'MdQUO1G3ZO'MoQUO1G3_O'MtQUO1G3_OOQR1G3_1G3_O'M|QUO'#H]OOQR'#H]'#H]O( VQUO'#H]O!(zQVO'#H`O!(zQVO'#H_OOQR'#LZ'#LZO( [QUO'#LZOOQR'#Jk'#JkO( aQVO,5=vOOQQ,5=v,5=vO( hQUO'#H^O( pQUO'#HZOOQQ1G3a1G3aO( zQUO,5@vOOQQ,5@v,5@vO%)WQUO,5@vO%)]QUO,5@vO%$VQUO,5:eO(%iQUO'#KkO(%wQUO'#KkOOQQ,5:e,5:eOOQQ'#JS'#JSO(&SQUO'#D}O(&^QUO'#KqOGkQUO'#LVO('YQUO'#D}OOQQ'#Hp'#HpOOQQ'#Hr'#HrOOQQ'#Hs'#HsOOQQ'#Kl'#KlOOQQ'#JU'#JUO('dQUO,5:hOOQQ,5:h,5:hO((aQUO'#LVO((nQUO'#HtO()UQUO,5@vO()]QUO'#H{O()hQUO'#L^O()pQUO,5>fO()uQUO'#L]OOQQ1G3}1G3}O(-lQUO1G3}O(-sQUO1G3}O(-zQUO1G4TO(/QQUO1G4TO(/VQUO,5A|O!6nQUO1G4hO!(zQVO'#IiOOQQ1G4m1G4mO(/[QUO1G4mO(1_QVO1G4pPOOO1G.h1G.hP!A_{,UO1G.hP(3_QUO'#LeP(3j{,UO1G.hP(3o{7[O1G.hPO{O-E=s-E=sPOOO,5A},5A}P(3w{,UO,5A}POOO1G5Q1G5QO!(zQVO7+$]O(3|QUO'#CzOOQQ,59_,59_O(4XQbO,59dO(4dQbO,59_OOQQ,59^,59^OOQQ7+)w7+)wO!M_QVO'#JtO(4oQUO,5@kOOQQ1G.p1G.pOOQQ1G2k1G2kO(4wQUO1G2kO(4|QUO7+(sOOQQ7+*X7+*XO(7bQUO7+*XO(7iQUO7+*XO(1_QVO7+*[O#NeQUO7+(sO(7vQVO'#JbO(8ZQUO,5AjO(8cQUO,5;vOOQQ'#Cp'#CpOOQQ,5;w,5;wO!(zQVO'#F[OOQQ-E=_-E=_O!M_QVO,5;uOOQQ1G1`1G1`OOQQ,5?k,5?kOOQQ-E<}-E<}OOQR'#Dg'#DgOOQR'#Di'#DiOOQR'#Dl'#DlO(9lQ!eO'#K`O(9sQMkO'#K`O(9zQ!eO'#K`OOQR'#K`'#K`OOQR'#JQ'#JQO(:RQ!eO,59zOOQQ,59z,59zO(:YQbO,5?mOOQQ-E=P-E=PO(:hQbO1G6eOOQR7+$}7+$}OOQR7+&q7+&qOOQR7+&x7+&xO'8uQUO7+&qO(:sQUO7+&OO#6WQUO7+&OO(;hQUO1G/UO(]QUO,5?tOOQQ-E=W-E=WO(?fQUO7+&ZOOQQ,5@Y,5@YOOQQ-E=l-E=lO(?kQUO'#LOO@XQVO'#EiO(@wQUO1G1_OOQQ1G1_1G1_O(BQQUO,5?}OOQQ,5?},5?}OOQQ-E=a-E=aO(BfQUO'#KpOOQR7+,w7+,wO#DhQUO7+,wOOQR7+,y7+,yO(BsQUO,5=iO#DsQUO'#JjO(CUQUO,5ArOOQR1G3U1G3UOOQR1G3V1G3VO(CdQUO7+,zOOQR7+,z7+,zO(E[QUO,5:wO(FyQUO'#EwO!(zQVO,5;VO(GlQUO,5:wO(GvQUO'#EpO(HXQUO'#EzOOQQ,5;Z,5;ZO#K]QVO'#ExO(HoQUO,5:wO(HvQUO'#EyO#GgQUO'#JZO(J`QUO,5AdOOQQ1G0p1G0pO(JkQUO,5;WO!<[QUO,5;^O(KUQUO,5;_O(KdQUO,5;WO(MvQUO,5;`OOQQ-E=Y-E=YO(NOQUO1G0}OOQQ1G1O1G1OO(NyQUO1G1OO)!PQVO1G1OO)!WQVO1G1OO)!bQUO1G0|OOQQ1G0|1G0|OOQQ1G1P1G1PO)#_QUO'#JoO)#iQUO,5A[OOQQ1G0b1G0bOOQQ-E=Z-E=ZO)#qQUO,5;iO!<[QUO,5;iO)$nQVO,5:zO)$uQUO,5;gO$ mQUO7+&YOOQQ7+&Y7+&YO!(zQVO'#EfO)$|QUO,5:|OOQQ'#Ks'#KsOOQQ-E=V-E=VOOQQ,5A^,5A^OOQQ'#Jl'#JlO)(qQUO7+&PPOQQ7+&P7+&POOQQ7+)V7+)VO))iQUO7+)VO)*oQVO7+)VOOQQ,5>m,5>mO$)YQVO'#JsO)*vQUO,5@rOOQQ1G/S1G/SOOQQ7+${7+${O)+RQUO7+(RO)+WQUO7+(ROOQR7+(R7+(RO$>uQUO7+(ROOQQ7+%u7+%uOOQR-E=^-E=^O!0VQUO,5;oOOQQ,5@O,5@OOOQQ-E=b-E=bO$0^QUO1G1hOOQQ1G1h1G1hOOQR7+'Q7+'QOOQR1G1s1G1sOBUQUO,5;rO)+tQUO,5hQUO,5}QUO7+(dO)?SQVO7+(dOOQQ7+(l7+(lOOQQ7+)Z7+)ZO)?[QUO'#KjO)?fQUO'#KjOOQR,5=b,5=bO)?sQUO,5=bO!;bQUO,5=bO!;bQUO,5=bO!;bQUO,5=bOOQR7+(g7+(gOOQR7+(u7+(uOOQR7+(y7+(yOOQR,5=w,5=wO)?xQUO,5=zO)AOQUO,5=yOOQR,5Au,5AuOOQR-E=i-E=iOOQQ1G3b1G3bO)BUQUO,5=xO)BZQVO'#EfOOQQ1G6b1G6bO%)WQUO1G6bO%)]QUO1G6bOOQQ1G0P1G0POOQQ-E=Q-E=QO)DrQUO,5AVO(%iQUO'#JTO)D}QUO,5AVO)D}QUO,5AVO)EVQUO,5:iO8zQUO,5:iOOQQ,5>],5>]O)EaQUO,5AqO)EhQUO'#EVO)FrQUO'#EVO)G]QUO,5:iO)GgQUO'#HlO)GgQUO'#HmOOQQ'#Ko'#KoO)HUQUO'#KoO!(zQVO'#HnOOQQ,5:i,5:iO)HvQUO,5:iO!M_QVO,5:iOOQQ-E=S-E=SOOQQ1G0S1G0SOOQQ,5>`,5>`O)H{QUO1G6bO!(zQVO,5>gO)LjQUO'#JrO)LuQUO,5AxOOQQ1G4Q1G4QO)L}QUO,5AwOOQQ,5Aw,5AwOOQQ7+)i7+)iO*!lQUO7+)iOOQQ7+)o7+)oO*'kQVO1G7hO*)mQUO7+*SO*)rQUO,5?TO**xQUO7+*[POOO7+$S7+$SP*,kQUO'#LfP*,sQUO,5BPP*,x{,UO7+$SPOOO1G7i1G7iO*,}QUO<XQUO7+&jO*?_QVO7+&jOOQQ7+&h7+&hOOQQ,5@Z,5@ZOOQQ-E=m-E=mO*@ZQUO1G1TO*@eQUO1G1TO*AOQUO1G0fOOQQ1G0f1G0fO*BUQUO'#K{O*B^QUO1G1ROOQQ<uQUO<VO)GgQUO'#JpO*NQQUO1G0TO*NcQVO1G0TOOQQ1G3u1G3uO*NjQUO,5>WO*NuQUO,5>XO+ dQUO,5>YO+!jQUO1G0TO%)]QUO7++|O+#pQUO1G4ROOQQ,5@^,5@^OOQQ-E=p-E=pOOQQ<n,5>nO+/iQUOANAXOOQRANAXANAXO+/nQUO7+'`OOQRAN@cAN@cO+0zQVOAN@nO+1RQUOAN@nO!0tQVOAN@nO+2[QUOAN@nO+2aQUOAN@}O+2lQUOAN@}O+3rQUOAN@}OOQRAN@nAN@nO!M_QVOAN@}OOQRANAOANAOO+3wQUO7+'|O)7VQUO7+'|OOQQ7+(O7+(OO+4YQUO7+(OO+5`QVO7+(OO+5gQVO7+'hO+5nQUOANAjOOQR7+(h7+(hOOQR7+)P7+)PO+5sQUO7+)PO+5xQUO7+)POOQQ<= h<= hO+6QQUO7+,]O+6YQUO1G5ZOOQQ1G5Z1G5ZO+6eQUO7+%oOOQQ7+%o7+%oO+6vQUO7+%oO*NcQVO7+%oOOQQ7+)a7+)aO+6{QUO7+%oO+8RQUO7+%oO!M_QVO7+%oO+8]QUO1G0]O*LkQUO1G0]O)EhQUO1G0]OOQQ1G0a1G0aO+8zQUO1G3qO+:QQVO1G3qOOQQ1G3q1G3qO+:[QVO1G3qO+:cQUO,5@[OOQQ-E=n-E=nOOQQ1G3r1G3rO%)WQUO<= hOOQQ7+*Z7+*ZPOQQ,5@b,5@bPOQQ-E=t-E=tOOQQ1G/}1G/}OOQQ,5?x,5?xOOQQ-E=[-E=[OOQRG26sG26sO+:zQUOG26YO!0tQVOG26YO+QQUO<uAN>uO+BpQUOAN>uO+CvQUOAN>uO!M_QVOAN>uO+C{QUO<nQUO'#KZO,?OQUO'#CzO,?^QbO,59dO,6VQUO7+&OO,OP>i>{?aFXMX!&]!,sP!3m!4b!5VP!5qPPPPPPPP!6[P!7tP!9V!:oP!:uPPPPPP!:xP!:xPP!:xPPPPPPPPP!;U!>lP!>oPP!?]!@QPPPPP!@UP>l!AgPP>l!Cn!Eo!E}!Gd!ITP!I`P!Io!Io!MP#!`##v#'S#*^!Eo#*hPP!Eo#*o#*u#*h#*h#*xP#*|#+k#+k#+k#+k!ITP#,U#,g#.|P#/bP#0}P#1R#1Z#2O#2Z#4i#4q#4q#1RP#1RP#4x#5OP#5YPP#5u#6d#7U#5uP#7v#8SP#5uP#5uPP#5u#5uP#5uP#5uP#5uP#5uP#5uP#5uP#8V#5Y#8sP#9YP#9o#9o#9o#9o#9|#1RP#:d#?`#?}PPPPPPPP#@uP#ATP#ATP#Aa#Dn#9OPP#@}#EQP#Ee#Ep#Ev#Ev#@}#FlP#1R#1R#1R#1R#1RP!Io#GW#G_#G_#G_#Gc!Ly#Gm!Ly#Gq!E}!E}!E}#Gt#L^!E}>l>l>l$#V!@Q!@Q!@Q!@Q!@Q!@Q!6[!6[!6[$#jP$%V$%e!6[$%kPP!6[$'y$'|#@l$(P:t7j$+V$-Q$.q$0a7jPP7j$2T7jP7j7jP7jP$5Z7jP7jPP7j$5gPPPPPPPPP*[P$8o$8u$;^$=d$=j$>Q$>[$>g$>v$>|$@[$AZ$Ab$Ai$Ao$Aw$BR$BX$Bd$Bj$Bs$B{$CW$C^$Ch$Cn$Cx$DP$D`$Df$DlP$Dr$Dz$ER$Ea$F}$GT$GZ$Gb$GkPPPPPPPP$Gq$GuPPPPP$Nw$'y$Nz%$S%&[PP%&i%&lPPPPPPPPP%&x%'{%(R%(V%)|%+Z%+|%,T%.d%.jPPP%.t%/P%/S%/Y%0a%0d%0n%0x%0|%2Q%2s%2y#@uP%3d%3t%3w%4X%4e%4i%4o%4u$'y$'|$'|%4x%4{P%5V%5YR#cP'`mO[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#g#i#l#q#r#s#t#u#v#w#x#y#z#{#}$U$W$Y$e$f$k%]%m&Q&S&W&b&f&x&y&|'O'P'b'i'j'y(`(b(i)l)r*h*i*l*q*r*v+W+Y+h+j+k,P,R,n,q,w-]-^-a-g.P.Q.U.}/Q/[/c/l/n/s/u0h0{1Q1a1b1l1p1z1|2c2f2i2u2z2}3i4O4R4W4a5Y5e5q6_6c6f6h6j6t6v6{7b7j7m8e8g8m8s8t9R9V9]9_9l9o9p9{:O:U:W:]:b:fU%om%p7QQ&m!`Q(j#]d0P)}/|/}0O0R4}5O5P5S8QR7Q3Tb}Oaewx{!g&S*q&v$i[!W!X!k!n!r!s!v!x#X#Y#[#g#i#l#q#r#s#t#u#v#w#x#y#z#{#}$U$W$Y$e$f$k%]%m&Q&W&b&f&x&y&|'O'P'b'i'j'y(`(b(i)l)r*h*i*l*r*v+W+Y+h+j+k,P,R,n,q,w-]-^-a-g.P.Q.U.}/Q/[/c/l/n/s/u0{1a1b1l1p1z1|2c2f2i2u2z2}3i4O4R4W4a5Y5e5q6_6c6f6h6j6t6v6{7b7j7m8e8g8m8s8t9R9V9]9_9l9o9p9{:O:U:W:]:b:fS%`f0h#d%jgnp|#O$g$|$}%S%d%h%i%w&s't'u(Q*Y*`*b*t+],l,v-_-p-w.f.m.o0]0y0z1O1S2_2j5a6g;W;X;Y;`;a;b;o;p;q;r;v;w;x;y MacroName LineComment BlockComment PreprocDirective #include String EscapeSequence SystemLibString Identifier ) ( ArgumentList ConditionalExpression AssignmentExpression CallExpression PrimitiveType FieldExpression FieldIdentifier DestructorName TemplateMethod ScopedFieldIdentifier NamespaceIdentifier TemplateType TypeIdentifier ScopedTypeIdentifier ScopedNamespaceIdentifier :: NamespaceIdentifier TypeIdentifier TemplateArgumentList < TypeDescriptor const volatile restrict _Atomic mutable constexpr constinit consteval StructSpecifier struct MsDeclspecModifier __declspec Attribute AttributeName Identifier AttributeArgs { } [ ] UpdateOp ArithOp ArithOp ArithOp LogicOp BitOp BitOp BitOp CompareOp CompareOp CompareOp > CompareOp BitOp UpdateOp , Number CharLiteral AttributeArgs VirtualSpecifier BaseClassClause Access virtual FieldDeclarationList FieldDeclaration extern static register inline thread_local AttributeSpecifier __attribute__ PointerDeclarator MsBasedModifier __based MsPointerModifier FunctionDeclarator ParameterList ParameterDeclaration PointerDeclarator FunctionDeclarator Noexcept noexcept RequiresClause requires True False ParenthesizedExpression CommaExpression LambdaExpression LambdaCaptureSpecifier TemplateParameterList OptionalParameterDeclaration TypeParameterDeclaration typename class VariadicParameterDeclaration VariadicDeclarator ReferenceDeclarator OptionalTypeParameterDeclaration VariadicTypeParameterDeclaration TemplateTemplateParameterDeclaration template AbstractFunctionDeclarator AbstractPointerDeclarator AbstractArrayDeclarator AbstractParenthesizedDeclarator AbstractReferenceDeclarator ThrowSpecifier throw TrailingReturnType CompoundStatement FunctionDefinition MsCallModifier TryStatement try CatchClause catch LinkageSpecification Declaration InitDeclarator InitializerList InitializerPair SubscriptDesignator FieldDesignator ExportDeclaration export ImportDeclaration import ModuleName PartitionName HeaderName CaseStatement case default LabeledStatement StatementIdentifier ExpressionStatement IfStatement if ConditionClause Declaration else SwitchStatement switch DoStatement do while WhileStatement ForStatement for ReturnStatement return BreakStatement break ContinueStatement continue GotoStatement goto CoReturnStatement co_return CoYieldStatement co_yield AttributeStatement ForRangeLoop AliasDeclaration using TypeDefinition typedef PointerDeclarator FunctionDeclarator ArrayDeclarator ParenthesizedDeclarator ThrowStatement NamespaceDefinition namespace ScopedIdentifier Identifier OperatorName operator ArithOp BitOp CompareOp LogicOp new delete co_await ConceptDefinition concept UsingDeclaration enum StaticAssertDeclaration static_assert ConcatenatedString TemplateDeclaration FriendDeclaration friend union FunctionDefinition ExplicitFunctionSpecifier explicit FieldInitializerList FieldInitializer DefaultMethodClause DeleteMethodClause FunctionDefinition OperatorCast operator TemplateInstantiation FunctionDefinition FunctionDefinition Declaration ModuleDeclaration module RequiresExpression RequirementList SimpleRequirement TypeRequirement CompoundRequirement ReturnTypeRequirement ConstraintConjuction LogicOp ConstraintDisjunction LogicOp ArrayDeclarator ParenthesizedDeclarator ReferenceDeclarator TemplateFunction OperatorName StructuredBindingDeclarator ArrayDeclarator ParenthesizedDeclarator ReferenceDeclarator BitfieldClause FunctionDefinition FunctionDefinition Declaration FunctionDefinition Declaration AccessSpecifier UnionSpecifier ClassSpecifier EnumSpecifier SizedTypeSpecifier TypeSize EnumeratorList Enumerator DependentType Decltype decltype auto PlaceholderTypeSpecifier ParameterPackExpansion ParameterPackExpansion FieldIdentifier PointerExpression SubscriptExpression BinaryExpression ArithOp LogicOp LogicOp BitOp UnaryExpression LogicOp BitOp UpdateExpression CastExpression SizeofExpression sizeof CoAwaitExpression CompoundLiteralExpression NULL NewExpression new NewDeclarator DeleteExpression delete ParameterPackExpansion nullptr this UserDefinedLiteral ParamPack #define PreprocArg #if #ifdef #ifndef #else #endif #elif PreprocDirectiveName Macro Program",maxTerm:425,nodeProps:[["group",-35,1,8,11,15,16,17,19,71,72,100,101,102,104,191,208,229,242,243,270,271,272,277,280,281,282,284,285,286,287,290,292,293,294,295,296,"Expression",-13,18,25,26,27,43,255,256,257,258,262,263,265,266,"Type",-19,126,129,147,150,152,153,158,160,163,164,166,168,170,172,174,176,178,179,188,"Statement"],["isolate",-4,4,5,8,10,""],["openedBy",12,"(",52,"{",54,"["],["closedBy",13,")",51,"}",53,"]"]],propSources:[r0],skippedNodes:[0,3,4,5,6,7,10,297,298,299,300,301,302,303,304,305,306,347,348],repeatNodeCount:41,tokenData:"&*r7ZR!UOX$eXY({YZ.gZ]$e]^+P^p$epq({qr.}rs0}st2ktu$euv!7dvw!9bwx!;exy!O{|!?R|}!AV}!O!BQ!O!P!DX!P!Q#+y!Q!R#Az!R![$(x![!]$Ag!]!^$Cc!^!_$D^!_!`%1W!`!a%2X!a!b%5_!b!c$e!c!n%6Y!n!o%7q!o!w%6Y!w!x%7q!x!}%6Y!}#O%:n#O#P%u#Y#]4Y#]#^NZ#^#o4Y#o;'S$e;'S;=`(u<%lO$e4e4eb)]W(qQ'f&j'm.oOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#o4Y#o;'S$e;'S;=`(u<%lO$e4e5xd)]W(qQ'f&j'm.oOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#X4Y#X#Y7W#Y#o4Y#o;'S$e;'S;=`(u<%lO$e4e7cd)]W(qQ'f&j'm.oOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#Y4Y#Y#Z8q#Z#o4Y#o;'S$e;'S;=`(u<%lO$e4e8|d)]W(qQ'f&j'm.oOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#]4Y#]#^:[#^#o4Y#o;'S$e;'S;=`(u<%lO$e4e:gd)]W(qQ'f&j'm.oOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#b4Y#b#c;u#c#o4Y#o;'S$e;'S;=`(u<%lO$e4e][)T,g)]W(qQ%Z!b'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!?`^)]W(qQ%Z!b!Y,g'f&jOY$eZr$ers%^sw$ewx(Ox{$e{|!@[|!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!@gY)]W!X-y(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2a!AbY!h,k)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!B__)]W(qQ%Z!b!Y,g'f&jOY$eZr$ers%^sw$ewx(Ox}$e}!O!@[!O!_$e!_!`!8g!`!a!C^!a#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!CiY(x-y)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2a!Dd^)]W(qQ'f&j(w,gOY$eZr$ers%^sw$ewx(Ox!O$e!O!P!E`!P!Q$e!Q![!GY![#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2a!Ei[)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox!O$e!O!P!F_!P#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2a!FjY)Y,k)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2]!Gen)]W(qQ!i,g'f&jOY$eZr$ers%^sw$ewx!Icx!Q$e!Q![!GY![!g$e!g!h#$w!h!i#*Y!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#X$e#X#Y#$w#Y#Z#*Y#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$e2T!IjY(qQ'f&jOY(OZr(Ors%}s!Q(O!Q![!JY![#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O2T!Jcn(qQ!i,g'f&jOY(OZr(Ors%}sw(Owx!Icx!Q(O!Q![!JY![!g(O!g!h!La!h!i##`!i!n(O!n!o##`!o!r(O!r!s!La!s!w(O!w!x##`!x#O(O#O#P&f#P#X(O#X#Y!La#Y#Z##`#Z#`(O#`#a##`#a#d(O#d#e!La#e#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(O2T!Ljl(qQ!i,g'f&jOY(OZr(Ors%}s{(O{|!Nb|}(O}!O!Nb!O!Q(O!Q![# e![!c(O!c!h# e!h!i# e!i!n(O!n!o##`!o!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#Y# e#Y#Z# e#Z#`(O#`#a##`#a#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(O2T!Ni^(qQ'f&jOY(OZr(Ors%}s!Q(O!Q![# e![!c(O!c!i# e!i#O(O#O#P&f#P#T(O#T#Z# e#Z;'S(O;'S;=`(o<%lO(O2T# nj(qQ!i,g'f&jOY(OZr(Ors%}sw(Owx!Nbx!Q(O!Q![# e![!c(O!c!h# e!h!i# e!i!n(O!n!o##`!o!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#Y# e#Y#Z# e#Z#`(O#`#a##`#a#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(O2T##id(qQ!i,g'f&jOY(OZr(Ors%}s!h(O!h!i##`!i!n(O!n!o##`!o!w(O!w!x##`!x#O(O#O#P&f#P#Y(O#Y#Z##`#Z#`(O#`#a##`#a#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(O2]#%Sn)]W(qQ!i,g'f&jOY$eZr$ers%^sw$ewx(Ox{$e{|#'Q|}$e}!O#'Q!O!Q$e!Q![#(]![!c$e!c!h#(]!h!i#(]!i!n$e!n!o#*Y!o!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#Y#(]#Y#Z#(]#Z#`$e#`#a#*Y#a#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$e2]#'Z`)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![#(]![!c$e!c!i#(]!i#O$e#O#P&f#P#T$e#T#Z#(]#Z;'S$e;'S;=`(u<%lO$e2]#(hj)]W(qQ!i,g'f&jOY$eZr$ers%^sw$ewx!Nbx!Q$e!Q![#(]![!c$e!c!h#(]!h!i#(]!i!n$e!n!o#*Y!o!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#Y#(]#Y#Z#(]#Z#`$e#`#a#*Y#a#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$e2]#*ef)]W(qQ!i,g'f&jOY$eZr$ers%^sw$ewx(Ox!h$e!h!i#*Y!i!n$e!n!o#*Y!o!w$e!w!x#*Y!x#O$e#O#P&f#P#Y$e#Y#Z#*Y#Z#`$e#`#a#*Y#a#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$e7Z#,W`)]W(qQ%Z!b![,g'f&jOY$eZr$ers%^sw$ewx(Oxz$ez{#-Y{!P$e!P!Q#:s!Q!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z#-c])]W(qQ'f&jOY#-YYZ#.[Zr#-Yrs#/csw#-Ywx#5wxz#-Yz{#8j{#O#-Y#O#P#2`#P;'S#-Y;'S;=`#:m<%lO#-Y1e#._TOz#.[z{#.n{;'S#.[;'S;=`#/]<%lO#.[1e#.qVOz#.[z{#.n{!P#.[!P!Q#/W!Q;'S#.[;'S;=`#/]<%lO#.[1e#/]OT1e1e#/`P;=`<%l#.[7X#/jZ)]W'f&jOY#/cYZ#.[Zw#/cwx#0]xz#/cz{#4O{#O#/c#O#P#2`#P;'S#/c;'S;=`#5q<%lO#/c7P#0bX'f&jOY#0]YZ#.[Zz#0]z{#0}{#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#1SZ'f&jOY#0]YZ#.[Zz#0]z{#0}{!P#0]!P!Q#1u!Q#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#1|UT1e'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}7P#2eZ'f&jOY#0]YZ#0]Z]#0]]^#3W^z#0]z{#0}{#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#3]X'f&jOY#0]YZ#0]Zz#0]z{#0}{#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#3{P;=`<%l#0]7X#4V])]W'f&jOY#/cYZ#.[Zw#/cwx#0]xz#/cz{#4O{!P#/c!P!Q#5O!Q#O#/c#O#P#2`#P;'S#/c;'S;=`#5q<%lO#/c7X#5XW)]WT1e'f&jOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^7X#5tP;=`<%l#/c7R#6OZ(qQ'f&jOY#5wYZ#.[Zr#5wrs#0]sz#5wz{#6q{#O#5w#O#P#2`#P;'S#5w;'S;=`#8d<%lO#5w7R#6x](qQ'f&jOY#5wYZ#.[Zr#5wrs#0]sz#5wz{#6q{!P#5w!P!Q#7q!Q#O#5w#O#P#2`#P;'S#5w;'S;=`#8d<%lO#5w7R#7zW(qQT1e'f&jOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O7R#8gP;=`<%l#5w7Z#8s_)]W(qQ'f&jOY#-YYZ#.[Zr#-Yrs#/csw#-Ywx#5wxz#-Yz{#8j{!P#-Y!P!Q#9r!Q#O#-Y#O#P#2`#P;'S#-Y;'S;=`#:m<%lO#-Y7Z#9}Y)]W(qQT1e'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z#:pP;=`<%l#-Y7Z#;OY)]W(qQS1e'f&jOY#:sZr#:srs#;nsw#:swx#@{x#O#:s#O#P#[<%lO#b#P;'S#[<%lO#[<%lO#_P;=`<%l#i]S1e'f&jOY#b#P#b#[<%lO#[<%lO#b#P#b#[<%lO#t!R![$2V![!c$e!c!i$2V!i#O$e#O#P&f#P#T$e#T#Z$2V#Z;'S$e;'S;=`(u<%lO$e2]$?Pv)]W(qQ!i,g'f&jOY$eZr$ers%^sw$ewx$4lx!O$e!O!P$ m!P!Q$e!Q![$2V![!c$e!c!g$2V!g!h$:p!h!i$2V!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#U$2V#U#V$2V#V#X$2V#X#Y$:p#Y#Z$2V#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j#l$e#l#m$0z#m;'S$e;'S;=`(u<%lO$e4e$Ar[(v-X)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox![$e![!]$Bh!]#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3s$BsYm-})]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2]$CnY)X,g)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7V$Dk_q,g%]!b)]W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!^$Ej!^!_%+w!_!`%.U!`!a%0]!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej*[$Es])]W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!`$Ej!`!a%*t!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ejp$FoTO!`$Fl!`!a$GO!a;'S$Fl;'S;=`$GT<%lO$Flp$GTO$Wpp$GWP;=`<%l$Fl*Y$GbZ)]W'f&jOY$GZYZ$FlZw$GZwx$HTx!`$GZ!`!a%(U!a#O$GZ#O#P$Ib#P;'S$GZ;'S;=`%(y<%lO$GZ*Q$HYX'f&jOY$HTYZ$FlZ!`$HT!`!a$Hu!a#O$HT#O#P$Ib#P;'S$HT;'S;=`$Mx<%lO$HT*Q$IOU$WpY#t'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}*Q$Ig['f&jOY$HTYZ$HTZ]$HT]^$J]^!`$HT!`!a$NO!a#O$HT#O#P%&n#P;'S$HT;'S;=`%'f;=`<%l%$z<%lO$HT*Q$JbX'f&jOY$HTYZ$J}Z!`$HT!`!a$Hu!a#O$HT#O#P$Ib#P;'S$HT;'S;=`$Mx<%lO$HT'[$KSX'f&jOY$J}YZ$FlZ!`$J}!`!a$Ko!a#O$J}#O#P$LY#P;'S$J};'S;=`$Mr<%lO$J}'[$KvU$Wp'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}'[$L_Z'f&jOY$J}YZ$J}Z]$J}]^$MQ^!`$J}!`!a$Ko!a#O$J}#O#P$LY#P;'S$J};'S;=`$Mr<%lO$J}'[$MVX'f&jOY$J}YZ$J}Z!`$J}!`!a$Ko!a#O$J}#O#P$LY#P;'S$J};'S;=`$Mr<%lO$J}'[$MuP;=`<%l$J}*Q$M{P;=`<%l$HT*Q$NVW$Wp'f&jOY$NoZ!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`$NtW'f&jOY$NoZ!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`% eUY#t'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%})`% |Y'f&jOY$NoYZ$NoZ]$No]^%!l^#O$No#O#P%#d#P;'S$No;'S;=`%$[;=`<%l%$z<%lO$No)`%!qX'f&jOY$NoYZ%}Z!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`%#aP;=`<%l$No)`%#iZ'f&jOY$NoYZ%}Z]$No]^%!l^!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`%$_XOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h;=`<%l$No<%lO%$z#t%$}WOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h<%lO%$z#t%%lOY#t#t%%oRO;'S%$z;'S;=`%%x;=`O%$z#t%%{XOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h;=`<%l%$z<%lO%$z#t%&kP;=`<%l%$z*Q%&sZ'f&jOY$HTYZ$J}Z]$HT]^$J]^!`$HT!`!a$Hu!a#O$HT#O#P$Ib#P;'S$HT;'S;=`$Mx<%lO$HT*Q%'iXOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h;=`<%l$HT<%lO%$z*Y%(aW$WpY#t)]W'f&jOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^*Y%(|P;=`<%l$GZ*S%)WZ(qQ'f&jOY%)PYZ$FlZr%)Prs$HTs!`%)P!`!a%)y!a#O%)P#O#P$Ib#P;'S%)P;'S;=`%*n<%lO%)P*S%*UW$WpY#t(qQ'f&jOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O*S%*qP;=`<%l%)P*[%+RY$WpY#t)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e*[%+tP;=`<%l$Ej7V%,U^)]W(qQ%[!b!f,g'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!_$Ej!_!`%-Q!`!a%*t!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej7V%-]]!g-y)]W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!`$Ej!`!a%*t!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej7V%.c]%]!b!b,g)]W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!`$Ej!`!a%/[!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej7V%/mY%]!b!b,g$WpY#t)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e)j%0hYY#t)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%1c[)j!c)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`0Q!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%2f]%]!b)]W(qQ!d,g'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`%3_!`!a%4[!a#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%3lY%]!b!b,g)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%4i[)]W(qQ%[!b!f,g'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e&u%5jY(uP)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z%6ib)]W(yS(qQ!R,f(r%y'f&jOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![%6Y![!c$e!c!}%6Y!}#O$e#O#P&f#P#R$e#R#S%6Y#S#T$e#T#o%6Y#o;'S$e;'S;=`(u<%lO$e7Z%8Qb)]W(yS(qQ!R,f(r%y'f&jOY$eZr$ers%9Ysw$ewx%9{x!Q$e!Q![%6Y![!c$e!c!}%6Y!}#O$e#O#P&f#P#R$e#R#S%6Y#S#T$e#T#o%6Y#o;'S$e;'S;=`(u<%lO$e5P%9cW)]W(p/]'f&jOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^2T%:UW(qQ)[,g'f&jOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O3o%:yZ!V-y)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox!}$e!}#O%;l#O#P&f#P;'S$e;'S;=`(u<%lO$e&u%;wY)QP)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e4e%[Z]%=q]^%?Z^!Q%=q!Q![%?w![!w%=q!w!x%AX!x#O%=q#O#P%H_#P#i%=q#i#j%Ds#j#l%=q#l#m%IR#m;'S%=q;'S;=`%Kt<%lO%=q&t%=xUXY'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}4e%>e[XY(n.o'f&jOX%}XY-OYZ*[Z]%}]^-O^p%}pq-Oq#O%}#O#P,^#P;'S%};'S;=`'r<%lO%}4e%?bVXY'f&jOY%}YZ-OZ#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%@OWXY'f&jOY%}Z!Q%}!Q![%@h![#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%@oWXY'f&jOY%}Z!Q%}!Q![%=q![#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%A^['f&jOY%}Z!Q%}!Q![%BS![!c%}!c!i%BS!i#O%}#O#P&f#P#T%}#T#Z%BS#Z;'S%};'S;=`'r<%lO%}&t%BX['f&jOY%}Z!Q%}!Q![%B}![!c%}!c!i%B}!i#O%}#O#P&f#P#T%}#T#Z%B}#Z;'S%};'S;=`'r<%lO%}&t%CS['f&jOY%}Z!Q%}!Q![%Cx![!c%}!c!i%Cx!i#O%}#O#P&f#P#T%}#T#Z%Cx#Z;'S%};'S;=`'r<%lO%}&t%C}['f&jOY%}Z!Q%}!Q![%Ds![!c%}!c!i%Ds!i#O%}#O#P&f#P#T%}#T#Z%Ds#Z;'S%};'S;=`'r<%lO%}&t%Dx['f&jOY%}Z!Q%}!Q![%En![!c%}!c!i%En!i#O%}#O#P&f#P#T%}#T#Z%En#Z;'S%};'S;=`'r<%lO%}&t%Es['f&jOY%}Z!Q%}!Q![%Fi![!c%}!c!i%Fi!i#O%}#O#P&f#P#T%}#T#Z%Fi#Z;'S%};'S;=`'r<%lO%}&t%Fn['f&jOY%}Z!Q%}!Q![%Gd![!c%}!c!i%Gd!i#O%}#O#P&f#P#T%}#T#Z%Gd#Z;'S%};'S;=`'r<%lO%}&t%Gi['f&jOY%}Z!Q%}!Q![%=q![!c%}!c!i%=q!i#O%}#O#P&f#P#T%}#T#Z%=q#Z;'S%};'S;=`'r<%lO%}&t%HfXXY'f&jOY%}YZ%}Z]%}]^'W^#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%IW['f&jOY%}Z!Q%}!Q![%I|![!c%}!c!i%I|!i#O%}#O#P&f#P#T%}#T#Z%I|#Z;'S%};'S;=`'r<%lO%}&t%JR['f&jOY%}Z!Q%}!Q![%Jw![!c%}!c!i%Jw!i#O%}#O#P&f#P#T%}#T#Z%Jw#Z;'S%};'S;=`'r<%lO%}&t%KO[XY'f&jOY%}Z!Q%}!Q![%Jw![!c%}!c!i%Jw!i#O%}#O#P&f#P#T%}#T#Z%Jw#Z;'S%};'S;=`'r<%lO%}&t%KwP;=`<%l%=q2a%LVZ!W,V)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P#Q%Lx#Q;'S$e;'S;=`(u<%lO$e'Y%MTY)Pd)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%NQ[)]W(qQ%[!b'f&j!_,gOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z& Vd)]W(yS(qQ!R,f(r%y'f&jOY$eZr$ers%9Ysw$ewx%9{x!Q$e!Q!Y%6Y!Y!Z%7q!Z![%6Y![!c$e!c!}%6Y!}#O$e#O#P&f#P#R$e#R#S%6Y#S#T$e#T#o%6Y#o;'S$e;'S;=`(u<%lO$e2]&!pY!T,g)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o&#m^)]W(qQ%[!b'f&j!^,gOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P#p$e#p#q&$i#q;'S$e;'S;=`(u<%lO$e3o&$vY)U,g%^!b)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e'V&%qY!Ua)]W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e(]&&nc)]W(qQ%[!b'RP'f&jOX$eXY&'yZp$epq&'yqr$ers%^sw$ewx(Ox!c$e!c!}&)_!}#O$e#O#P&f#P#R$e#R#S&)_#S#T$e#T#o&)_#o;'S$e;'S;=`(u<%lO$e&y&(Sc)]W(qQ'f&jOX$eXY&'yZp$epq&'yqr$ers%^sw$ewx(Ox!c$e!c!}&)_!}#O$e#O#P&f#P#R$e#R#S&)_#S#T$e#T#o&)_#o;'S$e;'S;=`(u<%lO$e&y&)jb)]W(qQeT'f&jOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![&)_![!c$e!c!}&)_!}#O$e#O#P&f#P#R$e#R#S&)_#S#T$e#T#o&)_#o;'S$e;'S;=`(u<%lO$e",tokenizers:[O0,i0,0,1,2,3,4,5,6,7,8,9],topRules:{Program:[0,307]},dynamicPrecedences:{87:1,94:1,119:1,184:1,187:-10,240:-10,241:1,244:-1,246:-10,247:1,262:-1,267:2,268:2,306:-10,365:3,417:1,418:3,419:1,420:1},specialized:[{term:356,get:O=>n0[O]||-1},{term:33,get:O=>s0[O]||-1},{term:66,get:O=>o0[O]||-1},{term:363,get:O=>a0[O]||-1}],tokenPrec:24891});var l0=ae.define({name:"cpp",parser:NQ.configure({props:[le.add({IfStatement:ce({except:/^\s*({|else\b)/}),TryStatement:ce({except:/^\s*({|catch)\b/}),LabeledStatement:iO,CaseStatement:O=>O.baseIndent+O.unit,BlockComment:()=>null,CompoundStatement:xe({closing:"}"}),Statement:ce({except:/^{/})}),ne.add({"DeclarationList CompoundStatement EnumeratorList FieldDeclarationList InitializerList":me,BlockComment(O){return{from:O.from+2,to:O.to-2}}})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\})$/,closeBrackets:{stringPrefixes:["L","u","U","u8","LR","UR","uR","u8R","R"]}}});function FQ(){return new Oe(l0)}var h0=122,HQ=1,c0=123,f0=124,JQ=2,u0=125,d0=3,Q0=4,ep=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],p0=58,$0=40,tp=95,m0=91,us=45,g0=46,S0=35,P0=37,y0=38,X0=92,x0=10,b0=42;function pr(O){return O>=65&&O<=90||O>=97&&O<=122||O>=161}function wl(O){return O>=48&&O<=57}function KQ(O){return wl(O)||O>=97&&O<=102||O>=65&&O<=70}var Op=(O,e,t)=>(i,r)=>{for(let n=!1,s=0,o=0;;o++){let{next:a}=i;if(pr(a)||a==us||a==tp||n&&wl(a))!n&&(a!=us||o>0)&&(n=!0),s===o&&a==us&&s++,i.advance();else if(a==X0&&i.peek(1)!=x0){if(i.advance(),KQ(i.next)){do i.advance();while(KQ(i.next));i.next==32&&i.advance()}else i.next>-1&&i.advance();n=!0}else{n&&i.acceptToken(s==2&&r.canShift(JQ)?e:a==$0?t:O);break}}},T0=new U(Op(c0,JQ,f0)),k0=new U(Op(u0,d0,Q0)),w0=new U(O=>{if(ep.includes(O.peek(-1))){let{next:e}=O;(pr(e)||e==tp||e==S0||e==g0||e==b0||e==m0||e==p0&&pr(O.peek(1))||e==us||e==y0)&&O.acceptToken(h0)}}),v0=new U(O=>{if(!ep.includes(O.peek(-1))){let{next:e}=O;if(e==P0&&(O.advance(),O.acceptToken(HQ)),pr(e)){do O.advance();while(pr(O.next)||wl(O.next));O.acceptToken(HQ)}}}),q0=H({"AtKeyword import charset namespace keyframes media supports":u.definitionKeyword,"from to selector":u.keyword,NamespaceName:u.namespace,KeyframeName:u.labelName,KeyframeRangeName:u.operatorKeyword,TagName:u.tagName,ClassName:u.className,PseudoClassName:u.constant(u.className),IdName:u.labelName,"FeatureName PropertyName":u.propertyName,AttributeName:u.attributeName,NumberLiteral:u.number,KeywordQuery:u.keyword,UnaryQueryOp:u.operatorKeyword,"CallTag ValueName":u.atom,VariableName:u.variableName,Callee:u.operatorKeyword,Unit:u.unit,"UniversalSelector NestingSelector":u.definitionOperator,"MatchOp CompareOp":u.compareOperator,"ChildOp SiblingOp, LogicOp":u.logicOperator,BinOp:u.arithmeticOperator,Important:u.modifier,Comment:u.blockComment,ColorLiteral:u.color,"ParenthesizedContent StringLiteral":u.string,":":u.punctuation,"PseudoOp #":u.derefOperator,"; ,":u.separator,"( )":u.paren,"[ ]":u.squareBracket,"{ }":u.brace}),R0={__proto__:null,lang:38,"nth-child":38,"nth-last-child":38,"nth-of-type":38,"nth-last-of-type":38,dir:38,"host-context":38,if:84,url:124,"url-prefix":124,domain:124,regexp:124},z0={__proto__:null,or:98,and:98,not:106,only:106,layer:170},Y0={__proto__:null,selector:112,layer:166},W0={__proto__:null,"@import":162,"@media":174,"@charset":178,"@namespace":182,"@keyframes":188,"@supports":200,"@scope":204},Z0={__proto__:null,to:207},ip=se.deserialize({version:14,states:"EbQYQdOOO#qQdOOP#xO`OOOOQP'#Cf'#CfOOQP'#Ce'#CeO#}QdO'#ChO$nQaO'#CcO$xQdO'#CkO%TQdO'#DpO%YQdO'#DrO%_QdO'#DuO%_QdO'#DxOOQP'#FV'#FVO&eQhO'#EhOOQS'#FU'#FUOOQS'#Ek'#EkQYQdOOO&lQdO'#EOO&PQhO'#EUO&lQdO'#EWO'aQdO'#EYO'lQdO'#E]O'tQhO'#EcO(VQdO'#EeO(bQaO'#CfO)VQ`O'#D{O)[Q`O'#F`O)gQdO'#F`QOQ`OOP)qO&jO'#CaPOOO)C@t)C@tOOQP'#Cj'#CjOOQP,59S,59SO#}QdO,59SO)|QdO,59VO%TQdO,5:[O%YQdO,5:^O%_QdO,5:aO%_QdO,5:cO%_QdO,5:dO%_QdO'#ErO*XQ`O,58}O*aQdO'#DzOOQS,58},58}OOQP'#Cn'#CnOOQO'#Dn'#DnOOQP,59V,59VO*hQ`O,59VO*mQ`O,59VOOQP'#Dq'#DqOOQP,5:[,5:[OOQO'#Ds'#DsO*rQpO,5:^O+]QaO,5:aO+sQaO,5:dOOQW'#DZ'#DZO,ZQhO'#DdO,xQhO'#FaO'tQhO'#DbO-WQ`O'#DhOOQW'#F['#F[O-]Q`O,5;SO-eQ`O'#DeOOQS-E8i-E8iOOQ['#Cs'#CsO-jQdO'#CtO.QQdO'#CzO.hQdO'#C}O/OQ!pO'#DPO1RQ!jO,5:jOOQO'#DU'#DUO*mQ`O'#DTO1cQ!nO'#FXO3`Q`O'#DVO3eQ`O'#DkOOQ['#FX'#FXO-`Q`O,5:pO3jQ!bO,5:rOOQS'#E['#E[O3rQ`O,5:tO3wQdO,5:tOOQO'#E_'#E_O4PQ`O,5:wO4UQhO,5:}O%_QdO'#DgOOQS,5;P,5;PO-eQ`O,5;PO4^QdO,5;PO4fQdO,5:gO4vQdO'#EtO5TQ`O,5;zO5TQ`O,5;zPOOO'#Ej'#EjP5`O&jO,58{POOO,58{,58{OOQP1G.n1G.nOOQP1G.q1G.qO*hQ`O1G.qO*mQ`O1G.qOOQP1G/v1G/vO5kQpO1G/xO5sQaO1G/{O6ZQaO1G/}O6qQaO1G0OO7XQaO,5;^OOQO-E8p-E8pOOQS1G.i1G.iO7cQ`O,5:fO7hQdO'#DoO7oQdO'#CrOOQP1G/x1G/xO&lQdO1G/xO7vQ!jO'#DZO8UQ!bO,59vO8^QhO,5:OOOQO'#F]'#F]O8XQ!bO,59zO'tQhO,59xO8fQhO'#EvO8sQ`O,5;{O9OQhO,59|O9uQhO'#DiOOQW,5:S,5:SOOQS1G0n1G0nOOQW,5:P,5:PO9|Q!fO'#FYOOQS'#FY'#FYOOQS'#Em'#EmO;^QdO,59`OOQ[,59`,59`O;tQdO,59fOOQ[,59f,59fO<[QdO,59iOOQ[,59i,59iOOQ[,59k,59kO&lQdO,59mOPQ!fO1G0ROOQO1G0R1G0ROOQO,5;`,5;`O>gQdO,5;`OOQO-E8r-E8rO>tQ`O1G1fPOOO-E8h-E8hPOOO1G.g1G.gOOQP7+$]7+$]OOQP7+%d7+%dO&lQdO7+%dOOQS1G0Q1G0QO?PQaO'#F_O?ZQ`O,5:ZO?`Q!fO'#ElO@^QdO'#FWO@hQ`O,59^O@mQ!bO7+%dO&lQdO1G/bO@uQhO1G/fOOQW1G/j1G/jOOQW1G/d1G/dOAWQhO,5;bOOQO-E8t-E8tOAfQhO'#DZOAtQhO'#F^OBPQ`O'#F^OBUQ`O,5:TOOQS-E8k-E8kOOQ[1G.z1G.zOOQ[1G/Q1G/QOOQ[1G/T1G/TOOQ[1G/X1G/XOBZQdO,5:lOOQS7+%p7+%pOB`Q`O7+%pOBeQhO'#DYOBmQ`O,59sO'tQhO,59sOOQ[1G/q1G/qOBuQ`O1G/qOOQS7+%z7+%zOBzQbO'#DPOOQO'#Eb'#EbOCYQ`O'#EaOOQO'#Ea'#EaOCeQ`O'#EwOCmQdO,5:zOOQS,5:z,5:zOOQ[1G/m1G/mOOQS7+&V7+&VO-`Q`O7+&VOCxQ!fO'#EsO&lQdO'#EsOEPQdO7+%mOOQO7+%m7+%mOOQO1G0z1G0zOEdQ!bO<jAN>jOIUQaO,5;]OOQO-E8o-E8oOI`QdO,5;[OOQO-E8n-E8nOOQW<WO&lQdO1G0uOK]Q`O7+'OOOQO,5;a,5;aOOQO-E8s-E8sOOQW<t}!O?V!O!P?t!P!Q@]!Q![AU![!]BP!]!^B{!^!_C^!_!`DY!`!aDm!a!b$q!b!cEn!c!}$q!}#OG{#O#P$q#P#QH^#Q#R6W#R#o$q#o#pHo#p#q6W#q#rIQ#r#sIc#s#y$q#y#z%i#z$f$q$f$g%i$g#BY$q#BY#BZ%i#BZ$IS$q$IS$I_%i$I_$I|$q$I|$JO%i$JO$JT$q$JT$JU%i$JU$KV$q$KV$KW%i$KW&FU$q&FU&FV%i&FV;'S$q;'S;=`Iz<%lO$q`$tSOy%Qz;'S%Q;'S;=`%c<%lO%Q`%VS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q`%fP;=`<%l%Q~%nh#s~OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Q~'ah#s~!a`OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Qj)OUOy%Qz#]%Q#]#^)b#^;'S%Q;'S;=`%c<%lO%Qj)gU!a`Oy%Qz#a%Q#a#b)y#b;'S%Q;'S;=`%c<%lO%Qj*OU!a`Oy%Qz#d%Q#d#e*b#e;'S%Q;'S;=`%c<%lO%Qj*gU!a`Oy%Qz#c%Q#c#d*y#d;'S%Q;'S;=`%c<%lO%Qj+OU!a`Oy%Qz#f%Q#f#g+b#g;'S%Q;'S;=`%c<%lO%Qj+gU!a`Oy%Qz#h%Q#h#i+y#i;'S%Q;'S;=`%c<%lO%Qj,OU!a`Oy%Qz#T%Q#T#U,b#U;'S%Q;'S;=`%c<%lO%Qj,gU!a`Oy%Qz#b%Q#b#c,y#c;'S%Q;'S;=`%c<%lO%Qj-OU!a`Oy%Qz#h%Q#h#i-b#i;'S%Q;'S;=`%c<%lO%Qj-iS!qY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q~-xWOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c<%lO-u~.gOt~~.jRO;'S-u;'S;=`.s;=`O-u~.vXOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c;=`<%l-u<%lO-u~/fP;=`<%l-uj/nYjYOy%Qz!Q%Q!Q![0^![!c%Q!c!i0^!i#T%Q#T#Z0^#Z;'S%Q;'S;=`%c<%lO%Qj0cY!a`Oy%Qz!Q%Q!Q![1R![!c%Q!c!i1R!i#T%Q#T#Z1R#Z;'S%Q;'S;=`%c<%lO%Qj1WY!a`Oy%Qz!Q%Q!Q![1v![!c%Q!c!i1v!i#T%Q#T#Z1v#Z;'S%Q;'S;=`%c<%lO%Qj1}YrY!a`Oy%Qz!Q%Q!Q![2m![!c%Q!c!i2m!i#T%Q#T#Z2m#Z;'S%Q;'S;=`%c<%lO%Qj2tYrY!a`Oy%Qz!Q%Q!Q![3d![!c%Q!c!i3d!i#T%Q#T#Z3d#Z;'S%Q;'S;=`%c<%lO%Qj3iY!a`Oy%Qz!Q%Q!Q![4X![!c%Q!c!i4X!i#T%Q#T#Z4X#Z;'S%Q;'S;=`%c<%lO%Qj4`YrY!a`Oy%Qz!Q%Q!Q![5O![!c%Q!c!i5O!i#T%Q#T#Z5O#Z;'S%Q;'S;=`%c<%lO%Qj5TY!a`Oy%Qz!Q%Q!Q![5s![!c%Q!c!i5s!i#T%Q#T#Z5s#Z;'S%Q;'S;=`%c<%lO%Qj5zSrY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qd6ZUOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qd6tS!hS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qb7VSZQOy%Qz;'S%Q;'S;=`%c<%lO%Q~7fWOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z<%lO7c~8RRO;'S7c;'S;=`8[;=`O7c~8_XOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z;=`<%l7c<%lO7c~8}P;=`<%l7cj9VSeYOy%Qz;'S%Q;'S;=`%c<%lO%Q~9hOd~n9oUWQvWOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qj:YWvW!mQOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj:wU!a`Oy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Qj;bY!a`#}YOy%Qz!Q%Q!Q![;Z![!g%Q!g!hO[!a`#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!hyS!^YOy%Qz;'S%Q;'S;=`%c<%lO%Qj?[WvWOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj?yU]YOy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Q~@bTvWOy%Qz{@q{;'S%Q;'S;=`%c<%lO%Q~@xS!a`#t~Oy%Qz;'S%Q;'S;=`%c<%lO%QjAZ[#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!hR0[O]||-1},{term:125,get:O=>z0[O]||-1},{term:4,get:O=>Y0[O]||-1},{term:25,get:O=>W0[O]||-1},{term:123,get:O=>Z0[O]||-1}],tokenPrec:1963});var vl=null;function ql(){if(!vl&&typeof document=="object"&&document.body){let{style:O}=document.body,e=[],t=new Set;for(let i in O)i!="cssText"&&i!="cssFloat"&&typeof O[i]=="string"&&(/[A-Z]/.test(i)&&(i=i.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(i)||(e.push(i),t.add(i)));vl=e.sort().map(i=>({type:"property",label:i,apply:i+": "}))}return vl||[]}var rp=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(O=>({type:"class",label:O})),np=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(O=>({type:"keyword",label:O})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(O=>({type:"constant",label:O}))),V0=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(O=>({type:"type",label:O})),U0=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(O=>({type:"keyword",label:O})),Vt=/^(\w[\w-]*|-\w[\w-]*|)$/,_0=/^-(-[\w-]*)?$/;function j0(O,e){var t;if((O.name=="("||O.type.isError)&&(O=O.parent||O),O.name!="ArgList")return!1;let i=(t=O.parent)===null||t===void 0?void 0:t.firstChild;return i?.name!="Callee"?!1:e.sliceString(i.from,i.to)=="var"}var sp=new Xt,C0=["Declaration"];function G0(O){for(let e=O;;){if(e.type.isTop)return e;if(!(e=e.parent))return O}}function op(O,e,t){if(e.to-e.from>4096){let i=sp.get(e);if(i)return i;let r=[],n=new Set,s=e.cursor(A.IncludeAnonymous);if(s.firstChild())do for(let o of op(O,s.node,t))n.has(o.label)||(n.add(o.label),r.push(o));while(s.nextSibling());return sp.set(e,r),r}else{let i=[],r=new Set;return e.cursor().iterate(n=>{var s;if(t(n)&&n.matchContext(C0)&&((s=n.node.nextSibling)===null||s===void 0?void 0:s.name)==":"){let o=O.sliceString(n.from,n.to);r.has(o)||(r.add(o),i.push({label:o,type:"variable"}))}}),i}}var E0=O=>e=>{let{state:t,pos:i}=e,r=j(t).resolveInner(i,-1),n=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(n||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:ql(),validFor:Vt};if(r.name=="ValueName")return{from:r.from,options:np,validFor:Vt};if(r.name=="PseudoClassName")return{from:r.from,options:rp,validFor:Vt};if(O(r)||(e.explicit||n)&&j0(r,t.doc))return{from:O(r)||n?r.from:i,options:op(t.doc,G0(r),O),validFor:_0};if(r.name=="TagName"){for(let{parent:a}=r;a;a=a.parent)if(a.name=="Block")return{from:r.from,options:ql(),validFor:Vt};return{from:r.from,options:V0,validFor:Vt}}if(r.name=="AtKeyword")return{from:r.from,options:U0,validFor:Vt};if(!e.explicit)return null;let s=r.resolve(i),o=s.childBefore(i);return o&&o.name==":"&&s.name=="PseudoClassSelector"?{from:i,options:rp,validFor:Vt}:o&&o.name==":"&&s.name=="Declaration"||s.name=="ArgList"?{from:i,options:np,validFor:Vt}:s.name=="Block"||s.name=="Styles"?{from:i,options:ql(),validFor:Vt}:null},A0=E0(O=>O.name=="VariableName"),$r=ae.define({name:"css",parser:ip.configure({props:[le.add({Declaration:ce()}),ne.add({"Block KeyframeList":me})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function ds(){return new Oe($r,$r.data.of({autocomplete:A0}))}var L0=177,M0=179,D0=184,I0=12,B0=13,N0=17,F0=20,H0=25,K0=53,J0=95,ex=142,tx=144,Ox=145,ix=148,rx=10,nx=13,sx=32,ox=9,ap=47,ax=41,lx=125,hx=new U((O,e)=>{for(let t=0,i=O.next;(e.context&&(i<0||i==rx||i==nx||i==ap&&O.peek(t+1)==ap)||i==ax||i==lx)&&O.acceptToken(L0),!(i!=sx&&i!=ox);)i=O.peek(++t)},{contextual:!0}),cx=new Set([J0,D0,F0,I0,N0,tx,Ox,ex,ix,B0,K0,H0]),fx=new Ge({start:!1,shift:(O,e)=>e==M0?O:cx.has(e)}),ux=H({"func interface struct chan map const type var":u.definitionKeyword,"import package":u.moduleKeyword,"switch for go select return break continue goto fallthrough case if else defer":u.controlKeyword,range:u.keyword,Bool:u.bool,String:u.string,Rune:u.character,Number:u.number,Nil:u.null,VariableName:u.variableName,DefName:u.definition(u.variableName),TypeName:u.typeName,LabelName:u.labelName,FieldName:u.propertyName,"FunctionDecl/DefName":u.function(u.definition(u.variableName)),"TypeSpec/DefName":u.definition(u.typeName),"CallExpr/VariableName":u.function(u.variableName),LineComment:u.lineComment,BlockComment:u.blockComment,LogicOp:u.logicOperator,ArithOp:u.arithmeticOperator,BitOp:u.bitwiseOperator,"DerefOp .":u.derefOperator,"UpdateOp IncDecOp":u.updateOperator,CompareOp:u.compareOperator,"= :=":u.definitionOperator,"<-":u.operator,'~ "*"':u.modifier,"; ,":u.separator,"... :":u.punctuation,"( )":u.paren,"[ ]":u.squareBracket,"{ }":u.brace}),dx={__proto__:null,package:10,import:18,true:380,false:380,nil:383,struct:48,func:68,interface:78,chan:94,map:118,make:157,new:159,const:204,type:212,var:224,if:236,else:238,switch:242,case:248,default:250,for:260,range:266,go:270,select:274,return:284,break:288,continue:290,goto:292,fallthrough:296,defer:300},lp=se.deserialize({version:14,states:"!=xO#{QQOOP$SOQOOO&UQTO'#CbO&]QRO'#FlO]QQOOOOQP'#Cn'#CnOOQP'#Co'#CoO&eQQO'#C|O(kQQO'#C{O)]QRO'#GiO+tQQO'#D_OOQP'#Ge'#GeO+{QQO'#GeO.aQTO'#GaO.hQQO'#D`OOQP'#Gm'#GmO.mQRO'#GdO/hQQO'#DgOOQP'#Gd'#GdO/uQQO'#DrO2bQQO'#DsO4QQTO'#GqO,^QTO'#GaO4XQQO'#DxO4^QQO'#D{OOQO'#EQ'#EQOOQO'#ER'#EROOQO'#ES'#ESOOQO'#ET'#ETO4cQQO'#EPO5}QQO'#EPOOQP'#Ga'#GaO6UQQO'#E`O6^QQO'#EcOOQP'#G`'#G`O6cQQO'#EsOOQP'#G_'#G_O&]QRO'#FnOOQO'#Fn'#FnO9QQQO'#G^QOQQOOO&]QROOO9XQQO'#C`O9^QSO'#CdO9lQQO'#C}O9tQQO'#DSO9yQQO'#D[O:kQQO'#CsO:pQQO'#DhO:uQQO'#EeO:}QQO'#EiO;VQQO'#EoO;_QQO'#EuOPQSO7+%hOOQP7+%h7+%hO4cQQO7+%hOOQP1G0Q1G0QO!>^QQO1G0QOOQP1G0U1G0UO!>fQQO1G0UOF|QQO1G0UOOQO,5nAN>nO4cQQOAN>nO!IsQSOAN>nOOQP<nQQO'#FrOOQO,5vAN>vO!LtQQOAN>vP.hQQO'#F|OOQPG25XG25XO!LyQQOG25bO!MOQQO'#FPOOQPG25bG25bO!MZQQOG25bOOQPLD)tLD)tOOQPG24bG24bO!JqQQOLD*|O!9OQQO'#GQO!McQQO,5;kOOQP,5;k,5;kO?tQQO'#FQO!MnQQO'#FQO!MsQQOLD*|OOQP!$'Nh!$'NhOOQO,5VO^!hOh!POr-TOw}O!P-_O!Q-`O!W-^O!]-eO%O!eO%Y!fO~OZ!sO~O^#uO~O!P$xO~On!lO#W%]aV%]a^%]ah%]ar%]aw%]a!P%]a!Q%]a!W%]a!]%]a#T%]a$w%]a%O%]a%Y%]au%]a~O]${O^#QO~OZ#RO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O]$|O!|,WO~PBROj!qOn%QO!QnOi%cP~P*aO!V%WO!|#`O~PBRO!V%YO~OV!}O[oO^YOaoOdoOh!POjcOr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~Oi%dX#p%dX#q%dX~PDQOi%]O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-QO!WaO!]!QO!phO!qhO%O+{O%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^%aO%O%_O~O!QnO!a%cO~P*aO!QnOn$mX#T$mX#U$mXV$mX$w$mX!a$mX~P*aOn#TO#T%ea#U%eaV%ea$w%ea!a%ea~O]%fO~PF|OV#ga$w#ga~PDTO[%sO~OZ#rO[#qO]%vO%O#oO~O^!hOh!POn%zOr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO]%[P~O^&OOh!POr!jOw}O!P!OO!Q!kO!WaO!]!QO%Y!fO^%ZXj%ZX~O%O%}O~PKfOjcO^qa]qanqa!Vqa~O^#uO!W&SO~O^!hOh!POr-TOw}O{&WO!P-_O!Q-`O!W-^O!]-eO%O,xO%Y!fO~Oi&^O~PL{O^!hOh!POr!jOw}O!Q!kO!WaO!]!QO%O!eO%Y!fO~O!P#hO~PMwOi&eO%O,yO%Y!fO~O#T&gOV#ZX$w#ZX~P?tO]&kO%O#oO~O^!hOh!POr-TOw}O!P-_O!Q-`O!]-eO%O!eO%Y!fO~O!W&lO#T&mO~P! _O]&qO%O#oO~O#T&sOV#eX$w#eX~P?tO]&vO%O#oO~OjeX~P$XOjcO!|,XO~P2gOn!lO#W&yO#W%]X~O^#VOn#TO!Q#cO!W#SO!|,XO#R#dO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]OV`X#T%eX#U%eX~OZ&zOj$`O$w`X~P!#cOi'OO#p'PO#q'QO~OZ#ROjcO~P!#cO#T'TO#U#iO~O#W'UO~OV'WO!QnO~P*aOV'XO~OjcO~O!|#`OV#za$w#za~PBROi'[O#p']O#q'^O~On#TO!|#`OV%eX$w%eX!a%eX~PBRO!|#`OV$Za$w$Za~PBRO${$rO$|$rO$}'`O~O]${O~O%O!eO]%ZXn%ZX!V%ZX~PKfO!|#`Oi!_Xn!_X!a!`X~PBROi!_Xn!_X!a!`X~O!a'aO~On'bOi%cX~Oi'dO~On'eO!V%bX!a%bX~O!V'gO~O]'jOn'kO!|,YO~PBROn'nO!V'mO!a'oO!|#`O~PBRO!QnO!V'qO!a'rO~P*aO!|#`On$ma#T$ma#U$maV$ma$w$ma!a$ma~PBRO]'sOu'tO~O%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi!|!xi#R!xi#T!xi#U!xi$w!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~O!V!xii!xi!a!xi~P!+YO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi!V!xii!xi!a!xi~O!|!xi~P!-TO!|#`O~P!-TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%q!xi~O!|#`O!V!xii!xi!a!xi~P!/VO!|#`OV#Pi$w#Pi!a#Pi~PBRO]'uOn'wOu'vO~OZ#rO[#qO]'zO%O#oO~Ou'|O~P?tOn'}O]%[X~O](PO~OZeX^mX^!TXj!TX!W!TX~OjcOV$]i$w$]i~O%`(ZOV%^X$w%^Xn%^X!V%^X~Oi(`O~PL{O[(aO!W!tOVlX$wlX~On(bO~P?tO[(aOVlX$wlX~Oi(hO%O,yO%Y!fO~O!V(iO~O#T(kO~O](nO%O#oO~O[oO^YOaoOdoOh!POr!pOu-bOw}O!P!OO!QnO!V-UO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O+zO~P!4vO](sO%O#oO~O#T(tOV#ea$w#ea~O](xO%O#oO~O#k(yOV#ii$w#ii~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-PO!WaO!]!QO!phO!qhO%O+xO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^(|O%O%_O~O#p%dP#q%dP~P/uOi)PO#p'PO#q'QO~O!a)RO~O!QnO#y)VO~P*aOV)WO!|#`O~PBROj#wa~P;_OV)WO!QnO~P*aOi)]O#p']O#q'^O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O,eO~P!:lO!a)bO~Oj!qO!QnO~P*aOj!qO!QnOi%ca~P*aOn)iOi%ca~O!V%ba!a%ba~P?tOn)lO!V%ba!a%ba~O])nO~O])oO~O!V)pO~O!QnO!V)rO!a)sO~P*aO!V)rO!a)sO!|#`O~PBRO])uOn)vO~O])wOn)xO~O^!hOh!POr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO~O]%[a~P!>nOn)|O]%[a~O]${O]tXntX~OjcOV$^q$w$^q~On*PO{&WO~P?tOn*SO!V%rX~O!V*UO~OjcOV$]q$w$]q~O%`(ZOV|a$w|an|a!V|a~O[*]OVla$wla~O[*]O!W!tOVla$wla~On*PO{&WO!W*`O^%WXj%WX~P! _OjcO#j!UO~OjcO!|,XO~PBROZ*dO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O!|#`O~P!BoO#^*eO~P?tO!a*fO~Oj$`O!|,XO~P!BoO#W*hO~Oj#wi~P;_OV*kO!|#`O~PBROn#TO!Q#cO!|#`O!a$QX#T%eX~PBRO#T*lO~O#W*lO~O!a*mO~O!|#`Oi!_in!_i~PBRO!|#`Oi!bXn!bX!a!cX~PBROi!bXn!bX!a!cX~O!a*nO~Oj!qO!QnOi%ci~P*aO!V%bi!a%bi~P?tO!V*qO!a*rO!|#`O~PBRO!V*qO!|#`O~PBRO]*tO~O]*uO~O]*uOu*vO~O]%[i~P!>nO%O!eO!V%ra~On*|O!V%ra~O[+OOVli$wli~O%O+yO~P!4vO#k+QOV#iy$w#iy~O^+RO%O%_O~O]+SO~O!|,XOj#xq~PBROj#wq~P;_O!V+ZO!|#`O~PBRO]+[On+]O~O%O!eO!V%ri~O^#QOn'eO!V%bX~O#^+`O~P?tOj+aO~O^#VO!W#SO!|#`O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~OZ+cO~P!JvO!|#`O!a$Qi~PBRO!|#`Oi!bin!bi~PBRO!V+dO!|#`O~PBRO]+eO~O]+fO~Oi+iO#p+jO#q+kO~O^+lO%O%_O~Oi+pO#p+jO#q+kO~O!a+rO~O#^+sO~P?tO!a+tO~O]+uO~OZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXVeXneX!QeX#ReX#TeX#UeX$weX~O]eX]!TX!VeXieX!aeX~P!NUOjeX~P!NUOZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXn!TX!VeX~O]eX!V!TX~P#!gOh!TXr!TXw!TX{!TX!P!TX!Q!TX!]!TX%O!TX%Y!TX~P#!gOZeX^eX^!TXj!TXneX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeX~O]eXueX~P#$xO]$mXn$mXu$mX~PF|Oj$mXn$mX~P!7`On+|O]%eau%ea~On+}Oj%ea~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-OO!WaO!]!QO!phO!qhO%O+yO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~OZeX]!TX^UXhUXnUXn!TXrUXuUXwUX!PUX!QUX!WUX!W!TX!]UX%OUX%YUX~OnUX!QeX!aeX#TeX#WUX~P#$xOn+|O!|,YO]%eXu%eX~PBROn+}O!|,XOj%eX~PBRO^&OOV%ZXj%ZX$w%ZX]%ZXn%ZX!V%ZXu%ZX%`%ZX#T%ZX[%ZX!a%ZX~P?wO!|,YO]$man$mau$ma~PBRO!|,XOj$man$ma~PBRO%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~Oj!xi~P!+YOn!xiu!xi~P#,hO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%p!xi%q!xi~O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xij!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi~O!|!xi~P#/_On!xiu!xi~P#.TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi%p!xi%q!xi~O!|,WO~P#1^O!|,XO~P#/_O!|,YOn!xiu!xi~P#1^O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OZ!xi]!xi^!xi!W!xi%q!xi~O!|,WO~P#3QO!|,XOj!xi~P!/VO!|,YOn!xiu!xi~P#3QO!|,XOj#Pi~PBROV!TXZeX^mX!W!TX$w!TX~O%`!TX~P#5RO[!TXhmXnmXrmXwmX!PmX!QmX!WmX!]mX%OmX%YmX~P#5ROn#TO!Q,aO!|,XO#R#dOj`X#T%eX#U%eX~PBRO[oO^YOaoOdoOh!POr!pOw}O!P#hO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!Q-OO%O+yO~P#6{O!Q-PO%O+xO~P#6{O!Q-QO%O+{O~P#6{O#T,bO#U,bO~O#W,cO~O^!hOh!POr-TOw}O!P-_O!Q-WO!W-^O!]-eO%O!eO%Y!fO~O^!hOh!POr-TOw}O!Q-`O!W-^O!]-eO%O!eO%Y!fO~O!P-VO~P#9zO%O+wO~P!4vO!P-XO~O!V-YO!|#`O~PBRO!V-ZO~O!V-[O~O!W-dO~OP%ka%Oa~",goto:"!FW%sPP%tP%wP%zP'SP'XPPPP'`'cP'u'uP)w'u-_PPP0j0m0qP1V4b1VP7s8WP1VP8a8d8hP8p8w1VPP1V8{<`?vPPCY-_-_-_PCdCuCxPC{DQ'u'uDV'uES'u'u'u'uGUIW'uPPJR'uJUMjMjMj'u! r! r!#SP!$`!%d!&d'cP'cPP'cP!&yP!'V!'^!&yP!'a!'h!'n!'w!&yP!'z!(R!&y!(U!(fPP!&yP!(x!)UPP!&y!)Y!)c!&yP!)g!)gP!&yP!&yP!)j!)m!&v!&yP!&yPPP!&yP!&yP!)q!)q!)w!)}!*U!*[!*d!*j!*p!*w!*}!+T!+Z!.q!.x!/O!/X!/m!/s!/z!0Q!0W!0^!0d!0jPPPPPPPPP!0p!1f!1k!1{!2kPP!7P!:^P!>u!?Z!?_!@Z!@fP!@p!D_!Df!Di!DuPPPPPPPPPPPP!FSR!aPRyO!WXOScw!R!T!U!W#O#k#n#u$R$X&O&j&u&|'W'Y']'})W)|*k*w+gQ#pzU#r{#s%uQ#x|U$T!S$U&pQ$^!VQ$y!lR)U'RVROS#nQ#t{T%t#s%uR#t{qrOScw!U!V!W#O#k#n&|'W'Y)W*k+g%PoOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%O]OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^#u!iW^!O!h!t!z#e#h#u#v#y#|#}$P$Q$T$W$v$x%W%Y%a%x%y&O&S&W&]&`&b&d&m'e'|'}(S([(c(i(o(|)l)|*P*Q*S*p*w*|+R+^+j+l,h-U-V-W-X-Y-Z-[-]-_-d'cbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR$O!PT&c#}&dW%`#R&z*d+cQ&Q#vS&V#y&]S&`#}&dR*Y(b'cZOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d%fWOSWYacmnw!O!U!V!W!X!Z!_!q!z#O#Q#S#T#V#^#_#`#a#b#c#h#i#j#k#n#v#|$f$v$x%W%Y%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(i(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S&b#}&d!{-]!h!t#e#u#y$P$Q$T$W%a%x%y&O&W&]&`&m'e'|'}(S([(c(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-dQ#v|S$v!j!pU&P#v$v,hZ,h#x&Q&U&V-TS%{#u&OV){'})|*wR#z}T&[#y&]]&X#y&](S([(o*QZ&Z#y&](S(o*QT([&Y(]'s_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d'r_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!w^'bbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&a#}&dR(d&bS!u]fX!x`&_(e(oQ!r[Q%O!qQ)d'aU)f'b)i*oR+X*nR%R!qR%P!qV)h'b)i*oV)g'b)i*odtOScw#O#k#n&|'Y+gQ$h!WQ&R#wQ&w$[S'S$c$iQ(V&TQ*O(RQ*V(WQ*b(yQ*c(zR+_+Q%PfOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%PgOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^!q#Weg!o!y$[$_$c$j$m$q$}%^%b%d%m'V'p(z({)S)Y)^)c)e)q)t*i*s+T+V+W+Y,f,g,i,j,w,z-aR#fh#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z[,V%^,f,i,p,s,v`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q!Y#^e!y$j$m$q$}%b%d%i%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aY,Q!o,k,n,q,tl,R$[$_$c(z)S*i,g,j,l,o,r,u,w,z_,S%^,f,i,m,p,s,v!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z],V%^,f,i,p,s,v!S#ae!y$j$m$q$}%b%d%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aS,Z!o,tf,[$[$_$c(z)S*i,g,j,u,w,zX,]%^,f,i,v!Q#be!y$j$m$q$}%b%d%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aQ,^!od,_$[$_$c(z)S*i,g,j,w,zV,`%^,f,iprOScw!U!V!W#O#k#n&|'W'Y)W*k+gR)a']etOScw#O#k#n&|'Y+gQ$S!RT&i$R&jR$S!RQ$V!ST&o$U&pQ&U#xR&m$TS(T&S&lV*{*S*|+^R$V!SQ$Y!TT&t$X&uR$Y!TdsOScw#O#k#n&|'Y+gT$p![!]dtOScw#O#k#n&|'Y+gQ*b(yR+_+QQ$a!VQ&{$_Q)T'RR*g)ST&|$`&}Q+b+SQ+m+fR+v+uT+g+a+hR$i!WR$l!YT'Y$k'ZXuOSw#nQ$s!`R'_$sSSO#nR!dSQ%u#sR'y%uUwOS#nR#mwQ&d#}R(g&dQ(c&`R*Z(cS!mX$^R$z!mQ(O%{R)}(OQ&]#yR(_&]Q(]&YR*X(]'r^OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!v^S'f%T+PR)m'fQ'c%RR)j'cW#Oc&|'Y+gR%[#O^#Ue$[$_$c$m)^,zU%e#U,O,PQ,O,fR,P,gQ&j$RR(m&jS*Q(S(oR*y*QQ*T(TR*}*TQ&p$UR(r&pQ&u$XR(w&uQ&}$`R)O&}Q+h+aR+o+hQ'Z$kR)['ZQ!cRQ#luQ#nyQ%Z!|Q&x$]Q'R$bQ'x%tQ(^&[Q(f&cQ(l&iQ(q&oR(v&tVxOS#nWuOSw#nY!|c#O&|'Y+gR%r#kdtOScw#O#k#n&|'Y+gQ$]!UQ$b!VQ$g!WQ)X'WQ*j)WR+U*kdeOScw#O#k#n&|'Y+gQ!oYQ!ya`#gmn,{,|,}-O-P-QQ$[!UQ$_!VQ$c!WQ$j!Xd$m!Z#i#j&g&s'P'T'U(k(tQ$q!_Q$}!qQ%^#QQ%b#SQ%d#TW%h#^,Q,R,SQ%i#_Q%j#`Q%k#aQ%l#bQ%m#cQ'V$fQ'p%cQ(z&xQ({&yQ)S'RQ)Y'XQ)^']Q)c'aU)e'b)i*oQ)q'oQ)t'rQ*i)VQ*s)sQ+T*hQ+V*lQ+W*nQ+Y*rS,f#V'wS,g,b,cQ,i+|Q,j+}Q,k,TQ,l,UQ,m,VQ,n,WQ,o,XQ,p,YQ,q,ZQ,r,[Q,s,]Q,t,^Q,u,_Q,v,`Q,w,aU,z'W)W*kV-a&l*`-^#bZW!O!h!t!z#e#h#u#v#y#|$P$Q$T$W$v$x%W%Y%a%x%y&O&W&]&`&m'e'|'}(S([(c(i(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-d%P[OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^$zdOSacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S!gW-]Q!nYS#{!O-_Q$u!hS%T!t+jS%X!z-UQ%n#e[%o#h#|$x-V-W-XW%w#u'})|*wU&P#v$v,h[&X#y&](S([(o*QQ&f$PQ&h$QQ&n$TQ&r$WS'h%W-YS'i%Y-ZW'l%a(|+R+lS'{%x%yQ(Q&OQ(Y&WQ(d&`Q(p&mU)k'e)l*pQ)z'|Q*[(cS*^(i-[Q+P*`R-c-dS#w|!pS$w!j-TQ&T#xQ(R&QQ(W&UR(X&VT%|#u&OhqOScw!U!V#O#k#n&|'Y+gU$Q!R$R&jU$W!T$X&uQ$e!WY%y#u&O'})|*wQ)`']V-S'W)W*kS&[#y&]S*R(S(oR*z*QY&Y#y&](S(o*QR*W(['``OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&_#}&dW(S&S*S*|+^Q(e&bQ(o&lR*x*PS%U!t*`R+q+jR%S!qQ#PcQ(}&|Q)Z'YR+n+ghpOScw!U!V#O#k#n&|'Y+gQ$d!WQ$n!ZQ%g#VU%p#i'T,bU%q#j'U,cQ(j&gQ(u&sQ)Q'PQ)_']Q)y'wQ*_(kQ*a(tV-R'W)W*kT(U&S&l",nodeNames:"\u26A0 LineComment BlockComment SourceFile PackageClause package DefName ; ImportDecl import ImportSpec . String ) ( SpecList ExprStatement Number Bool Nil Rune VariableName TypedLiteral StructType struct } { StructBody FieldDecl FieldName , PointerType * FunctionType func Parameters Parameter ... InterfaceType interface InterfaceBody MethodElem UnderlyingType ~ TypeElem LogicOp ChannelType chan <- ParenthesizedType QualifiedType TypeName ParameterizedType ] [ TypeArgs ArrayType SliceType MapType map LiteralValue Element Key : Element Key ParenthesizedExpr FunctionLiteral Block Conversion SelectorExpr IndexExpr SliceExpr TypeAssertion CallExpr ParameterizedExpr Arguments CallExpr make new Arguments UnaryExp ArithOp LogicOp BitOp DerefOp BinaryExp ArithOp BitOp BitOp CompareOp LogicOp LogicOp SendStatement IncDecStatement IncDecOp Assignment = UpdateOp VarDecl := ConstDecl const ConstSpec SpecList TypeDecl type TypeSpec TypeParams TypeParam SpecList VarDecl var VarSpec SpecList LabeledStatement LabelName IfStatement if else SwitchStatement switch SwitchBlock Case case default TypeSwitchStatement SwitchBlock Case ForStatement for ForClause RangeClause range GoStatement go SelectStatement select SelectBlock Case ReceiveStatement ReturnStatement return GotoStatement break continue goto FallthroughStatement fallthrough DeferStatement defer FunctionDecl MethodDecl",maxTerm:218,context:fx,nodeProps:[["isolate",-3,2,12,20,""],["group",-18,12,17,18,19,20,21,22,66,67,69,70,71,72,73,74,77,81,86,"Expr",-20,16,68,93,94,96,99,101,105,111,115,117,120,126,129,134,136,141,143,147,149,"Statement",-12,23,31,33,38,46,49,50,51,52,56,57,58,"Type"],["openedBy",13,"(",25,"{",53,"["],["closedBy",14,")",26,"}",54,"]"]],propSources:[ux],skippedNodes:[0,1,2,153],repeatNodeCount:23,tokenData:":b~RvXY#iYZ#i]^#ipq#iqr#zrs$Xuv&Pvw&^wx&yxy(qyz(vz{({{|)T|})e}!O)j!O!P)u!P!Q+}!Q!R,y!R![-t![!]2^!]!^2k!^!_2p!_!`3]!`!a3e!c!}3x!}#O4j#P#Q4o#Q#R4t#R#S4|#S#T9X#T#o3x#o#p9q#p#q9v#q#r:W#r#s:]$g;'S3x;'S;=`4d<%lO3x~#nS$y~XY#iYZ#i]^#ipq#iU$PP%hQ!_!`$SS$XO!|S~$^W[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y<%lO$X~${O[~~%ORO;'S$X;'S;=`%X;=`O$X~%^X[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y;=`<%l$X<%lO$X~%|P;=`<%l$X~&UP%l~!_!`&X~&^O#U~~&cR%j~vw&l!_!`&X#Q#R&q~&qO%p~~&vP%o~!_!`&X~'OWd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k<%lO&y~'mOd~~'pRO;'S&y;'S;=`'y;=`O&y~(OXd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k;=`<%l&y<%lO&y~(nP;=`<%l&y~(vO^~~({O]~~)QP%Y~!_!`&X~)YQ%f~{|)`!_!`&X~)eO#R~~)jOn~~)oQ%g~}!O)`!_!`&X~)zRZS!O!P*T!Q![*`#R#S+w~*WP!O!P*Z~*`Ou~Q*eTaQ!Q![*`!g!h*t#R#S+w#X#Y*t#]#^+rQ*wS{|+T}!O+T!Q![+^#R#S+lQ+WQ!Q![+^#R#S+lQ+cRaQ!Q![+^#R#S+l#]#^+rQ+oP!Q![+^Q+wOaQQ+zP!Q![*`~,SR%k~z{,]!P!Q,b!_!`&X~,bO$z~~,gSP~OY,bZ;'S,b;'S;=`,s<%lO,b~,vP;=`<%l,bQ-O[aQ!O!P*`!Q![-t!d!e.c!g!h*t!q!r/Z!z!{/x#R#S.]#U#V.c#X#Y*t#]#^+r#c#d/Z#l#m/xQ-yUaQ!O!P*`!Q![-t!g!h*t#R#S.]#X#Y*t#]#^+rQ.`P!Q![-tQ.fR!Q!R.o!R!S.o#R#S/QQ.tSaQ!Q!R.o!R!S.o#R#S/Q#]#^+rQ/TQ!Q!R.o!R!S.oQ/^Q!Q!Y/d#R#S/rQ/iRaQ!Q!Y/d#R#S/r#]#^+rQ/uP!Q!Y/dQ/{T!O!P0[!Q![1c!c!i1c#R#S2Q#T#Z1cQ0_S!Q![0k!c!i0k#R#S1V#T#Z0kQ0pVaQ!Q![0k!c!i0k!r!s*t#R#S1V#T#Z0k#]#^+r#d#e*tQ1YR!Q![0k!c!i0k#T#Z0kQ1hWaQ!O!P0k!Q![1c!c!i1c!r!s*t#R#S2Q#T#Z1c#]#^+r#d#e*tQ2TR!Q![1c!c!i1c#T#Z1c~2cP!a~!_!`2f~2kO#W~~2pOV~~2uR!|S}!O3O!^!_3T!_!`$S~3TO!Q~~3YP%m~!_!`&X~3bP#T~!_!`$S~3jQ!|S!_!`$S!`!a3p~3uP%n~!_!`&X~3}V%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~4gP;=`<%l3x~4oO!W~~4tO!V~~4yP%i~!_!`&X~5RV%O~!Q![5h!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~5o^aQ%O~!O!P*`!Q![5h!c!g3x!g!h6k!h!}3x#R#S4|#T#X3x#X#Y6k#Y#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~6pX%O~{|+T}!O+T!Q![7]!c!}3x#R#S8P#T#o3x$g;'S3x;'S;=`4d<%lO3x~7dXaQ%O~!Q![7]!c!}3x#R#S8P#T#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~8UV%O~!Q![7]!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~8rVaQ%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~9[TO#S9X#S#T$v#T;'S9X;'S;=`9k<%lO9X~9nP;=`<%l9X~9vOj~~9{Q%`~!_!`&X#p#q:R~:WO%q~~:]Oi~~:bO{~",tokenizers:[hx,1,2,new wt("j~RQYZXz{^~^O$|~~aP!P!Qd~iO$}~~",25,181)],topRules:{SourceFile:[0,3]},dynamicPrecedences:{19:1,51:-1,55:2,69:-1,108:-1},specialized:[{term:184,get:O=>dx[O]||-1}],tokenPrec:5451});var Qx=[V("func ${name}(${params}) ${type} {\n ${}\n}",{label:"func",detail:"declaration",type:"keyword"}),V("func (${receiver}) ${name}(${params}) ${type} {\n ${}\n}",{label:"func",detail:"method declaration",type:"keyword"}),V("var ${name} = ${value}",{label:"var",detail:"declaration",type:"keyword"}),V("type ${name} ${type}",{label:"type",detail:"declaration",type:"keyword"}),V("const ${name} = ${value}",{label:"const",detail:"declaration",type:"keyword"}),V("type ${name} = ${type}",{label:"type",detail:"alias declaration",type:"keyword"}),V("for ${init}; ${test}; ${update} {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),V("for ${i} := range ${value} {\n ${}\n}",{label:"for",detail:"range",type:"keyword"}),V(`select { + \${} +}`,{label:"select",detail:"statement",type:"keyword"}),V("case ${}:\n${}",{label:"case",type:"keyword"}),V("switch ${} {\n ${}\n}",{label:"switch",detail:"statement",type:"keyword"}),V("switch ${}.(${type}) {\n ${}\n}",{label:"switch",detail:"type statement",type:"keyword"}),V("if ${} {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),V(`if \${} { + \${} +} else { + \${} +}`,{label:"if",detail:"/ else block",type:"keyword"}),V('import ${name} "${module}"\n${}',{label:"import",detail:"declaration",type:"keyword"})],hp=new Xt,fp=new Set(["SourceFile","Block","FunctionDecl","MethodDecl","FunctionLiteral","ForStatement","SwitchStatement","TypeSwitchStatement","IfStatement"]);function li(O,e){return(t,i)=>{e:for(let r=t.node.firstChild,n=0,s=null;;){for(;!r;){if(!n)break e;n--,r=s.nextSibling,s=s.parent}e&&r.name==e||r.name=="SpecList"?(n++,s=r,r=r.firstChild):(r.name=="DefName"&&i(r,O),r=r.nextSibling)}return!0}}var px={FunctionDecl:li("function"),VarDecl:li("var","VarSpec"),ConstDecl:li("constant","ConstSpec"),TypeDecl:li("type","TypeSpec"),ImportDecl:li("constant","ImportSpec"),Parameter:li("var"),__proto__:null};function up(O,e){let t=hp.get(e);if(t)return t;let i=[],r=!0;function n(s,o){let a=O.sliceString(s.from,s.to);i.push({label:a,type:o})}return e.cursor(A.IncludeAnonymous).iterate(s=>{if(r)r=!1;else if(s.name){let o=px[s.name];if(o&&o(s,n)||fp.has(s.name))return!1}else if(s.to-s.from>8192){for(let o of up(O,s.node))i.push(o);return!1}}),hp.set(e,i),i}var cp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,dp=["String","LineComment","BlockComment","DefName","LabelName","FieldName",".","?."],$x=O=>{let e=j(O.state).resolveInner(O.pos,-1);if(dp.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&cp.test(O.state.sliceDoc(e.from,e.to));if(!t&&!O.explicit)return null;let i=[];for(let r=e;r;r=r.parent)fp.has(r.name)&&(i=i.concat(up(O.state.doc,r)));return{options:i,from:t?e.from:O.pos,validFor:cp}},Rl=ae.define({name:"go",parser:lp.configure({props:[le.add({IfStatement:ce({except:/^\s*({|else\b)/}),LabeledStatement:iO,"SwitchBlock SelectBlock":O=>{let e=O.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return O.baseIndent+(t||i?0:O.unit)},Block:xe({closing:"}"}),BlockComment:()=>null,Statement:ce({except:/^{/})}),ne.add({"Block SwitchBlock SelectBlock LiteralValue InterfaceType StructType SpecList":me,BlockComment(O){return{from:O.from+2,to:O.to-2}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case\b|default\b|\})$/}}),mx=O=>({label:O,type:"keyword"}),gx="interface struct chan map package go return break continue goto fallthrough else defer range true false nil".split(" ").map(mx);function Qp(){let O=Qx.concat(gx);return new Oe(Rl,[Rl.data.of({autocomplete:si(dp,wO(O))}),Rl.data.of({autocomplete:$x})])}var Sx=54,Px=1,yx=55,Xx=2,xx=56,bx=3,pp=4,Tx=5,Qs=6,xp=7,bp=8,Tp=9,kp=10,kx=11,wx=12,vx=13,zl=57,qx=14,$p=58,wp=20,Rx=22,vp=23,zx=24,Wl=26,qp=27,Yx=28,Wx=31,Zx=34,Vx=36,Ux=37,_x=0,jx=1,Cx={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},Gx={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},mp={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function Ex(O){return O==45||O==46||O==58||O>=65&&O<=90||O==95||O>=97&&O<=122||O>=161}function Rp(O){return O==9||O==10||O==13||O==32}var gp=null,Sp=null,Pp=0;function Zl(O,e){let t=O.pos+e;if(Pp==t&&Sp==O)return gp;let i=O.peek(e);for(;Rp(i);)i=O.peek(++e);let r="";for(;Ex(i);)r+=String.fromCharCode(i),i=O.peek(++e);return Sp=O,Pp=t,gp=r?r.toLowerCase():i==Ax||i==Lx?void 0:null}var zp=60,ps=62,Vl=47,Ax=63,Lx=33,Mx=45;function yp(O,e){this.name=O,this.parent=e}var Dx=[Qs,kp,xp,bp,Tp],Ix=new Ge({start:null,shift(O,e,t,i){return Dx.indexOf(e)>-1?new yp(Zl(i,1)||"",O):O},reduce(O,e){return e==wp&&O?O.parent:O},reuse(O,e,t,i){let r=e.type.id;return r==Qs||r==Vx?new yp(Zl(i,1)||"",O):O},strict:!1}),Bx=new U((O,e)=>{if(O.next!=zp){O.next<0&&e.context&&O.acceptToken(zl);return}O.advance();let t=O.next==Vl;t&&O.advance();let i=Zl(O,0);if(i===void 0)return;if(!i)return O.acceptToken(t?qx:Qs);let r=e.context?e.context.name:null;if(t){if(i==r)return O.acceptToken(kx);if(r&&Gx[r])return O.acceptToken(zl,-2);if(e.dialectEnabled(_x))return O.acceptToken(wx);for(let n=e.context;n;n=n.parent)if(n.name==i)return;O.acceptToken(vx)}else{if(i=="script")return O.acceptToken(xp);if(i=="style")return O.acceptToken(bp);if(i=="textarea")return O.acceptToken(Tp);if(Cx.hasOwnProperty(i))return O.acceptToken(kp);r&&mp[r]&&mp[r][i]?O.acceptToken(zl,-1):O.acceptToken(Qs)}},{contextual:!0}),Nx=new U(O=>{for(let e=0,t=0;;t++){if(O.next<0){t&&O.acceptToken($p);break}if(O.next==Mx)e++;else if(O.next==ps&&e>=2){t>=3&&O.acceptToken($p,-2);break}else e=0;O.advance()}});function Fx(O){for(;O;O=O.parent)if(O.name=="svg"||O.name=="math")return!0;return!1}var Hx=new U((O,e)=>{if(O.next==Vl&&O.peek(1)==ps){let t=e.dialectEnabled(jx)||Fx(e.context);O.acceptToken(t?Tx:pp,2)}else O.next==ps&&O.acceptToken(pp,1)});function Ul(O,e,t){let i=2+O.length;return new U(r=>{for(let n=0,s=0,o=0;;o++){if(r.next<0){o&&r.acceptToken(e);break}if(n==0&&r.next==zp||n==1&&r.next==Vl||n>=2&&ns?r.acceptToken(e,-s):r.acceptToken(t,-(s-2));break}else if((r.next==10||r.next==13)&&o){r.acceptToken(e,1);break}else n=s=0;r.advance()}})}var Kx=Ul("script",Sx,Px),Jx=Ul("style",yx,Xx),eb=Ul("textarea",xx,bx),tb=H({"Text RawText":u.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":u.angleBracket,TagName:u.tagName,"MismatchedCloseTag/TagName":[u.tagName,u.invalid],AttributeName:u.attributeName,"AttributeValue UnquotedAttributeValue":u.attributeValue,Is:u.definitionOperator,"EntityReference CharacterReference":u.character,Comment:u.blockComment,ProcessingInst:u.processingInstruction,DoctypeDecl:u.documentMeta}),Yp=se.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%ZQ&rO,59fO%fQ&rO,59iO%qQ&rO,59lO%|Q&rO,59nOOOa'#D^'#D^O&XOaO'#CxO&dOaO,59[OOOb'#D_'#D_O&lObO'#C{O&wObO,59[OOOd'#D`'#D`O'POdO'#DOO'[OdO,59[OOO`'#Da'#DaO'dO!rO,59[O'kQ#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'pO$fO,59oOOO`,59o,59oO'xQ#|O,59qO'}Q#|O,59rOOO`-E7W-E7WO(SQ&rO'#CsOOQW'#DZ'#DZO(bQ&rO1G.wOOOa1G.w1G.wOOO`1G/Y1G/YO(mQ&rO1G/QOOOb1G/Q1G/QO(xQ&rO1G/TOOOd1G/T1G/TO)TQ&rO1G/WOOO`1G/W1G/WO)`Q&rO1G/YOOOa-E7[-E7[O)kQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)pQ#tO'#C|OOOd-E7^-E7^O)uQ#tO'#DPOOO`-E7_-E7_O)zQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O*PQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOO`7+$t7+$tOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rO*[Q#|O,59eO*aQ#|O,59hO*fQ#|O,59kOOO`1G/X1G/XO*kO7[O'#CvO*|OMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O+_O7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+pOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:",]~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OT}OhyO~OS!POT}OhyO~OS!ROT}OhyO~OS!TOT}OhyO~OS}OT}OhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXTgXhgX~OS!fOT!gOhyO~OS!hOT!gOhyO~OS!iOT!gOhyO~OS!jOT!gOhyO~OS!gOT!gOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:Ix,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"],["isolate",-11,21,29,30,32,33,35,36,37,38,41,42,"ltr",-3,26,27,39,""]],propSources:[tb],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let l=o.type.id;if(l==Yx)return Yl(o,a,t);if(l==Wx)return Yl(o,a,i);if(l==Zx)return Yl(o,a,r);if(l==wp&&n.length){let h=o.node,c=h.firstChild,f=c&&Xp(c,a),d;if(f){for(let Q of n)if(Q.tag==f&&(!Q.attrs||Q.attrs(d||(d=Wp(c,a))))){let p=h.lastChild,$=p.type.id==Ux?p.from:h.to;if($>c.to)return{parser:Q.parser,overlay:[{from:c.to,to:$}]}}}}if(s&&l==vp){let h=o.node,c;if(c=h.firstChild){let f=s[a.read(c.from,c.to)];if(f)for(let d of f){if(d.tagName&&d.tagName!=Xp(h.parent,a))continue;let Q=h.lastChild;if(Q.type.id==Wl){let p=Q.from+1,$=Q.lastChild,m=Q.to-($&&$.isError?0:1);if(m>p)return{parser:d.parser,overlay:[{from:p,to:m}]}}else if(Q.type.id==qp)return{parser:d.parser,overlay:[{from:Q.from,to:Q.to}]}}}}return null})}var Ob=315,ib=316,Zp=1,rb=2,nb=3,sb=4,ob=317,ab=319,lb=320,hb=5,cb=6,fb=0,Cl=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Vp=125,ub=59,Gl=47,db=42,Qb=43,pb=45,$b=60,mb=44,gb=63,Sb=46,Pb=91,yb=new Ge({start:!1,shift(O,e){return e==hb||e==cb||e==ab?O:e==lb},strict:!1}),Xb=new U((O,e)=>{let{next:t}=O;(t==Vp||t==-1||e.context)&&O.acceptToken(ob)},{contextual:!0,fallback:!0}),xb=new U((O,e)=>{let{next:t}=O,i;Cl.indexOf(t)>-1||t==Gl&&((i=O.peek(1))==Gl||i==db)||t!=Vp&&t!=ub&&t!=-1&&!e.context&&O.acceptToken(Ob)},{contextual:!0}),bb=new U((O,e)=>{O.next==Pb&&!e.context&&O.acceptToken(ib)},{contextual:!0}),Tb=new U((O,e)=>{let{next:t}=O;if(t==Qb||t==pb){if(O.advance(),t==O.next){O.advance();let i=!e.context&&e.canShift(Zp);O.acceptToken(i?Zp:rb)}}else t==gb&&O.peek(1)==Sb&&(O.advance(),O.advance(),(O.next<48||O.next>57)&&O.acceptToken(nb))},{contextual:!0});function jl(O,e){return O>=65&&O<=90||O>=97&&O<=122||O==95||O>=192||!e&&O>=48&&O<=57}var kb=new U((O,e)=>{if(O.next!=$b||!e.dialectEnabled(fb)||(O.advance(),O.next==Gl))return;let t=0;for(;Cl.indexOf(O.next)>-1;)O.advance(),t++;if(jl(O.next,!0)){for(O.advance(),t++;jl(O.next,!1);)O.advance(),t++;for(;Cl.indexOf(O.next)>-1;)O.advance(),t++;if(O.next==mb)return;for(let i=0;;i++){if(i==7){if(!jl(O.next,!0))return;break}if(O.next!="extends".charCodeAt(i))break;O.advance(),t++}}O.acceptToken(sb,-t)}),wb=H({"get set async static":u.modifier,"for while do if else switch try catch finally return throw break continue default case":u.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":u.operatorKeyword,"let var const using function class extends":u.definitionKeyword,"import export from":u.moduleKeyword,"with debugger new":u.keyword,TemplateString:u.special(u.string),super:u.atom,BooleanLiteral:u.bool,this:u.self,null:u.null,Star:u.modifier,VariableName:u.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":u.function(u.variableName),VariableDefinition:u.definition(u.variableName),Label:u.labelName,PropertyName:u.propertyName,PrivatePropertyName:u.special(u.propertyName),"CallExpression/MemberExpression/PropertyName":u.function(u.propertyName),"FunctionDeclaration/VariableDefinition":u.function(u.definition(u.variableName)),"ClassDeclaration/VariableDefinition":u.definition(u.className),"NewExpression/VariableName":u.className,PropertyDefinition:u.definition(u.propertyName),PrivatePropertyDefinition:u.definition(u.special(u.propertyName)),UpdateOp:u.updateOperator,"LineComment Hashbang":u.lineComment,BlockComment:u.blockComment,Number:u.number,String:u.string,Escape:u.escape,ArithOp:u.arithmeticOperator,LogicOp:u.logicOperator,BitOp:u.bitwiseOperator,CompareOp:u.compareOperator,RegExp:u.regexp,Equals:u.definitionOperator,Arrow:u.function(u.punctuation),": Spread":u.punctuation,"( )":u.paren,"[ ]":u.squareBracket,"{ }":u.brace,"InterpolationStart InterpolationEnd":u.special(u.brace),".":u.derefOperator,", ;":u.separator,"@":u.meta,TypeName:u.typeName,TypeDefinition:u.definition(u.typeName),"type enum interface implements namespace module declare":u.definitionKeyword,"abstract global Privacy readonly override":u.modifier,"is keyof unique infer asserts":u.operatorKeyword,JSXAttributeValue:u.attributeValue,JSXText:u.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":u.angleBracket,"JSXIdentifier JSXNameSpacedName":u.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":u.attributeName,"JSXBuiltin/JSXIdentifier":u.standard(u.tagName)}),vb={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,for:474,of:483,while:486,with:490,do:494,if:498,else:500,switch:504,case:510,try:516,catch:520,finally:524,return:528,throw:532,break:536,continue:540,debugger:544},qb={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},Rb={__proto__:null,"<":193},Up=se.deserialize({version:14,states:"$EOQ%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Ik'#IkO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JqO6[Q!0MxO'#JrO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO7eQMhO'#F|O9[Q`O'#F{OOQ!0Lf'#Jr'#JrOOQ!0Lb'#Jq'#JqO9aQ`O'#GwOOQ['#K^'#K^O9lQ`O'#IXO9qQ!0LrO'#IYOOQ['#J_'#J_OOQ['#I^'#I^Q`QlOOQ`QlOOO9yQ!L^O'#DvO:QQlO'#EOO:XQlO'#EQO9gQ`O'#GsO:`QMhO'#CoO:nQ`O'#EnO:yQ`O'#EyO;OQMhO'#FeO;mQ`O'#GsOOQO'#K_'#K_O;rQ`O'#K_O`Q`O'#CeO>pQ`O'#HbO>xQ`O'#HhO>xQ`O'#HjO`QlO'#HlO>xQ`O'#HnO>xQ`O'#HqO>}Q`O'#HwO?SQ!0LsO'#H}O%[QlO'#IPO?_Q!0LsO'#IRO?jQ!0LsO'#ITO9qQ!0LrO'#IVO?uQ!0MxO'#CiO@wQpO'#DlQOQ`OOO%[QlO'#EQOA_Q`O'#ETO:`QMhO'#EnOAjQ`O'#EnOAuQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Ju'#JuO%[QlO'#JuOOQO'#Jx'#JxOOQO'#Ig'#IgOBuQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J|'#J|OCqQ!0MSO'#EgOC{QpO'#EWOOQO'#Jw'#JwODaQpO'#JxOEnQpO'#EWOC{QpO'#EgPE{O&2DjO'#CbPOOO)CD|)CD|OOOO'#I_'#I_OFWO#tO,59UOOQ!0Lh,59U,59UOOOO'#I`'#I`OFfO&jO,59UOFtQ!L^O'#DcOOOO'#Ib'#IbOF{O#@ItO,59{OOQ!0Lf,59{,59{OGZQlO'#IcOGnQ`O'#JsOImQ!fO'#JsO+}QlO'#JsOItQ`O,5:ROJ[Q`O'#EpOJiQ`O'#KSOJtQ`O'#KROJtQ`O'#KROJ|Q`O,5;^OKRQ`O'#KQOOQ!0Ln,5:^,5:^OKYQlO,5:^OMWQ!0MxO,5:fOMwQ`O,5:nONbQ!0LrO'#KPONiQ`O'#KOO9aQ`O'#KOON}Q`O'#KOO! VQ`O,5;]O! [Q`O'#KOO!#aQ!fO'#JrOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$PQ!fO,5:sOOQS'#Jy'#JyOOQO-EsOOQ['#Jg'#JgOOQ[,5>t,5>tOOQ[-E<[-E<[O!nQ!0MxO,5:jO%[QlO,5:jO!AUQ!0MxO,5:lOOQO,5@y,5@yO!AuQMhO,5=_O!BTQ!0LrO'#JhO9[Q`O'#JhO!BfQ!0LrO,59ZO!BqQpO,59ZO!ByQMhO,59ZO:`QMhO,59ZO!CUQ`O,5;ZO!C^Q`O'#HaO!CrQ`O'#KcO%[QlO,5;}O!9xQpO,5}Q`O'#HWO9gQ`O'#HYO!EZQ`O'#HYO:`QMhO'#H[O!E`Q`O'#H[OOQ[,5=p,5=pO!EeQ`O'#H]O!EvQ`O'#CoO!E{Q`O,59PO!FVQ`O,59PO!H[QlO,59POOQ[,59P,59PO!HlQ!0LrO,59PO%[QlO,59PO!JwQlO'#HdOOQ['#He'#HeOOQ['#Hf'#HfO`QlO,5=|O!K_Q`O,5=|O`QlO,5>SO`QlO,5>UO!KdQ`O,5>WO`QlO,5>YO!KiQ`O,5>]O!KnQlO,5>cOOQ[,5>i,5>iO%[QlO,5>iO9qQ!0LrO,5>kOOQ[,5>m,5>mO# xQ`O,5>mOOQ[,5>o,5>oO# xQ`O,5>oOOQ[,5>q,5>qO#!fQpO'#D_O%[QlO'#JuO##XQpO'#JuO##cQpO'#DmO##tQpO'#DmO#&VQlO'#DmO#&^Q`O'#JtO#&fQ`O,5:WO#&kQ`O'#EtO#&yQ`O'#KTO#'RQ`O,5;_O#'WQpO'#DmO#'eQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#'lQ`O,5:oO>}Q`O,5;YO!BqQpO,5;YO!ByQMhO,5;YO:`QMhO,5;YO#'tQ`O,5@aO#'yQ07dO,5:sOOQO-E}O+}QlO,5>}OOQO,5?T,5?TO#+RQlO'#IcOOQO-EOO$5PQ`O,5>OOOQ[1G3h1G3hO`QlO1G3hOOQ[1G3n1G3nOOQ[1G3p1G3pO>xQ`O1G3rO$5UQlO1G3tO$9YQlO'#HsOOQ[1G3w1G3wO$9gQ`O'#HyO>}Q`O'#H{OOQ[1G3}1G3}O$9oQlO1G3}O9qQ!0LrO1G4TOOQ[1G4V1G4VOOQ!0Lb'#G_'#G_O9qQ!0LrO1G4XO9qQ!0LrO1G4ZO$=vQ`O,5@aO!)PQlO,5;`O9aQ`O,5;`O>}Q`O,5:XO!)PQlO,5:XO!BqQpO,5:XO$={Q?MtO,5:XOOQO,5;`,5;`O$>VQpO'#IdO$>mQ`O,5@`OOQ!0Lf1G/r1G/rO$>uQpO'#IjO$?PQ`O,5@oOOQ!0Lb1G0y1G0yO##tQpO,5:XOOQO'#If'#IfO$?XQpO,5:qOOQ!0Ln,5:q,5:qO#'oQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO>}Q`O1G0tO!BqQpO1G0tO!ByQMhO1G0tOOQ!0Lb1G5{1G5{O!BfQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$?`Q!0LrO1G0mO$?kQ!0LrO1G0mO!BqQpO1G0^OC{QpO1G0^O$?yQ!0LrO1G0mOOQO1G0^1G0^O$@_Q!0MxO1G0mPOOO-E}O$@{Q`O1G5yO$ATQ`O1G6XO$A]Q!fO1G6YO9aQ`O,5?TO$AgQ!0MxO1G6VO%[QlO1G6VO$AwQ!0LrO1G6VO$BYQ`O1G6UO$BYQ`O1G6UO9aQ`O1G6UO$BbQ`O,5?WO9aQ`O,5?WOOQO,5?W,5?WO$BvQ`O,5?WO$){Q`O,5?WOOQO-E_OOQ[,5>_,5>_O%[QlO'#HtO%>RQ`O'#HvOOQ[,5>e,5>eO9aQ`O,5>eOOQ[,5>g,5>gOOQ[7+)i7+)iOOQ[7+)o7+)oOOQ[7+)s7+)sOOQ[7+)u7+)uO%>WQpO1G5{O%>rQ?MtO1G0zO%>|Q`O1G0zOOQO1G/s1G/sO%?XQ?MtO1G/sO>}Q`O1G/sO!)PQlO'#DmOOQO,5?O,5?OOOQO-E}Q`O7+&`O!BqQpO7+&`OOQO7+%x7+%xO$@_Q!0MxO7+&XOOQO7+&X7+&XO%[QlO7+&XO%?cQ!0LrO7+&XO!BfQ!0LrO7+%xO!BqQpO7+%xO%?nQ!0LrO7+&XO%?|Q!0MxO7++qO%[QlO7++qO%@^Q`O7++pO%@^Q`O7++pOOQO1G4r1G4rO9aQ`O1G4rO%@fQ`O1G4rOOQS7+%}7+%}O#'oQ`O<`OOQ[,5>b,5>bO&=hQ`O1G4PO9aQ`O7+&fO!)PQlO7+&fOOQO7+%_7+%_O&=mQ?MtO1G6YO>}Q`O7+%_OOQ!0Lf<}Q`O<SQ!0MxO<= ]O&>dQ`O<= [OOQO7+*^7+*^O9aQ`O7+*^OOQ[ANAkANAkO&>lQ!fOANAkO!&oQMhOANAkO#'oQ`OANAkO4UQ!fOANAkO&>sQ`OANAkO%[QlOANAkO&>{Q!0MzO7+'zO&A^Q!0MzO,5?`O&CiQ!0MzO,5?bO&EtQ!0MzO7+'|O&HVQ!fO1G4kO&HaQ?MtO7+&aO&JeQ?MvO,5=XO&LlQ?MvO,5=ZO&L|Q?MvO,5=XO&M^Q?MvO,5=ZO&MnQ?MvO,59uO' tQ?MvO,5}Q`O7+)kO'-dQ`O<QPPP!>YHxPPPPPPPPP!AiP!BvPPHx!DXPHxPHxHxHxHxHxPHx!EkP!HuP!K{P!LP!LZ!L_!L_P!HrP!Lc!LcP# iP# mHxPHx# s#$xCW@zP@zP@z@zP#&V@z@z#(i@z#+a@z#-m@z@z#.]#0q#0q#0v#1P#0q#1[PP#0qP@z#1t@z#5s@z@z6bPPP#9xPPP#:c#:cP#:cP#:y#:cPP#;PP#:vP#:v#;d#:v#S#>Y#>d#>j#>t#>z#?[#?b#@S#@f#@l#@r#AQ#Ag#C[#Cj#Cq#E]#Ek#G]#Gk#Gq#Gw#G}#HX#H_#He#Ho#IR#IXPPPPPPPPPPP#I_PPPPPPP#JS#MZ#Ns#Nz$ SPPP$&nP$&w$)p$0Z$0^$0a$1`$1c$1j$1rP$1x$1{P$2i$2m$3e$4s$4x$5`PP$5e$5k$5o$5r$5v$5z$6v$7_$7v$7z$7}$8Q$8W$8Z$8_$8cR!|RoqOXst!Z#d%l&p&r&s&u,n,s2S2VY!vQ'^-`1g5qQ%svQ%{yQ&S|Q&h!VS'U!e-WQ'd!iS'j!r!yU*h$|*X*lQ+l%|Q+y&UQ,_&bQ-^']Q-h'eQ-p'kQ0U*nQ1q,`R < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:379,context:yb,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,236,242,244,246,248,251,257,263,265,267,269,271,273,274,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[wb],skippedNodes:[0,5,6,277],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Y!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Y!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(VpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(VpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Vp(Y!b'{0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(W#S$i&j'|0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Vp(Y!b'|0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(U':f$i&j(Y!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Y!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Y!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Y!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Y!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Vp(Y!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Y!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(VpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(VpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Vp(Y!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Y!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Y!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Y!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Y!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Y!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Vp(Y!b'{0/l$]#t(S,2j(d$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Vp(Y!b'|0/l$]#t(S,2j(d$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[xb,bb,Tb,kb,2,3,4,5,6,7,8,9,10,11,12,13,14,Xb,new wt("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(b~~",141,339),new wt("j~RQYZXz{^~^O(P~~aP!P!Qd~iO(Q~~",25,322)],topRules:{Script:[0,7],SingleExpression:[1,275],SingleClassItem:[2,276]},dialects:{jsx:0,ts:15098},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:326,get:O=>vb[O]||-1},{term:342,get:O=>qb[O]||-1},{term:95,get:O=>Rb[O]||-1}],tokenPrec:15124});var Gp=[V("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),V("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),V("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),V("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),V("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),V(`try { + \${} +} catch (\${error}) { + \${} +}`,{label:"try",detail:"/ catch block",type:"keyword"}),V("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),V(`if (\${}) { + \${} +} else { + \${} +}`,{label:"if",detail:"/ else block",type:"keyword"}),V(`class \${name} { + constructor(\${params}) { + \${} + } +}`,{label:"class",detail:"definition",type:"keyword"}),V('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),V('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],zb=Gp.concat([V("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),V("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),V("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),_p=new Xt,Ep=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function mr(O){return(e,t)=>{let i=e.node.getChild("VariableDefinition");return i&&t(i,O),!0}}var Yb=["FunctionDeclaration"],Wb={FunctionDeclaration:mr("function"),ClassDeclaration:mr("class"),ClassExpression:()=>!0,EnumDeclaration:mr("constant"),TypeAliasDeclaration:mr("type"),NamespaceDeclaration:mr("namespace"),VariableDefinition(O,e){O.matchContext(Yb)||e(O,"variable")},TypeDefinition(O,e){e(O,"type")},__proto__:null};function Ap(O,e){let t=_p.get(e);if(t)return t;let i=[],r=!0;function n(s,o){let a=O.sliceString(s.from,s.to);i.push({label:a,type:o})}return e.cursor(A.IncludeAnonymous).iterate(s=>{if(r)r=!1;else if(s.name){let o=Wb[s.name];if(o&&o(s,n)||Ep.has(s.name))return!1}else if(s.to-s.from>8192){for(let o of Ap(O,s.node))i.push(o);return!1}}),_p.set(e,i),i}var jp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Lp=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function Zb(O){let e=j(O.state).resolveInner(O.pos,-1);if(Lp.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&jp.test(O.state.sliceDoc(e.from,e.to));if(!t&&!O.explicit)return null;let i=[];for(let r=e;r;r=r.parent)Ep.has(r.name)&&(i=i.concat(Ap(O.state.doc,r)));return{options:i,from:t?e.from:O.pos,validFor:jp}}var ut=ae.define({name:"javascript",parser:Up.configure({props:[le.add({IfStatement:ce({except:/^\s*({|else\b)/}),TryStatement:ce({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:iO,SwitchBody:O=>{let e=O.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return O.baseIndent+(t?0:i?1:2)*O.unit},Block:xe({closing:"}"}),ArrowFunction:O=>O.baseIndent+O.unit,"TemplateString BlockComment":()=>null,"Statement Property":ce({except:/^\s*{/}),JSXElement(O){let e=/^\s*<\//.test(O.textAfter);return O.lineIndent(O.node.from)+(e?0:O.unit)},JSXEscape(O){let e=/\s*\}/.test(O.textAfter);return O.lineIndent(O.node.from)+(e?0:O.unit)},"JSXOpenTag JSXSelfClosingTag"(O){return O.column(O.node.from)+O.unit}}),ne.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":me,BlockComment(O){return{from:O.from+2,to:O.to-2}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Mp={test:O=>/^JSX/.test(O.name),facet:Ji({commentTokens:{block:{open:"{/*",close:"*/}"}}})},El=ut.configure({dialect:"ts"},"typescript"),Al=ut.configure({dialect:"jsx",props:[Zn.add(O=>O.isTop?[Mp]:void 0)]}),Ll=ut.configure({dialect:"jsx ts",props:[Zn.add(O=>O.isTop?[Mp]:void 0)]},"typescript"),Dp=O=>({label:O,type:"keyword"}),Ip="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Dp),Vb=Ip.concat(["declare","implements","private","protected","public"].map(Dp));function $s(O={}){let e=O.jsx?O.typescript?Ll:Al:O.typescript?El:ut,t=O.typescript?zb.concat(Vb):Gp.concat(Ip);return new Oe(e,[ut.data.of({autocomplete:si(Lp,wO(t))}),ut.data.of({autocomplete:Zb}),O.jsx?jb:[]])}function Ub(O){for(;;){if(O.name=="JSXOpenTag"||O.name=="JSXSelfClosingTag"||O.name=="JSXFragmentTag")return O;if(O.name=="JSXEscape"||!O.parent)return null;O=O.parent}}function Cp(O,e,t=O.length){for(let i=e?.firstChild;i;i=i.nextSibling)if(i.name=="JSXIdentifier"||i.name=="JSXBuiltin"||i.name=="JSXNamespacedName"||i.name=="JSXMemberExpression")return O.sliceString(i.from,Math.min(i.to,t));return""}var _b=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),jb=b.inputHandler.of((O,e,t,i,r)=>{if((_b?O.composing:O.compositionStarted)||O.state.readOnly||e!=t||i!=">"&&i!="/"||!ut.isActiveAt(O.state,e,-1))return!1;let n=r(),{state:s}=n,o=s.changeByRange(a=>{var l;let{head:h}=a,c=j(s).resolveInner(h-1,-1),f;if(c.name=="JSXStartTag"&&(c=c.parent),!(s.doc.sliceString(h-1,h)!=i||c.name=="JSXAttributeValue"&&c.to>h)){if(i==">"&&c.name=="JSXFragmentTag")return{range:a,changes:{from:h,insert:""}};if(i=="/"&&c.name=="JSXStartCloseTag"){let d=c.parent,Q=d.parent;if(Q&&d.from==h-2&&((f=Cp(s.doc,Q.firstChild,h))||((l=Q.firstChild)===null||l===void 0?void 0:l.name)=="JSXFragmentTag")){let p=`${f}>`;return{range:S.cursor(h+p.length,-1),changes:{from:h,insert:p}}}}else if(i==">"){let d=Ub(c);if(d&&d.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(s.doc.sliceString(h,h+2))&&(f=Cp(s.doc,d,h)))return{range:a,changes:{from:h,insert:``}}}}return{range:a}});return o.changes.empty?!1:(O.dispatch([n,s.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var gr=["_blank","_self","_top","_parent"],Ml=["ascii","utf-8","utf-16","latin1","latin1"],Dl=["get","post","put","delete"],Il=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Je=["true","false"],z={},Cb={a:{attrs:{href:null,ping:null,type:null,media:null,target:gr,hreflang:null}},abbr:z,address:z,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:z,aside:z,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:z,base:{attrs:{href:null,target:gr}},bdi:z,bdo:z,blockquote:{attrs:{cite:null}},body:z,br:z,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Il,formmethod:Dl,formnovalidate:["novalidate"],formtarget:gr,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:z,center:z,cite:z,code:z,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:z,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:z,div:z,dl:z,dt:z,em:z,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:z,figure:z,footer:z,form:{attrs:{action:null,name:null,"accept-charset":Ml,autocomplete:["on","off"],enctype:Il,method:Dl,novalidate:["novalidate"],target:gr}},h1:z,h2:z,h3:z,h4:z,h5:z,h6:z,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:z,hgroup:z,hr:z,html:{attrs:{manifest:null}},i:z,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Il,formmethod:Dl,formnovalidate:["novalidate"],formtarget:gr,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:z,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:z,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:z,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Ml,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:z,noscript:z,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:z,param:{attrs:{name:null,value:null}},pre:z,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:z,rt:z,ruby:z,samp:z,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Ml}},section:z,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:z,source:{attrs:{src:null,type:null,media:null}},span:z,strong:z,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:z,summary:z,sup:z,table:z,tbody:z,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:z,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:z,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:z,time:{attrs:{datetime:null}},title:z,tr:z,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:z,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:z},Hp={accesskey:null,class:null,contenteditable:Je,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Je,autocorrect:Je,autocapitalize:Je,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Je,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Je,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Je,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Je,"aria-hidden":Je,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Je,"aria-multiselectable":Je,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Je,"aria-relevant":null,"aria-required":Je,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Kp="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(O=>"on"+O);for(let O of Kp)Hp[O]=null;var qO=class{constructor(e,t){this.tags=Object.assign(Object.assign({},Cb),e),this.globalAttrs=Object.assign(Object.assign({},Hp),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};qO.default=new qO;function hi(O,e,t=O.length){if(!e)return"";let i=e.firstChild,r=i&&i.getChild("TagName");return r?O.sliceString(r.from,Math.min(r.to,t)):""}function ci(O,e=!1){for(;O;O=O.parent)if(O.name=="Element")if(e)e=!1;else return O;return null}function Jp(O,e,t){let i=t.tags[hi(O,ci(e))];return i?.children||t.allTags}function Bl(O,e){let t=[];for(let i=ci(e);i&&!i.type.isTop;i=ci(i.parent)){let r=hi(O,i);if(r&&i.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=i.firstChild.to)&&t.push(r)}return t}var e$=/^[:\-\.\w\u00b7-\uffff]*$/;function Bp(O,e,t,i,r){let n=/\s*>/.test(O.sliceDoc(r,r+5))?"":">",s=ci(t,!0);return{from:i,to:r,options:Jp(O.doc,s,e).map(o=>({label:o,type:"type"})).concat(Bl(O.doc,t).map((o,a)=>({label:"/"+o,apply:"/"+o+n,type:"type",boost:99-a}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Np(O,e,t,i){let r=/\s*>/.test(O.sliceDoc(i,i+5))?"":">";return{from:t,to:i,options:Bl(O.doc,e).map((n,s)=>({label:n,apply:n+r,type:"type",boost:99-s})),validFor:e$}}function Gb(O,e,t,i){let r=[],n=0;for(let s of Jp(O.doc,t,e))r.push({label:"<"+s,type:"type"});for(let s of Bl(O.doc,t))r.push({label:"",type:"type",boost:99-n++});return{from:i,to:i,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function Eb(O,e,t,i,r){let n=ci(t),s=n?e.tags[hi(O.doc,n)]:null,o=s&&s.attrs?Object.keys(s.attrs):[],a=s&&s.globalAttrs===!1?o:o.length?o.concat(e.globalAttrNames):e.globalAttrNames;return{from:i,to:r,options:a.map(l=>({label:l,type:"property"})),validFor:e$}}function Ab(O,e,t,i,r){var n;let s=(n=t.parent)===null||n===void 0?void 0:n.getChild("AttributeName"),o=[],a;if(s){let l=O.sliceDoc(s.from,s.to),h=e.globalAttrs[l];if(!h){let c=ci(t),f=c?e.tags[hi(O.doc,c)]:null;h=f?.attrs&&f.attrs[l]}if(h){let c=O.sliceDoc(i,r).toLowerCase(),f='"',d='"';/^['"]/.test(c)?(a=c[0]=='"'?/^[^"]*$/:/^[^']*$/,f="",d=O.sliceDoc(r,r+1)==c[0]?"":c[0],c=c.slice(1),i++):a=/^[^\s<>='"]*$/;for(let Q of h)o.push({label:Q,apply:f+Q+d,type:"constant"})}}return{from:i,to:r,options:o,validFor:a}}function t$(O,e){let{state:t,pos:i}=e,r=j(t).resolveInner(i,-1),n=r.resolve(i);for(let s=i,o;n==r&&(o=r.childBefore(s));){let a=o.lastChild;if(!a||!a.type.isError||a.fromt$(i,r)}var Mb=ut.parser.configure({top:"SingleExpression"}),i$=[{tag:"script",attrs:O=>O.type=="text/typescript"||O.lang=="ts",parser:El.parser},{tag:"script",attrs:O=>O.type=="text/babel"||O.type=="text/jsx",parser:Al.parser},{tag:"script",attrs:O=>O.type=="text/typescript-jsx",parser:Ll.parser},{tag:"script",attrs(O){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(O.type)},parser:Mb},{tag:"script",attrs(O){return!O.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(O.type)},parser:ut.parser},{tag:"style",attrs(O){return(!O.lang||O.lang=="css")&&(!O.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(O.type))},parser:$r.parser}],r$=[{name:"style",parser:$r.parser.configure({top:"Styles"})}].concat(Kp.map(O=>({name:O,parser:ut.parser}))),n$=ae.define({name:"html",parser:Yp.configure({props:[le.add({Element(O){let e=/^(\s*)(<\/)?/.exec(O.textAfter);return O.node.to<=O.pos+e[0].length?O.continue():O.lineIndent(O.node.from)+(e[2]?0:O.unit)},"OpenTag CloseTag SelfClosingTag"(O){return O.column(O.node.from)+O.unit},Document(O){if(O.pos+/\s*/.exec(O.textAfter)[0].lengthO.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),ms=n$.configure({wrap:_l(i$,r$)});function fi(O={}){let e="",t;O.matchClosingTags===!1&&(e="noMatch"),O.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(O.nestedLanguages&&O.nestedLanguages.length||O.nestedAttributes&&O.nestedAttributes.length)&&(t=_l((O.nestedLanguages||[]).concat(i$),(O.nestedAttributes||[]).concat(r$)));let i=t?n$.configure({wrap:t,dialect:e}):e?ms.configure({dialect:e}):ms;return new Oe(i,[ms.data.of({autocomplete:Lb(O)}),O.autoCloseTags!==!1?Db:[],$s().support,ds().support])}var Fp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),Db=b.inputHandler.of((O,e,t,i,r)=>{if(O.composing||O.state.readOnly||e!=t||i!=">"&&i!="/"||!ms.isActiveAt(O.state,e,-1))return!1;let n=r(),{state:s}=n,o=s.changeByRange(a=>{var l,h,c;let f=s.doc.sliceString(a.from-1,a.to)==i,{head:d}=a,Q=j(s).resolveInner(d,-1),p;if(f&&i==">"&&Q.name=="EndTag"){let $=Q.parent;if(((h=(l=$.parent)===null||l===void 0?void 0:l.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(p=hi(s.doc,$.parent,d))&&!Fp.has(p)){let m=d+(s.doc.sliceString(d,d+1)===">"?1:0),g=``;return{range:a,changes:{from:d,to:m,insert:g}}}}else if(f&&i=="/"&&Q.name=="IncompleteCloseTag"){let $=Q.parent;if(Q.from==d-2&&((c=$.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(p=hi(s.doc,$,d))&&!Fp.has(p)){let m=d+(s.doc.sliceString(d,d+1)===">"?1:0),g=`${p}>`;return{range:S.cursor(d+g.length,-1),changes:{from:d,to:m,insert:g}}}}return{range:a}});return o.changes.empty?!1:(O.dispatch([n,s.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var Ib=H({null:u.null,instanceof:u.operatorKeyword,this:u.self,"new super assert open to with void":u.keyword,"class interface extends implements enum var":u.definitionKeyword,"module package import":u.moduleKeyword,"switch while for if else case default do break continue return try catch finally throw":u.controlKeyword,"requires exports opens uses provides public private protected static transitive abstract final strictfp synchronized native transient volatile throws":u.modifier,IntegerLiteral:u.integer,FloatingPointLiteral:u.float,"StringLiteral TextBlock":u.string,CharacterLiteral:u.character,LineComment:u.lineComment,BlockComment:u.blockComment,BooleanLiteral:u.bool,PrimitiveType:u.standard(u.typeName),TypeName:u.typeName,Identifier:u.variableName,"MethodName/Identifier":u.function(u.variableName),Definition:u.definition(u.variableName),ArithOp:u.arithmeticOperator,LogicOp:u.logicOperator,BitOp:u.bitwiseOperator,CompareOp:u.compareOperator,AssignOp:u.definitionOperator,UpdateOp:u.updateOperator,Asterisk:u.punctuation,Label:u.labelName,"( )":u.paren,"[ ]":u.squareBracket,"{ }":u.brace,".":u.derefOperator,", ;":u.separator}),Bb={__proto__:null,true:34,false:34,null:42,void:46,byte:48,short:48,int:48,long:48,char:48,float:48,double:48,boolean:48,extends:62,super:64,class:76,this:78,new:84,public:100,protected:102,private:104,abstract:106,static:108,final:110,strictfp:112,default:114,synchronized:116,native:118,transient:120,volatile:122,throws:150,implements:160,interface:166,enum:176,instanceof:238,open:267,module:269,requires:274,transitive:276,exports:278,to:280,opens:282,uses:284,provides:286,with:288,package:292,import:296,if:308,else:310,while:314,for:318,var:325,assert:332,switch:336,case:342,do:346,break:350,continue:354,return:358,throw:364,try:368,catch:372,finally:380},s$=se.deserialize({version:14,states:"##jQ]QPOOQ$wQPOOO(bQQO'#H^O*iQQO'#CbOOQO'#Cb'#CbO*pQPO'#CaO*xOSO'#CpOOQO'#Hc'#HcOOQO'#Cu'#CuO,eQPO'#D_O-OQQO'#HmOOQO'#Hm'#HmO/gQQO'#HhO/nQQO'#HhOOQO'#Hh'#HhOOQO'#Hg'#HgO1rQPO'#DUO2PQPO'#GnO4wQPO'#D_O5OQPO'#DzO*pQPO'#E[O5qQPO'#E[OOQO'#DV'#DVO7SQQO'#HaO9^QQO'#EeO9eQPO'#EdO9jQPO'#EfOOQO'#Hb'#HbO7jQQO'#HbO:pQQO'#FhO:wQPO'#ExO:|QPO'#E}O:|QPO'#FPOOQO'#Ha'#HaOOQO'#HY'#HYOOQO'#Gh'#GhOOQO'#HX'#HXO<^QPO'#FiOOQO'#HW'#HWOOQO'#Gg'#GgQ]QPOOOOQO'#Hs'#HsOQQPO'#GSO>]QPO'#GUO=kQPO'#GWO:|QPO'#GXO>dQPO'#GZO?QQQO'#HiO?mQQO'#CuO?tQPO'#HxO@SQPO'#D_O@rQPO'#DpO?wQPO'#DqO@|QPO'#HxOA_QPO'#DpOAgQPO'#IROAlQPO'#E`OOQO'#Hr'#HrOOQO'#Gm'#GmQ$wQPOOOAtQPO'#HsOOQO'#H^'#H^OCsQQO,58{OOQO'#H['#H[OOOO'#Gi'#GiOEfOSO,59[OOQO,59[,59[OOQO'#Hi'#HiOFVQPO,59eOGXQPO,59yOOQO-E:f-E:fO*pQPO,58zOG{QPO,58zO*pQPO,5;}OHQQPO'#DQOHVQPO'#DQOOQO'#Gk'#GkOIVQQO,59jOOQO'#Dm'#DmOJqQPO'#HuOJ{QPO'#DlOKZQPO'#HtOKcQPO,5<_OKhQPO,59^OLRQPO'#CxOOQO,59c,59cOLYQPO,59bOLeQQO'#H^ONgQQO'#CbO!!iQPO'#D_O!#nQQO'#HmO!$OQQO,59pO!$VQPO'#DvO!$eQPO'#H|O!$mQPO,5:`O!$rQPO,5:`O!%YQPO,5;nO!%eQPO'#ITO!%pQPO,5;eO!%uQPO,5=YOOQO-E:l-E:lOOQO,5:f,5:fO!']QPO,5:fO!'dQPO,5:vO?tQPO,5<_O*pQPO,5:vO_,5>_O!*sQPO,5:gO!+RQPO,5:qO!+ZQPO,5:lO!+fQPO,5>[O!$VQPO,5>[O!'iQPO,59UO!+qQQO,58zO!+yQQO,5;}O!,RQQO,5gQPO,5gQPO,5<}O!2mQPO,59jO!2zQPO'#HuO!3RQPO,59xO!3WQPO,5>dO?tQPO,59xO!3cQPO,5:[OAlQPO,5:zO!3kQPO'#DrO?wQPO'#DrO!3vQPO'#HyO!4OQPO,5:]O?tQPO,5>dO!(hQPO,5>dOAgQPO,5>mOOQO,5:[,5:[O!$rQPO'#DtOOQO,5>m,5>mO!4TQPO'#EaOOQO,5:z,5:zO!7UQPO,5:zO!(hQPO'#DxOOQO-E:k-E:kOOQO,5:y,5:yO*pQPO,58}O!7ZQPO'#ChOOQO1G.k1G.kOOOO-E:g-E:gOOQO1G.v1G.vO!+qQQO1G.fO*pQPO1G.fO!7eQQO1G1iOOQO,59l,59lO!7mQPO,59lOOQO-E:i-E:iO!7rQPO,5>aO!8ZQPO,5:WO`OOQO1G1y1G1yOOQO1G.x1G.xO!8{QPO'#CyO!9kQPO'#HmO!9uQPO'#CzO!:TQPO'#HlO!:]QPO,59dOOQO1G.|1G.|OLYQPO1G.|O!:sQPO,59eO!;QQQO'#H^O!;cQQO'#CbOOQO,5:b,5:bOhOOQO1G/z1G/zO!oOOQO1G1P1G1POOQO1G0Q1G0QO!=oQPO'#E]OOQO1G0b1G0bO!>`QPO1G1yO!'dQPO1G0bO!*sQPO1G0RO!+RQPO1G0]O!+ZQPO1G0WOOQO1G/]1G/]O!>eQQO1G.pO9eQPO1G0jO*pQPO1G0jOgQPO'#GaOOQO1G2a1G2aO#2zQPO1G2iO#6xQPO,5>gOOQO1G/d1G/dOOQO1G4O1G4OO#7ZQPO1G/dOOQO1G/v1G/vOOQO1G0f1G0fO!7UQPO1G0fOOQO,5:^,5:^O!(hQPO'#DsO#7`QPO,5:^O?wQPO'#GrO#7kQPO,5>eOOQO1G/w1G/wOAgQPO'#H{O#7sQPO1G4OO?tQPO1G4OOOQO1G4X1G4XO!#YQPO'#DvO!!iQPO'#D_OOQO,5:{,5:{O#8OQPO,5:{O#8OQPO,5:{O#8VQQO'#HaO#9hQQO'#HbO#9rQQO'#EbO#9}QPO'#EbO#:VQPO'#IOOOQO,5:d,5:dOOQO1G.i1G.iO#:bQQO'#EeO#:rQQO'#H`O#;SQPO'#FTOOQO'#H`'#H`O#;^QPO'#H`O#;{QPO'#IWO#WOOQO1G/O1G/OOOQO7+$h7+$hOOQO1G/{1G/{O#=cQQO1G/{OOQO1G/}1G/}O#=hQPO1G/{OOQO1G/|1G/|OdQPO,5:wOOQO,5:w,5:wOOQO7+'e7+'eOOQO7+%|7+%|OOQO7+%m7+%mO!KqQPO7+%mO!KvQPO7+%mO!LOQPO7+%mOOQO7+%w7+%wO!LnQPO7+%wOOQO7+%r7+%rO!MmQPO7+%rO!MrQPO7+%rOOQO7+&U7+&UOOQO'#Ee'#EeO9eQPO7+&UO9eQPO,5>[O#?TQPO7+$[OOQO7+&T7+&TOOQO7+&W7+&WO:|QPO'#GlO#?cQPO,5>]OOQO1G/_1G/_O:|QPO7+&lO#?nQQO,59eO#@tQPO,59vOOQO,59v,59vOOQO,5:h,5:hOOQO'#EP'#EPOOQO,5:i,5:iO#@{QPO'#EYOgQPO,5jO#M{QPO,59TO#NSQPO'#IVO#N[QPO,5;oO*pQPO'#G{O#NaQPO,5>rOOQO1G.n1G.nOOQO<Z,5>ZOOQO,5=U,5=UOOQO-E:h-E:hO#NvQPO7+%gOOQO7+%g7+%gOOQO7+%i7+%iOOQO<kO$%tQPO'#EZOOQO1G0_1G0_O$%{QPO1G0_O?tQPO,5:pOOQO-E:s-E:sOOQO1G0Z1G0ZOOQO1G0n1G0nO$&QQQO1G0nOOQO<qOOQO1G1Z1G1ZO$+dQPO'#FUOOQO,5=g,5=gOOQO-E:y-E:yO$+iQPO'#GoO$+vQPO,5>cOOQO1G/u1G/uOOQO<sAN>sO!KqQPOAN>sOOQOAN>xAN>xOOQOAN?[AN?[O9eQPOAN?[OOQO1G0`1G0`O$,_QPO1G0`OOQO,5=b,5=bOOQO-E:t-E:tO$,mQPO,5:uOOQO7+%y7+%yOOQO7+&Y7+&YOOQO1G1`1G1`O$,tQQO1G1`OOQO-E:{-E:{O$,|QQO'#IYO$,wQPO1G1`O$&gQPO1G1`O*pQPO1G1`OOQOAN@]AN@]O$-XQQO<tO$.qQPO7+&zO$.vQQO'#IZOOQOAN@nAN@nO$/RQQOAN@nOOQOAN@jAN@jO$/YQPOAN@jO$/_QQO<uOOQOG26YG26YOOQOG26UG26UOOQO<lOWiXuiX%}iX&PiX&RiX&_iX~OZ!aX~P?XOu#OO%}TO&P#SO&R#SO~O%}TO~P3gOg^Oh^Ov#pO!u#rO!z#qO&_!hO&t#oO~O&P!cO&R!dO~P@ZOg^Oh^O%}TO&P!cO&R!dO~O}cO!P%aO~OZ%bO~O}%dO!m%gO~O}cOg&gXh&gXv&gX!S&gX!T&gX!U&gX!V&gX!W&gX!X&gX!Y&gX!Z&gX!]&gX!^&gX!_&gX!u&gX!z&gX%}&gX&P&gX&R&gX&_&gX&t&gX~OW%jOZ%kOgTahTa%}Ta&PTa&RTa~OvTa!STa!TTa!UTa!VTa!WTa!XTa!YTa!ZTa!]Ta!^Ta!_Ta!uTa!zTa#yTa#zTa$WTa$hTa&tTa&_TauTaYTaqTa|Ta!PTa~PC[O&W%nO&Y!tO~Ou#OO%}TOqma&^maYma&nma!Pma~O&vma}ma!rma~PEnO!SyO!TyO!UyO!VyO!WyO!XyO!YyO!ZzO!]yO!^yO!_yO~Og!Rah!Rav!Ra!u!Ra!z!Ra$h!Ra&P!Ra&R!Ra&t!Ra&_!Ra~PFdO#z%pO~Os%rO~Ou%sO%}TO~Ou#OO%}ra&Pra&Rra&vraYrawra&nra&qra!Pra&^raqra~OWra#_ra#ara#bra#dra#era#fra#gra#hra#ira#kra#ora#rra&_ra#prasra|ra~PH_Ou#OO%}TOq&iX!P&iX!b&iX~OY&iX#p&iX~PJ`O!b%vOq!`X!P!`XY!`X~Oq%wO!P&hX~O!P%yO~Ov%zO~Og^Oh^O%}0oO&P!wO&RWO&b%}O~O&^&`P~PKmO%}TO&P!wO&RWO~OW&QXYiXY!aXY&QXZ&QXq!aXu&QXwiX!b&QX#]&QX#_&QX#a&QX#b&QX#d&QX#e&QX#f&QX#g&QX#h&QX#i&QX#k&QX#o&QX#r&QX&^&QX&_&QX&niX&n&QX&qiX&viX&v&QX&x!aX~P?XOWUXYUXY!aXY&]XZUXq!aXuUXw&]X!bUX#]UX#_UX#aUX#bUX#dUX#eUX#fUX#gUX#hUX#iUX#kUX#oUX#rUX&^UX&_UX&nUX&n&]X&q&]X&vUX&v&]X&x!aX~P>lOg^Oh^O%}TO&P!wO&RWOg!RXh!RX&P!RX&R!RX~PFdOu#OOw&XO%}TO&P&UO&R&TO&q&WO~OW#XOY&aX&n&aX&v&aX~P!#YOY&ZO~P9oOg^Oh^O&P!wO&RWO~Oq&]OY&pX~OY&_O~Og^Oh^O%}TO&P!wO&RWOY&pP~PFdOY&dO&n&bO&v#vO~Oq&eO&x$ZOY&wX~OY&gO~O%}TOg%bah%bav%ba!S%ba!T%ba!U%ba!V%ba!W%ba!X%ba!Y%ba!Z%ba!]%ba!^%ba!_%ba!u%ba!z%ba$h%ba&P%ba&R%ba&t%ba&_%ba~O|&hO~P]O}&iO~Op&uOw&vO&PSO&R!qO&_#YO~Oz&tO~P!'iOz&xO&PSO&R!qO&_#YO~OY&eP~P:|Og^Oh^O%}TO&P!wO&RWO~O}cO~P:|OW#XOu#OO%}TO&v&aX~O#r$WO!P#sa#_#sa#a#sa#b#sa#d#sa#e#sa#f#sa#g#sa#h#sa#i#sa#k#sa#o#sa&^#sa&_#sa&n#saY#sa#p#sas#saq#sa|#sa~Oo'_O}'^O!r'`O&_!hO~O}'eO!r'`O~Oo'iO}'hO&_!hO~OZ#xOu'mO%}TO~OW%jO}'sO~OW%jO!P'uO~OW'vO!P'wO~O$h!WO&P0qO&R0pO!P&eP~P/uO!P(SO#p(TO~P9oO}(UO~O$c(WO~O!P(XO~O!P(YO~O!P(ZO~P9oO!P(]O~P9oOZ$lO_VO`VOaVObVOcVOeVOg^Oh^Op!POwkOz!OO%}TO&P(_O&R(^O&XUO~PFdO%Q(hO%U(iOZ$}a_$}a`$}aa$}ab$}ac$}ae$}ag$}ah$}ap$}av$}aw$}az$}a}$}a!P$}a!S$}a!T$}a!U$}a!V$}a!W$}a!X$}a!Y$}a!Z$}a![$}a!]$}a!^$}a!_$}a!u$}a!z$}a#f$}a#r$}a#t$}a#u$}a#y$}a#z$}a$W$}a$Y$}a$`$}a$c$}a$e$}a$h$}a$l$}a$n$}a$s$}a$u$}a$w$}a$y$}a$|$}a%O$}a%w$}a%}$}a&P$}a&R$}a&X$}a&t$}a|$}a$a$}a$q$}a~O}ra!rra'Ora~PH_OZ%bO~PJ`O!P(mO~O!m%gO}&la!P&la~O}cO!P(pO~Oo(tOq!fX&^!fX~Oq(vO&^&mX~O&^(xO~OZ`O_VO`VOaVObVOcVOeVOg^Oh^Op)UOv{Ow)TOz!OO|)PO}cO!PvO![!`O!u}O!z|O#fpO#roO#tpO#upO#y!RO#z!QO$W!SO$Y!TO$`!UO$c!VO$e!XO$h!WO$l!YO$n!ZO$s![O$u!]O$w!^O$y!_O$|!aO%O!bO%}TO&PRO&RQO&XUO&_#YO&tdO~PFdO}%dO~O})]OY&zP~P:|OW%jO!P)dO~Os)eO~Ou#OO%}TOq&ia!P&ia!b&iaY&ia#p&ia~O})fO~P:|Oq%wO!P&ha~Og^Oh^O%}0oO&P!wO&RWO~O&b)mO~P!8jOu#OO%}TOq&aX&^&aXY&aX&n&aX!P&aX~O}&aX!r&aX~P!9SOo)oOp)oOqnX&^nX~Oq)pO&^&`X~O&^)rO~Ou#OOw)tO%}TO&PSO&R!qO~OYma&nma&vma~P!:bOW&QXY!aXq!aXu!aX%}!aX~OWUXY!aXq!aXu!aX%}!aX~OW)wO~Ou#OO%}TO&P#SO&R#SO&q)yO~Og^Oh^O%}TO&P!wO&RWO~PFdOq&]OY&pa~Ou#OO%}TO&P#SO&R#SO&q&WO~OY)|O~OY*PO&n&bO~Oq&eOY&wa~Og^Oh^Ov{O|*XO!u}O%}TO&P!wO&RWO&tdO~PFdO!P*YO~OW^iZ#XXu^i!P^i!b^i#]^i#_^i#a^i#b^i#d^i#e^i#f^i#g^i#h^i#i^i#k^i#o^i#r^i&^^i&_^i&n^i&v^iY^i#p^is^iq^i|^i~OW*iO~Os*jO~P9oOz*kO&PSO&R!qO~O!P]iY]i#p]is]iq]i|]i~P9oOq*lOY&eX!P&eX~P9oOY*nO~O#f$SO#g$TO#k$YO#r$WO!P#^i#_#^i#a#^i#b#^i#d#^i#e#^i#o#^i&^#^i&_#^i&n#^iY#^i#p#^is#^iq#^i|#^i~O#h$UO#i$UO~P!AmO#_#|O#d$QO#e$RO#f$SO#g$TO#h$UO#i$UO#k$YO#r$WO&^#zO&_#zO&n#{O!P#^i#b#^i#o#^iY#^i#p#^is#^iq#^i|#^i~O#a#^i~P!CUO#a#}O~P!CUO#_#|O#f$SO#g$TO#h$UO#i$UO#k$YO#r$WO&^#zO&_#zO!P#^i#a#^i#b#^i#d#^i#e#^i#o#^iY#^i#p#^is#^iq#^i|#^i~O&n#^i~P!DtO&n#{O~P!DtO#f$SO#g$TO#k$YO#r$WO!P#^i#a#^i#b#^i#e#^i#o#^iY#^i#p#^is#^iq#^i|#^i~O#_#|O#d$QO#h$UO#i$UO&^#zO&_#zO&n#{O~P!FdO#k$YO#r$WO!P#^i#_#^i#a#^i#b#^i#d#^i#e#^i#f#^i#h#^i#i#^i#o#^i&^#^i&_#^i&n#^iY#^i#p#^is#^iq#^i|#^i~O#g$TO~P!G{O#g#^i~P!G{O#h#^i#i#^i~P!AmO#p*oO~P9oO#_&aX#a&aX#b&aX#d&aX#e&aX#f&aX#g&aX#h&aX#i&aX#k&aX#o&aX#r&aX&_&aX#p&aXs&aX|&aX~P!9SO!P#liY#li#p#lis#liq#li|#li~P9oO|*rO~P$wO}'^O~O}'^O!r'`O~Oo'_O}'^O!r'`O~O%}TO&P#SO&R#SO|&sP!P&sP~PFdO}'eO~Og^Oh^Ov{O|+PO!P*}O!u}O!z|O%}TO&P!wO&RWO&_!hO&tdO~PFdO}'hO~Oo'iO}'hO~Os+RO~P:|Ou+TO%}TO~Ou'mO})fO%}TOW#Zi!P#Zi#_#Zi#a#Zi#b#Zi#d#Zi#e#Zi#f#Zi#g#Zi#h#Zi#i#Zi#k#Zi#o#Zi#r#Zi&^#Zi&_#Zi&n#Zi&v#ZiY#Zi#p#Zis#Ziq#Zi|#Zi~O}'^OW&diu&di!P&di#_&di#a&di#b&di#d&di#e&di#f&di#g&di#h&di#i&di#k&di#o&di#r&di&^&di&_&di&n&di&v&diY&di#p&dis&diq&di|&di~O#}+]O$P+^O$R+^O$S+_O$T+`O~O|+[O~P##nO$Z+aO&PSO&R!qO~OW+bO!P+cO~O$a+dOZ$_i_$_i`$_ia$_ib$_ic$_ie$_ig$_ih$_ip$_iv$_iw$_iz$_i}$_i!P$_i!S$_i!T$_i!U$_i!V$_i!W$_i!X$_i!Y$_i!Z$_i![$_i!]$_i!^$_i!_$_i!u$_i!z$_i#f$_i#r$_i#t$_i#u$_i#y$_i#z$_i$W$_i$Y$_i$`$_i$c$_i$e$_i$h$_i$l$_i$n$_i$s$_i$u$_i$w$_i$y$_i$|$_i%O$_i%w$_i%}$_i&P$_i&R$_i&X$_i&t$_i|$_i$q$_i~Og^Oh^O$h#sO&P!wO&RWO~O!P+hO~P:|O!P+iO~OZ`O_VO`VOaVObVOcVOeVOg^Oh^Op!POv{OwkOz!OO}cO!PvO!SyO!TyO!UyO!VyO!WyO!XyO!YyO!Z+nO![!`O!]yO!^yO!_yO!u}O!z|O#fpO#roO#tpO#upO#y!RO#z!QO$W!SO$Y!TO$`!UO$c!VO$e!XO$h!WO$l!YO$n!ZO$q+oO$s![O$u!]O$w!^O$y!_O$|!aO%O!bO%}TO&PRO&RQO&XUO&tdO~O|+mO~P#)QOW&QXY&QXZ&QXu&QX!P&QX&viX&v&QX~P?XOWUXYUXZUXuUX!PUX&vUX&v&]X~P>lOW#tOu#uO&v#vO~OW&UXY%XXu&UX!P%XX&v&UX~OZ#XX~P#.VOY+uO!P+sO~O%Q(hO%U(iOZ$}i_$}i`$}ia$}ib$}ic$}ie$}ig$}ih$}ip$}iv$}iw$}iz$}i}$}i!P$}i!S$}i!T$}i!U$}i!V$}i!W$}i!X$}i!Y$}i!Z$}i![$}i!]$}i!^$}i!_$}i!u$}i!z$}i#f$}i#r$}i#t$}i#u$}i#y$}i#z$}i$W$}i$Y$}i$`$}i$c$}i$e$}i$h$}i$l$}i$n$}i$s$}i$u$}i$w$}i$y$}i$|$}i%O$}i%w$}i%}$}i&P$}i&R$}i&X$}i&t$}i|$}i$a$}i$q$}i~OZ+xO~O%Q(hO%U(iOZ%Vi_%Vi`%Via%Vib%Vic%Vie%Vig%Vih%Vip%Viv%Viw%Viz%Vi}%Vi!P%Vi!S%Vi!T%Vi!U%Vi!V%Vi!W%Vi!X%Vi!Y%Vi!Z%Vi![%Vi!]%Vi!^%Vi!_%Vi!u%Vi!z%Vi#f%Vi#r%Vi#t%Vi#u%Vi#y%Vi#z%Vi$W%Vi$Y%Vi$`%Vi$c%Vi$e%Vi$h%Vi$l%Vi$n%Vi$s%Vi$u%Vi$w%Vi$y%Vi$|%Vi%O%Vi%w%Vi%}%Vi&P%Vi&R%Vi&X%Vi&t%Vi|%Vi$a%Vi$q%Vi~Ou#OO%}TO}&oa!P&oa!m&oa~O!P,OO~Oo(tOq!fa&^!fa~Oq(vO&^&ma~O!m%gO}&li!P&li~O|,XO~P]OW,ZO~P5xOW&UXu&UX#_&UX#a&UX#b&UX#d&UX#e&UX#f&UX#g&UX#h&UX#i&UX#k&UX#o&UX#r&UX&^&UX&_&UX&n&UX&v&UX~OZ#xO!P&UX~P#8^OW$gOZ#xO&v#vO~Op,]Ow,]O~Oq,^O}&rX!P&rX~O!b,`O#]#wOY&UXZ#XX~P#8^OY&SXq&SX|&SX!P&SX~P9oO})]O|&yP~P:|OY&SXg%[Xh%[X%}%[X&P%[X&R%[Xq&SX|&SX!P&SX~Oq,cOY&zX~OY,eO~O})fO|&kP~P:|Oq&jX!P&jX|&jXY&jX~P9oO&bTa~PC[Oo)oOp)oOqna&^na~Oq)pO&^&`a~OW,mO~Ow,nO~Ou#OO%}TO&P,rO&R,qO~Og^Oh^Ov#pO!u#rO&P!wO&RWO&t#oO~Og^Oh^Ov{O|,wO!u}O%}TO&P!wO&RWO&tdO~PFdOw-SO&PSO&R!qO&_#YO~Oq*lOY&ea!P&ea~O#_ma#ama#bma#dma#ema#fma#gma#hma#ima#kma#oma#rma&_ma#pmasma|ma~PEnO|-WO~P$wOZ#xO}'^Oq!|X|!|X!P!|X~Oq-[O|&sX!P&sX~O|-_O!P-^O~O&_!hO~P5VOg^Oh^Ov{O|-cO!P*}O!u}O!z|O%}TO&P!wO&RWO&_!hO&tdO~PFdOs-dO~P9oOs-dO~P:|O}'^OW&dqu&dq!P&dq#_&dq#a&dq#b&dq#d&dq#e&dq#f&dq#g&dq#h&dq#i&dq#k&dq#o&dq#r&dq&^&dq&_&dq&n&dq&v&dqY&dq#p&dqs&dqq&dq|&dq~O|-hO~P##nO!W-lO$O-lO&PSO&R!qO~O!P-oO~O$Z-pO&PSO&R!qO~O!b%vO#p-rOq!`X!P!`X~O!P-tO~P9oO!P-tO~P:|O!P-wO~P9oO|-yO~P#)QO![$aO#p-zO~O!P-|O~O!b-}O~OY.QOZ$lO_VO`VOaVObVOcVOeVOg^Oh^Op!POwkOz!OO%}TO&P(_O&R(^O&XUO~PFdOY.QO!P.RO~O%Q(hO%U(iOZ%Vq_%Vq`%Vqa%Vqb%Vqc%Vqe%Vqg%Vqh%Vqp%Vqv%Vqw%Vqz%Vq}%Vq!P%Vq!S%Vq!T%Vq!U%Vq!V%Vq!W%Vq!X%Vq!Y%Vq!Z%Vq![%Vq!]%Vq!^%Vq!_%Vq!u%Vq!z%Vq#f%Vq#r%Vq#t%Vq#u%Vq#y%Vq#z%Vq$W%Vq$Y%Vq$`%Vq$c%Vq$e%Vq$h%Vq$l%Vq$n%Vq$s%Vq$u%Vq$w%Vq$y%Vq$|%Vq%O%Vq%w%Vq%}%Vq&P%Vq&R%Vq&X%Vq&t%Vq|%Vq$a%Vq$q%Vq~Ou#OO%}TO}&oi!P&oi!m&oi~O&n&bOq!ga&^!ga~O!m%gO}&lq!P&lq~O|.^O~P]Op.`Ow&vOz&tO&PSO&R!qO&_#YO~O!P.aO~Oq,^O}&ra!P&ra~O})]O~P:|Oq.gO|&yX~O|.iO~Oq,cOY&za~Oq.mO|&kX~O|.oO~Ow.pO~Oq!aXu!aX!P!aX!b!aX%}!aX~OZ&QX~P#N{OZUX~P#N{O!P.qO~OZ.rO~OW^yZ#XXu^y!P^y!b^y#]^y#_^y#a^y#b^y#d^y#e^y#f^y#g^y#h^y#i^y#k^y#o^y#r^y&^^y&_^y&n^y&v^yY^y#p^ys^yq^y|^y~OY%`aq%`a!P%`a~P9oO!P#nyY#ny#p#nys#nyq#ny|#ny~P9oO}'^Oq!|a|!|a!P!|a~OZ#xO}'^Oq!|a|!|a!P!|a~O%}TO&P#SO&R#SOq%jX|%jX!P%jX~PFdOq-[O|&sa!P&sa~O|!}X~P$wO|/PO~Os/QO~P9oOW%jO!P/RO~OW%jO$Q/WO&PSO&R!qO!P&|P~OW%jO$U/XO~O!P/YO~O!b%vO#p/[Oq!`X!P!`X~OY/^O~O!P/_O~P9oO#p/`O~P9oO!b/bO~OY/cOZ$lO_VO`VOaVObVOcVOeVOg^Oh^Op!POwkOz!OO%}TO&P(_O&R(^O&XUO~PFdOW#[Ou&[X%}&[X&P&[X&R&[X'O&[X~O&_#YO~P$)QOu#OO%}TO'O/eO&P%SX&R%SX~O&n&bOq!gi&^!gi~Op/iO&PSO&R!qO~OW*iOZ#xO~O!P/kO~OY&SXq&SX~P9oO})]Oq%nX|%nX~P:|Oq.gO|&ya~O!b/nO~O})fOq%cX|%cX~P:|Oq.mO|&ka~OY/qO~O!P/rO~OZ/sO~O}'^Oq!|i|!|i!P!|i~O|!}a~P$wOW%jO!P/wO~OW%jOq/xO!P&|X~OY/|O~P9oOY0OO~OY%Xq!P%Xq~P9oO'O/eO&P%Sa&R%Sa~OY0TO~O!P0WO~Ou#OO!P0YO!Z0ZO%}TO~OY0[O~Oq/xO!P&|a~O!P0_O~OW%jOq/xO!P&}X~OY0aO~P9oOY0bO~OY%Xy!P%Xy~P9oOu#OO%}TO&P%ua&R%ua'O%ua~OY0cO~O!P0dO~Ou#OO!P0eO!Z0fO%}TO~OW%jOq%ra!P%ra~Oq/xO!P&}a~O!P0jO~Ou#OO!P0jO!Z0kO%}TO~O!P0lO~O!P0nO~O#p&QXY&QXs&QXq&QX|&QX~P&bO#pUXYUXsUXqUX|UX~P(iO`Q_P#g%y&P&Xc&X~",goto:"#+S'OPPPP'P'd*x.OP'dPP.d.h0PPPPPP1nP3ZPP4v7l:[WP!?[P!Ap!BW!E]3ZPPP!F|!Jm!MaPP#!P#!SP#$`#$f#&V#&f#&n#'p#(Y#)T#)^#)a#)oP#)r#*OP#*V#*^P#*aP#*lP#*o#*r#*u#*y#+PstOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y'urOPXY`acopx!Y![!_!a!e!f!h!i!o!x#P#T#Y#[#_#`#e#i#l#n#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$]$_$e$l$m$n$o$p$q%O%S%V%Z%^%_%b%d%g%k%u%v%{%|&R&S&[&]&`&b&d&i'X'^'_'`'e'h'i'm'n'p'{'|(O(T(U(`(l(t(v({(})O)Q)R)])f)o)p*P*T*W*l*o*p*q*z*{+O+T+d+f+h+i+l+o+r+s+x+},W,Y,^,`,u-[-^-a-r-t-}.R.V.g.m/O/[/_/b/d/n/q0R0X0Z0[0f0h0k0r#xhO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0kt!sT!Q!S!T!{!}$k%p+]+^+_+`-k-m/W/X/x0oQ#mdS&Y#`(}Q&l#oU&q#t$g,ZQ&x#vW(b%O+s.R/dU)Y%j'v+bQ)Z%kS)u&S,WU*f&s-R._Q*k&yQ,t*TQ-P*iQ.j,cR.t,uu!sT!Q!S!T!{!}$k%p+]+^+_+`-k-m/W/X/x0oT%l!r)l#{qO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0k#zlO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0kX(c%O+s.R/d$TVO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0k$TkO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0k&O[OPX`ceopx!O!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$f$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i&t'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s,Y,^,`-^-r-t-}.R.g.m/O/[/_/b/d/n0Z0f0k0rQ&Q#[Q)s&RV.T+x.X/e&O[OPX`ceopx!O!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$f$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i&t'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s,Y,^,`-^-r-t-}.R.g.m/O/[/_/b/d/n0Z0f0k0rV.T+x.X/e&O]OPX`ceopx!O!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$f$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i&t'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s,Y,^,`-^-r-t-}.R.g.m/O/[/_/b/d/n0Z0f0k0rV.U+x.X/eS#Z[.TS$f!O&tS&s#t$gQ&y#vQ)V%dQ-R*iR._,Z$kZO`copx!Y![!_!a#Y#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$_$l$m$n$o$p$q%O%d%g%k%v&b&d'_'`'i'm(O(T(U(t)Q)R)])f)o)p*P*l*o+T+d+h+i+l+o+s,Y,^,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kQ&O#YR,k)p&P_OPX`ceopx!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s+x,Y,^,`-^-r-t-}.R.X.g.m/O/[/_/b/d/e/n0Z0f0k0r!o#QY!e!x#R#T#`#n$]%R%S%V%^%u%|&S&[&`'X'|(`(l({(}*T*p*z+f+r+},W,u-a.V/q0R0X0[0h$SkO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kQ$m!UQ$n!VQ$s!ZQ$|!`R+p(WQ#yiS'q$e*hQ*e&rQ+X'rS,[)T)UQ-O*gQ-Y*vQ.b,]Q.x-QQ.{-ZQ/j.`Q/u.yR0V/iQ'a$bW*[&m'b'c'dQ+W'qU,x*]*^*_Q-X*vQ-f+XS.u,y,zS.z-Y-ZQ/t.vR/v.{]!mP!o'^*q-^/OreOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!gP!o'^*q-^/OW#b`#e%b&]Q'}$oW(d%O+s.R/dS*U&i*WS*w'e-[S*|'h+OR.X+xh#VY!W!e#n#s%V'|*T*z+f,u-aQ)j%wQ)v&WR,o)y#xnOcopx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0k^!kP!g!o'^*q-^/Ov#TY!W#`#n#s%w&W&[&`'|(`(})y*T+f+r,u.W/hQ#g`Q$b{Q$c|Q$d}W%S!e%V*z-aS%Y!h(vQ%`!iQ&m#pQ&n#qQ&o#rQ(u%ZS(y%^({Q*R&eS*v'e-[R-Z*wU)h%v)f.mR+V'p[!mP!o'^*q-^/OT*}'h+O^!iP!g!o'^*q-^/OQ'd$bQ'l$dQ*_&mQ*d&oV*{'h*|+OQ%[!hR,S(vQ(s%YR,R(u#znO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0kQ%c!kS(l%S(yR(|%`T#e`%bU#c`#e%bR)z&]Q%f!lQ(n%UQ(r%XQ,U(zR.],VrvOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!mP!o'^*q-^/OQ%P!bQ%a!jQ%i!pQ'[$ZQ([$|Q(k%QQ(p%WQ+z(iR.Y+yrtOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!mP!o'^*q-^/OS*V&i*WT*}'h+OQ'c$bS*^&m'dR,z*_Q'b$bQ'g$cU*]&m'c'dQ*a&nS,y*^*_R.v,zQ*u'`R+Q'iQ'k$dS*c&o'lR,}*dQ'j$dU*b&o'k'lS,|*c*dR.w,}rtOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!mP!o'^*q-^/OT*}'h+OQ'f$cS*`&n'gR,{*aQ*x'eR.|-[R-`*yQ&j#mR*Z&lT*V&i*WQ%e!lS(q%X%fR,P(rR)R%dWk%O+s.R/d#{lO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0k$SiO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kU&r#t$g,ZS*g&s._Q-Q*iR.y-RT'o$e'p!_#|m#a$r$z$}&w&z&{'O'P'Q'R'S'W'Z)[)g+S+g+j-T-V-e-v-{.e/Z/a/}0Q!]$Pm#a$r$z$}&w&z&{'O'P'R'S'W'Z)[)g+S+g+j-T-V-e-v-{.e/Z/a/}0Q#{nO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0ka)^%k)],`.g/n0Z0f0kQ)`%kR.k,cQ't$hQ)b%oR,f)cT+Y's+ZsvOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,YruOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,YQ$w!]R$y!^R$p!XrvOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,YR(O$oR$q!XR(V$sT+k(U+lX(f%P(g(k+{R+y(hQ.W+xR/h.XQ(j%PQ+w(gQ+|(kR.Z+{R%Q!bQ(e%OV.P+s.R/dQxOQ#lcW$`x#l)Q,YQ)Q%dR,Y)RrXOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Yn!fP!o#e&]&i'^'e'h*W*q+O+x-[-^/Ol!zX!f#P#_#i$[%Z%_%{&R'n'{)O0r!j#PY!e!x#T#`#n$]%S%V%^%u%|&S&[&`'X'|(`(l({(}*T*p*z+f+r+},W,u-a.V/q0R0X0[0hQ#_`Q#ia#d$[op!Y!_!a#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$l%g%k%v&b&d'_'`'i'm(O(T(t)])f)o*P*l*o+T+h+i+o,^,`-r-t-}.g.m/[/_/b/n0Z0f0kS%Z!h(vS%_!i*{S%{#Y)pQ&R#[S'n$e'pY'{$o%O+s.R/dQ)O%bR0r$YQ!uUR%m!uQ)q&OR,l)q^#RY#`$]'X'|(`*px%R!e!x#n%V%^%|&S&[&`({(}*T*z+f+r,W,u-a.V0R[%t#R%R%u+}0X0hS%u#T%SQ+}(lQ0X/qR0h0[Q*m&{R-U*mQ!oPU%h!o*q/OQ*q'^R/O-^!pbOP`cx![!o#e#l$_$m$n$o$p$q%O%b%d&]&i'^'e'h(U)Q)R*W*q+O+d+l+s+x,Y-[-^.R/O/dY!yX!f#_'{)OT#jb!yQ.n,gR/p.nQ%x#VR)k%xQ&c#fS*O&c.[R.[,QQ(w%[R,T(wQ&^#cR){&^Q,_)WR.d,_Q+O'hR-b+OQ-]*xR.}-]Q*W&iR,v*WQ'p$eR+U'pQ&f#gR*S&fQ.h,aR/m.hQ,d)`R.l,dQ+Z'sR-g+ZQ-k+]R/T-kQ/y/US0^/y0`R0`/{Q+l(UR-x+lQ(g%PS+v(g+{R+{(kQ/f.VR0S/fQ+t(eR.S+t`wOcx#l%d)Q)R,YQ$t![Q']$_Q'y$mQ'z$nQ(Q$pQ(R$qS+k(U+lR-q+d'dsOPXY`acopx!Y![!_!a!e!f!h!i!o!x#P#T#Y#[#_#`#e#i#l#n#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$]$_$e$l$m$n$o$p$q%O%S%V%Z%^%_%b%d%g%u%v%{%|&R&S&[&]&`&b&d&i'X'^'_'`'e'h'i'm'n'p'{'|(O(T(U(`(l(t(v({(})O)Q)R)f)o)p*P*T*W*l*o*p*q*z*{+O+T+d+f+h+i+l+o+r+s+x+},W,Y,^,u-[-^-a-r-t-}.R.V.m/O/[/_/b/d/q0R0X0[0h0ra)_%k)],`.g/n0Z0f0kQ!rTQ$h!QQ$i!SQ$j!TQ%o!{Q%q!}Q'x$kQ)c%pQ)l0oS-i+]+_Q-m+^Q-n+`Q/S-kS/U-m/WQ/{/XR0]/x%uSOT`cdopx!Q!S!T!Y![!_!a!{!}#`#l#o#t#u#v#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$g$k$l$m$n$o$p$q%O%d%j%k%p%v&S&d&s&y'm'v(O(T(U(})Q)R)])f*P*T*i*l*o+T+]+^+_+`+b+d+h+i+l+o+s,W,Y,Z,`,c,u-R-k-m-r-t-}.R._.g.m/W/X/[/_/b/d/n/x0Z0f0k0oQ)a%kQ,a)]S.f,`/nQ/l.gQ0g0ZQ0i0fR0m0krmOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,YS#a`$lQ$WoQ$^pQ$r!YQ$z!_Q$}!aQ&w#uQ&z#wY&{#x$o+h-t/_Q&}#|Q'O#}Q'P$OQ'Q$PQ'R$QQ'S$RQ'T$SQ'U$TQ'V$UQ'W$VQ'Z$Z^)[%k)].g/n0Z0f0kU)g%v)f.mQ*Q&dQ+S'mQ+g(OQ+j(TQ,p*PQ-T*lQ-V*oQ-e+TQ-v+iQ-{+oQ.e,`Q/Z-rQ/a-}Q/}/[R0Q/b#xgO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0kW(a%O+s.R/dR)S%drYOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!eP!o'^*q-^/OW!xX$[%{'{Q#``Q#ne#S$]op!Y!_!a#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$l%k%v&d'm(O(T)])f*P*l*o+T+h+i+o,`-r-t-}.g.m/[/_/b/n0Z0f0kQ%V!gS%^!i*{d%|#Y%g&b'_'`'i(t)o)p,^Q&S#_Q&[#bS&`#e&]Q'X$YQ'|$oW(`%O+s.R/dQ({%_Q(}%bS*T&i*WQ*p0rS*z'h+OQ+f'}Q+r(dQ,W)OQ,u*UQ-a*|S.V+x.XR0R/e&O_OPX`ceopx!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s+x,Y,^,`-^-r-t-}.R.X.g.m/O/[/_/b/d/e/n0Z0f0k0rQ$e!OQ'r$fR*h&t&ZWOPX`ceopx!O!Y![!_!a!g!i!o#Y#[#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$f$l$m$n$o$p$q%O%_%b%d%g%k%v%{&R&]&b&d&i&t'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s+x,Y,^,`-^-r-t-}.R.X.g.m/O/[/_/b/d/e/n0Z0f0k0rR&P#Y$QjOcopx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kQ#f`Q&O#YQ'Y$YU)W%g'`'iQ)}&bQ*s'_Q,Q(tQ,j)oQ,k)pR.c,^Q)n%}R,i)m$SfO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kT&p#t,ZQ&|#xQ(P$oQ-u+hQ/]-tR0P/_]!nP!o'^*q-^/O#PaOPX`bcx![!f!o!y#_#e#l$_$m$n$o$p$q%O%b%d&]&i'^'e'h'{(U)O)Q)R*W*q+O+d+l+s+x,Y-[-^.R/O/dU#WY!W'|Q%T!eU&k#n#s+fQ(o%VS,s*T*zT.s,u-aj#UY!W!e#n#s%V%w&W)y*T*z,u-aU&V#`&`(}Q)x&[Q+e'|Q+q(`Q-s+fQ.O+rQ/g.WR0U/hQ)i%vQ,g)fR/o.mR,h)f`!jP!o'^'h*q+O-^/OT%W!g*|R%]!hW%U!e%V*z-aQ(z%^R,V({S#d`%bR&a#eQ)X%gT*t'`'iR*y'e[!lP!o'^*q-^/OR%X!gR#h`R,b)]R)a%kT-j+]-kQ/V-mR/z/WR/z/X",nodeNames:"\u26A0 LineComment BlockComment Program ModuleDeclaration MarkerAnnotation Identifier ScopedIdentifier . Annotation ) ( AnnotationArgumentList AssignmentExpression FieldAccess IntegerLiteral FloatingPointLiteral BooleanLiteral CharacterLiteral StringLiteral TextBlock null ClassLiteral void PrimitiveType TypeName ScopedTypeName GenericType TypeArguments AnnotatedType Wildcard extends super , ArrayType ] Dimension [ class this ParenthesizedExpression ObjectCreationExpression new ArgumentList } { ClassBody ; FieldDeclaration Modifiers public protected private abstract static final strictfp default synchronized native transient volatile VariableDeclarator Definition AssignOp ArrayInitializer MethodDeclaration TypeParameters TypeParameter TypeBound FormalParameters ReceiverParameter FormalParameter SpreadParameter Throws throws Block ClassDeclaration Superclass SuperInterfaces implements InterfaceTypeList InterfaceDeclaration interface ExtendsInterfaces InterfaceBody ConstantDeclaration EnumDeclaration enum EnumBody EnumConstant EnumBodyDeclarations AnnotationTypeDeclaration AnnotationTypeBody AnnotationTypeElementDeclaration StaticInitializer ConstructorDeclaration ConstructorBody ExplicitConstructorInvocation ArrayAccess MethodInvocation MethodName MethodReference ArrayCreationExpression Dimension AssignOp BinaryExpression CompareOp CompareOp LogicOp LogicOp BitOp BitOp BitOp ArithOp ArithOp ArithOp BitOp InstanceofExpression instanceof LambdaExpression InferredParameters TernaryExpression LogicOp : UpdateExpression UpdateOp UnaryExpression LogicOp BitOp CastExpression ElementValueArrayInitializer ElementValuePair open module ModuleBody ModuleDirective requires transitive exports to opens uses provides with PackageDeclaration package ImportDeclaration import Asterisk ExpressionStatement LabeledStatement Label IfStatement if else WhileStatement while ForStatement for ForSpec LocalVariableDeclaration var EnhancedForStatement ForSpec AssertStatement assert SwitchStatement switch SwitchBlock SwitchLabel case DoStatement do BreakStatement break ContinueStatement continue ReturnStatement return SynchronizedStatement ThrowStatement throw TryStatement try CatchClause catch CatchFormalParameter CatchType FinallyClause finally TryWithResourcesStatement ResourceSpecification Resource ClassContent",maxTerm:276,nodeProps:[["isolate",-4,1,2,18,19,""],["group",-26,4,47,76,77,82,87,92,145,147,150,151,153,156,158,161,163,165,167,172,174,176,178,180,181,183,191,"Statement",-25,6,13,14,15,16,17,18,19,20,21,22,39,40,41,99,100,102,103,106,118,120,122,125,127,130,"Expression",-7,23,24,25,26,27,29,34,"Type"],["openedBy",10,"(",44,"{"],["closedBy",11,")",45,"}"]],propSources:[Ib],skippedNodes:[0,1,2],repeatNodeCount:28,tokenData:"#'f_R!_OX%QXY'fYZ)bZ^'f^p%Qpq'fqr*|rs,^st%Qtu4euv5zvw7[wx8rxyAZyzAwz{Be{|CZ|}Dq}!OE_!O!PFx!P!Q! r!Q!R!,h!R![!0`![!]!>p!]!^!@Q!^!_!@n!_!`!BX!`!a!B{!a!b!Di!b!c!EX!c!}!LT!}#O!Mj#O#P%Q#P#Q!NW#Q#R!Nt#R#S4e#S#T%Q#T#o4e#o#p# h#p#q#!U#q#r##n#r#s#$[#s#y%Q#y#z'f#z$f%Q$f$g'f$g#BY4e#BY#BZ#$x#BZ$IS4e$IS$I_#$x$I_$I|4e$I|$JO#$x$JO$JT4e$JT$JU#$x$JU$KV4e$KV$KW#$x$KW&FU4e&FU&FV#$x&FV;'S4e;'S;=`5t<%lO4eS%VV&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QS%qO&YSS%tVOY&ZYZ%lZr&Zrs&ys;'S&Z;'S;=`'`<%lO&ZS&^VOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QS&vP;=`<%l%QS&|UOY&ZYZ%lZr&Zs;'S&Z;'S;=`'`<%lO&ZS'cP;=`<%l&Z_'mk&YS%yZOX%QXY'fYZ)bZ^'f^p%Qpq'fqr%Qrs%qs#y%Q#y#z'f#z$f%Q$f$g'f$g#BY%Q#BY#BZ'f#BZ$IS%Q$IS$I_'f$I_$I|%Q$I|$JO'f$JO$JT%Q$JT$JU'f$JU$KV%Q$KV$KW'f$KW&FU%Q&FU&FV'f&FV;'S%Q;'S;=`&s<%lO%Q_)iY&YS%yZX^*Xpq*X#y#z*X$f$g*X#BY#BZ*X$IS$I_*X$I|$JO*X$JT$JU*X$KV$KW*X&FU&FV*XZ*^Y%yZX^*Xpq*X#y#z*X$f$g*X#BY#BZ*X$IS$I_*X$I|$JO*X$JT$JU*X$KV$KW*X&FU&FV*XV+TX#tP&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`+p!`;'S%Q;'S;=`&s<%lO%QU+wV#_Q&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT,aXOY,|YZ%lZr,|rs3Ys#O,|#O#P2d#P;'S,|;'S;=`3S<%lO,|T-PXOY-lYZ%lZr-lrs.^s#O-l#O#P.x#P;'S-l;'S;=`2|<%lO-lT-qX&YSOY-lYZ%lZr-lrs.^s#O-l#O#P.x#P;'S-l;'S;=`2|<%lO-lT.cVcPOY&ZYZ%lZr&Zrs&ys;'S&Z;'S;=`'`<%lO&ZT.}V&YSOY-lYZ/dZr-lrs1]s;'S-l;'S;=`2|<%lO-lT/iW&YSOY0RZr0Rrs0ns#O0R#O#P0s#P;'S0R;'S;=`1V<%lO0RP0UWOY0RZr0Rrs0ns#O0R#O#P0s#P;'S0R;'S;=`1V<%lO0RP0sOcPP0vTOY0RYZ0RZ;'S0R;'S;=`1V<%lO0RP1YP;=`<%l0RT1`XOY,|YZ%lZr,|rs1{s#O,|#O#P2d#P;'S,|;'S;=`3S<%lO,|T2QUcPOY&ZYZ%lZr&Zs;'S&Z;'S;=`'`<%lO&ZT2gVOY-lYZ/dZr-lrs1]s;'S-l;'S;=`2|<%lO-lT3PP;=`<%l-lT3VP;=`<%l,|T3_VcPOY&ZYZ%lZr&Zrs3ts;'S&Z;'S;=`'`<%lO&ZT3yR&WSXY4SYZ4`pq4SP4VRXY4SYZ4`pq4SP4eO&XP_4lb&YS&PZOY%QYZ%lZr%Qrs%qst%Qtu4eu!Q%Q!Q![4e![!c%Q!c!}4e!}#R%Q#R#S4e#S#T%Q#T#o4e#o$g%Q$g;'S4e;'S;=`5t<%lO4e_5wP;=`<%l4eU6RX#hQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QU6uV#]Q&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QV7cZ&nR&YSOY%QYZ%lZr%Qrs%qsv%Qvw8Uw!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QU8]V#aQ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT8wZ&YSOY9jYZ%lZr9jrs:xsw9jwx%Qx#O9j#O#PhYZ%lZr>hrs?dsw>hwx;hx#O>h#O#P&Z#P;'S>h;'S;=`@}<%lO>hT>kZOYhYZ%lZr>hrs@Ysw>hwx;hx#O>h#O#P&Z#P;'S>h;'S;=`@}<%lO>hP@]VOY@YZw@Ywx@rx#O@Y#P;'S@Y;'S;=`@w<%lO@YP@wObPP@zP;=`<%l@YTAQP;=`<%l>hTAWP;=`<%l9j_AbVZZ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QVBOVYR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QVBnX$ZP&YS#gQOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QVCbZ#fR&YSOY%QYZ%lZr%Qrs%qs{%Q{|DT|!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QVD[V#rR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QVDxVqR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QVEf[#fR&YSOY%QYZ%lZr%Qrs%qs}%Q}!ODT!O!_%Q!_!`6n!`!aF[!a;'S%Q;'S;=`&s<%lO%QVFcV&xR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_GPZWY&YSOY%QYZ%lZr%Qrs%qs!O%Q!O!PGr!P!Q%Q!Q![IQ![;'S%Q;'S;=`&s<%lO%QVGwX&YSOY%QYZ%lZr%Qrs%qs!O%Q!O!PHd!P;'S%Q;'S;=`&s<%lO%QVHkV&qR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QTIXc&YS`POY%QYZ%lZr%Qrs%qs!Q%Q!Q![IQ![!f%Q!f!gJd!g!hKQ!h!iJd!i#R%Q#R#SNz#S#W%Q#W#XJd#X#YKQ#Y#ZJd#Z;'S%Q;'S;=`&s<%lO%QTJkV&YS`POY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QTKV]&YSOY%QYZ%lZr%Qrs%qs{%Q{|LO|}%Q}!OLO!O!Q%Q!Q![Lp![;'S%Q;'S;=`&s<%lO%QTLTX&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![Lp![;'S%Q;'S;=`&s<%lO%QTLwc&YS`POY%QYZ%lZr%Qrs%qs!Q%Q!Q![Lp![!f%Q!f!gJd!g!h%Q!h!iJd!i#R%Q#R#SNS#S#W%Q#W#XJd#X#Y%Q#Y#ZJd#Z;'S%Q;'S;=`&s<%lO%QTNXZ&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![Lp![#R%Q#R#SNS#S;'S%Q;'S;=`&s<%lO%QT! PZ&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![IQ![#R%Q#R#SNz#S;'S%Q;'S;=`&s<%lO%Q_! y]&YS#gQOY%QYZ%lZr%Qrs%qsz%Qz{!!r{!P%Q!P!Q!)e!Q!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%Q_!!wX&YSOY!!rYZ!#dZr!!rrs!%Psz!!rz{!&_{;'S!!r;'S;=`!'s<%lO!!r_!#iT&YSOz!#xz{!$[{;'S!#x;'S;=`!$y<%lO!#xZ!#{TOz!#xz{!$[{;'S!#x;'S;=`!$y<%lO!#xZ!$_VOz!#xz{!$[{!P!#x!P!Q!$t!Q;'S!#x;'S;=`!$y<%lO!#xZ!$yOQZZ!$|P;=`<%l!#x_!%SXOY!%oYZ!#dZr!%ors!'ysz!%oz{!(i{;'S!%o;'S;=`!)_<%lO!%o_!%rXOY!!rYZ!#dZr!!rrs!%Psz!!rz{!&_{;'S!!r;'S;=`!'s<%lO!!r_!&dZ&YSOY!!rYZ!#dZr!!rrs!%Psz!!rz{!&_{!P!!r!P!Q!'V!Q;'S!!r;'S;=`!'s<%lO!!r_!'^V&YSQZOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_!'vP;=`<%l!!r_!'|XOY!%oYZ!#dZr!%ors!#xsz!%oz{!(i{;'S!%o;'S;=`!)_<%lO!%o_!(lZOY!!rYZ!#dZr!!rrs!%Psz!!rz{!&_{!P!!r!P!Q!'V!Q;'S!!r;'S;=`!'s<%lO!!r_!)bP;=`<%l!%o_!)lV&YSPZOY!)eYZ%lZr!)ers!*Rs;'S!)e;'S;=`!+X<%lO!)e_!*WVPZOY!*mYZ%lZr!*mrs!+_s;'S!*m;'S;=`!,b<%lO!*m_!*rVPZOY!)eYZ%lZr!)ers!*Rs;'S!)e;'S;=`!+X<%lO!)e_!+[P;=`<%l!)e_!+dVPZOY!*mYZ%lZr!*mrs!+ys;'S!*m;'S;=`!,b<%lO!*mZ!,OSPZOY!+yZ;'S!+y;'S;=`!,[<%lO!+yZ!,_P;=`<%l!+y_!,eP;=`<%l!*mT!,ou&YS_POY%QYZ%lZr%Qrs%qs!O%Q!O!P!/S!P!Q%Q!Q![!0`![!d%Q!d!e!3j!e!f%Q!f!gJd!g!hKQ!h!iJd!i!n%Q!n!o!2U!o!q%Q!q!r!5h!r!z%Q!z!{!7`!{#R%Q#R#S!2r#S#U%Q#U#V!3j#V#W%Q#W#XJd#X#YKQ#Y#ZJd#Z#`%Q#`#a!2U#a#c%Q#c#d!5h#d#l%Q#l#m!7`#m;'S%Q;'S;=`&s<%lO%QT!/Za&YS`POY%QYZ%lZr%Qrs%qs!Q%Q!Q![IQ![!f%Q!f!gJd!g!hKQ!h!iJd!i#W%Q#W#XJd#X#YKQ#Y#ZJd#Z;'S%Q;'S;=`&s<%lO%QT!0gi&YS_POY%QYZ%lZr%Qrs%qs!O%Q!O!P!/S!P!Q%Q!Q![!0`![!f%Q!f!gJd!g!hKQ!h!iJd!i!n%Q!n!o!2U!o#R%Q#R#S!2r#S#W%Q#W#XJd#X#YKQ#Y#ZJd#Z#`%Q#`#a!2U#a;'S%Q;'S;=`&s<%lO%QT!2]V&YS_POY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT!2wZ&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![!0`![#R%Q#R#S!2r#S;'S%Q;'S;=`&s<%lO%QT!3oY&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q!R!4_!R!S!4_!S;'S%Q;'S;=`&s<%lO%QT!4f`&YS_POY%QYZ%lZr%Qrs%qs!Q%Q!Q!R!4_!R!S!4_!S!n%Q!n!o!2U!o#R%Q#R#S!3j#S#`%Q#`#a!2U#a;'S%Q;'S;=`&s<%lO%QT!5mX&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q!Y!6Y!Y;'S%Q;'S;=`&s<%lO%QT!6a_&YS_POY%QYZ%lZr%Qrs%qs!Q%Q!Q!Y!6Y!Y!n%Q!n!o!2U!o#R%Q#R#S!5h#S#`%Q#`#a!2U#a;'S%Q;'S;=`&s<%lO%QT!7e_&YSOY%QYZ%lZr%Qrs%qs!O%Q!O!P!8d!P!Q%Q!Q![!:r![!c%Q!c!i!:r!i#T%Q#T#Z!:r#Z;'S%Q;'S;=`&s<%lO%QT!8i]&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![!9b![!c%Q!c!i!9b!i#T%Q#T#Z!9b#Z;'S%Q;'S;=`&s<%lO%QT!9gc&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![!9b![!c%Q!c!i!9b!i!r%Q!r!sKQ!s#R%Q#R#S!8d#S#T%Q#T#Z!9b#Z#d%Q#d#eKQ#e;'S%Q;'S;=`&s<%lO%QT!:yi&YS_POY%QYZ%lZr%Qrs%qs!O%Q!O!P!wX#pR&YSOY%QYZ%lZr%Qrs%qs![%Q![!]!?d!];'S%Q;'S;=`&s<%lO%QV!?kV&vR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QV!@XV!PR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_!@uY&_Z&YSOY%QYZ%lZr%Qrs%qs!^%Q!^!_!Ae!_!`+p!`;'S%Q;'S;=`&s<%lO%QU!AlX#iQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QV!B`X!bR&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`+p!`;'S%Q;'S;=`&s<%lO%QV!CSY&^R&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`+p!`!a!Cr!a;'S%Q;'S;=`&s<%lO%QU!CyY#iQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`!a!Ae!a;'S%Q;'S;=`&s<%lO%Q_!DrV&bX#oQ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_!E`X%}Z&YSOY%QYZ%lZr%Qrs%qs#]%Q#]#^!E{#^;'S%Q;'S;=`&s<%lO%QV!FQX&YSOY%QYZ%lZr%Qrs%qs#b%Q#b#c!Fm#c;'S%Q;'S;=`&s<%lO%QV!FrX&YSOY%QYZ%lZr%Qrs%qs#h%Q#h#i!G_#i;'S%Q;'S;=`&s<%lO%QV!GdX&YSOY%QYZ%lZr%Qrs%qs#X%Q#X#Y!HP#Y;'S%Q;'S;=`&s<%lO%QV!HUX&YSOY%QYZ%lZr%Qrs%qs#f%Q#f#g!Hq#g;'S%Q;'S;=`&s<%lO%QV!HvX&YSOY%QYZ%lZr%Qrs%qs#Y%Q#Y#Z!Ic#Z;'S%Q;'S;=`&s<%lO%QV!IhX&YSOY%QYZ%lZr%Qrs%qs#T%Q#T#U!JT#U;'S%Q;'S;=`&s<%lO%QV!JYX&YSOY%QYZ%lZr%Qrs%qs#V%Q#V#W!Ju#W;'S%Q;'S;=`&s<%lO%QV!JzX&YSOY%QYZ%lZr%Qrs%qs#X%Q#X#Y!Kg#Y;'S%Q;'S;=`&s<%lO%QV!KnV&tR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_!L[b&RZ&YSOY%QYZ%lZr%Qrs%qst%Qtu!LTu!Q%Q!Q![!LT![!c%Q!c!}!LT!}#R%Q#R#S!LT#S#T%Q#T#o!LT#o$g%Q$g;'S!LT;'S;=`!Md<%lO!LT_!MgP;=`<%l!LT_!MqVuZ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QV!N_VsR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QU!N{X#eQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QV# oV}R&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_#!_Z'OX#dQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`#p%Q#p#q##Q#q;'S%Q;'S;=`&s<%lO%QU##XV#bQ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QV##uV|R&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT#$cV#uP&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_#%Ru&YS%yZ&PZOX%QXY'fYZ)bZ^'f^p%Qpq'fqr%Qrs%qst%Qtu4eu!Q%Q!Q![4e![!c%Q!c!}4e!}#R%Q#R#S4e#S#T%Q#T#o4e#o#y%Q#y#z'f#z$f%Q$f$g'f$g#BY4e#BY#BZ#$x#BZ$IS4e$IS$I_#$x$I_$I|4e$I|$JO#$x$JO$JT4e$JT$JU#$x$JU$KV4e$KV$KW#$x$KW&FU4e&FU&FV#$x&FV;'S4e;'S;=`5t<%lO4e",tokenizers:[0,1,2,3],topRules:{Program:[0,3],ClassContent:[1,194]},dynamicPrecedences:{27:1,232:-1,243:-1},specialized:[{term:231,get:O=>Bb[O]||-1}],tokenPrec:7144});var Nb=ae.define({name:"java",parser:s$.configure({props:[le.add({IfStatement:ce({except:/^\s*({|else\b)/}),TryStatement:ce({except:/^\s*({|catch|finally)\b/}),LabeledStatement:iO,SwitchBlock:O=>{let e=O.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return O.baseIndent+(t?0:i?1:2)*O.unit},Block:xe({closing:"}"}),BlockComment:()=>null,Statement:ce({except:/^{/})}),ne.add({"Block SwitchBlock ClassBody ElementValueArrayInitializer ModuleBody EnumBody ConstructorBody InterfaceBody ArrayInitializer":me,BlockComment(O){return{from:O.from+2,to:O.to-2}}})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\})$/}});function o$(){return new Oe(Nb)}var Fb=H({String:u.string,Number:u.number,"True False":u.bool,PropertyName:u.propertyName,Null:u.null,", :":u.separator,"[ ]":u.squareBracket,"{ }":u.brace}),a$=se.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Fb],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var Hb=ae.define({name:"json",parser:a$.configure({props:[le.add({Object:ce({except:/^\s*\}/}),Array:ce({except:/^\s*\]/})}),ne.add({"Object Array":me})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function l$(){return new Oe(Hb)}var Ps=class O{static create(e,t,i,r,n){let s=r+(r<<8)+e+(t<<4)|0;return new O(e,t,i,s,n,[],[])}constructor(e,t,i,r,n,s,o){this.type=e,this.value=t,this.from=i,this.hash=r,this.end=n,this.children=s,this.positions=o,this.hashProp=[[Y.contextHash,r]]}addChild(e,t){e.prop(Y.contextHash)!=this.hash&&(e=new D(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let i=this.children.length-1;return i>=0&&(t=Math.max(t,this.positions[i]+this.children[i].length+this.from)),new D(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(r,n,s)=>new D(ue.none,r,n,s,this.hashProp)})}},x;(function(O){O[O.Document=1]="Document",O[O.CodeBlock=2]="CodeBlock",O[O.FencedCode=3]="FencedCode",O[O.Blockquote=4]="Blockquote",O[O.HorizontalRule=5]="HorizontalRule",O[O.BulletList=6]="BulletList",O[O.OrderedList=7]="OrderedList",O[O.ListItem=8]="ListItem",O[O.ATXHeading1=9]="ATXHeading1",O[O.ATXHeading2=10]="ATXHeading2",O[O.ATXHeading3=11]="ATXHeading3",O[O.ATXHeading4=12]="ATXHeading4",O[O.ATXHeading5=13]="ATXHeading5",O[O.ATXHeading6=14]="ATXHeading6",O[O.SetextHeading1=15]="SetextHeading1",O[O.SetextHeading2=16]="SetextHeading2",O[O.HTMLBlock=17]="HTMLBlock",O[O.LinkReference=18]="LinkReference",O[O.Paragraph=19]="Paragraph",O[O.CommentBlock=20]="CommentBlock",O[O.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",O[O.Escape=22]="Escape",O[O.Entity=23]="Entity",O[O.HardBreak=24]="HardBreak",O[O.Emphasis=25]="Emphasis",O[O.StrongEmphasis=26]="StrongEmphasis",O[O.Link=27]="Link",O[O.Image=28]="Image",O[O.InlineCode=29]="InlineCode",O[O.HTMLTag=30]="HTMLTag",O[O.Comment=31]="Comment",O[O.ProcessingInstruction=32]="ProcessingInstruction",O[O.Autolink=33]="Autolink",O[O.HeaderMark=34]="HeaderMark",O[O.QuoteMark=35]="QuoteMark",O[O.ListMark=36]="ListMark",O[O.LinkMark=37]="LinkMark",O[O.EmphasisMark=38]="EmphasisMark",O[O.CodeMark=39]="CodeMark",O[O.CodeText=40]="CodeText",O[O.CodeInfo=41]="CodeInfo",O[O.LinkTitle=42]="LinkTitle",O[O.LinkLabel=43]="LinkLabel",O[O.URL=44]="URL"})(x||(x={}));var Hl=class{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}},Kl=class{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return Pr(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,i=0){for(let r=t;r=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let i=(O.type==x.OrderedList?fh:ch)(t,e,!1);return i>0&&(O.type!=x.BulletList||hh(t,e,!1)<0)&&t.text.charCodeAt(t.pos+i-1)==O.value}var P$={[x.Blockquote](O,e,t){return t.next!=62?!1:(t.markers.push(L(x.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(ot(t.text.charCodeAt(t.pos+1))?2:1)),O.end=e.lineStart+t.text.length,!0)},[x.ListItem](O,e,t){return t.indent-1?!1:(t.moveBaseColumn(t.baseIndent+O.value),!0)},[x.OrderedList]:h$,[x.BulletList]:h$,[x.Document](){return!0}};function ot(O){return O==32||O==9||O==10||O==13}function Pr(O,e=0){for(;et&&ot(O.charCodeAt(e-1));)e--;return e}function y$(O){if(O.next!=96&&O.next!=126)return-1;let e=O.pos+1;for(;e-1&&O.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(q$.SetextHeading)>-1||i<3?-1:1}function x$(O,e){for(let t=O.stack.length-1;t>=0;t--)if(O.stack[t].type==e)return!0;return!1}function ch(O,e,t){return(O.next==45||O.next==43||O.next==42)&&(O.pos==O.text.length-1||ot(O.text.charCodeAt(O.pos+1)))&&(!t||x$(e,x.BulletList)||O.skipSpace(O.pos+2)=48&&r<=57;){i++;if(i==O.text.length)return-1;r=O.text.charCodeAt(i)}return i==O.pos||i>O.pos+9||r!=46&&r!=41||iO.pos+1||O.next!=49)?-1:i+1-O.pos}function b$(O){if(O.next!=35)return-1;let e=O.pos+1;for(;e6?-1:t}function T$(O){if(O.next!=45&&O.next!=61||O.indent>=O.baseIndent+4)return-1;let e=O.pos+1;for(;e/,w$=/\?>/,eh=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(i);if(n)return O.append(L(x.Comment,t,t+1+n[0].length));let s=/^\?[^]*?\?>/.exec(i);if(s)return O.append(L(x.ProcessingInstruction,t,t+1+s[0].length));let o=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(i);return o?O.append(L(x.HTMLTag,t,t+1+o[0].length)):-1},Emphasis(O,e,t){if(e!=95&&e!=42)return-1;let i=t+1;for(;O.char(i)==e;)i++;let r=O.slice(t-1,t),n=O.slice(i,i+1),s=xr.test(r),o=xr.test(n),a=/\s|^$/.test(r),l=/\s|^$/.test(n),h=!l&&(!o||a||s),c=!a&&(!s||l||o),f=h&&(e==42||!c||s),d=c&&(e==42||!h||o);return O.append(new Ee(e==95?Y$:W$,t,i,(f?1:0)|(d?2:0)))},HardBreak(O,e,t){if(e==92&&O.char(t+1)==10)return O.append(L(x.HardBreak,t,t+2));if(e==32){let i=t+1;for(;O.char(i)==32;)i++;if(O.char(i)==10&&i>=t+2)return O.append(L(x.HardBreak,t,i+1))}return-1},Link(O,e,t){return e==91?O.append(new Ee(ui,t,t+1,1)):-1},Image(O,e,t){return e==33&&O.char(t+1)==91?O.append(new Ee(nh,t,t+2,1)):-1},LinkEnd(O,e,t){if(e!=93)return-1;for(let i=O.parts.length-1;i>=0;i--){let r=O.parts[i];if(r instanceof Ee&&(r.type==ui||r.type==nh)){if(!r.side||O.skipSpace(r.to)==t&&!/[(\[]/.test(O.slice(t+1,t+2)))return O.parts[i]=null,-1;let n=O.takeContent(i),s=O.parts[i]=eT(O,n,r.type==ui?x.Link:x.Image,r.from,t+1);if(r.type==ui)for(let o=0;oe?L(x.URL,e+t,n+t):n==O.length?null:!1}}function V$(O,e,t){let i=O.charCodeAt(e);if(i!=39&&i!=34&&i!=40)return!1;let r=i==40?41:i;for(let n=e+1,s=!1;n=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,i,r,n){return this.append(new Ee(e,t,i,(r?1:0)|(n?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof Ee&&(t.type==ui||t.type==nh))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let i=e;i=e;a--){let p=this.parts[a];if(p instanceof Ee&&p.side&1&&p.type==r.type&&!(n&&(r.side&1||p.side&2)&&(p.to-p.from+s)%3==0&&((p.to-p.from)%3||s%3))){o=p;break}}if(!o)continue;let l=r.type.resolve,h=[],c=o.from,f=r.to;if(n){let p=Math.min(2,o.to-o.from,s);c=o.to-p,f=r.from+p,l=p==1?"Emphasis":"StrongEmphasis"}o.type.mark&&h.push(this.elt(o.type.mark,c,o.to));for(let p=a+1;p=0;t--){let i=this.parts[t];if(i instanceof Ee&&i.type==e)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}skipSpace(e){return Pr(this.text,e-this.offset)+this.offset}elt(e,t,i,r){return typeof e=="string"?L(this.parser.getNodeType(e),t,i,r):new Xs(e,t)}};function oh(O,e){if(!e.length)return O;if(!O.length)return e;let t=O.slice(),i=0;for(let r of e){for(;i(e?e-1:0))return!1;if(this.fragmentEnd<0){let n=this.fragment.to;for(;n>0&&this.input.read(n-1,n)!=` +`;)n--;this.fragmentEnd=n?n-1:0}let i=this.cursor;i||(i=this.cursor=this.fragment.tree.cursor(),i.firstChild());let r=e+this.fragment.offset;for(;i.to<=r;)if(!i.parent())return!1;for(;;){if(i.from>=r)return this.fragment.from<=t;if(!i.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(Y.contextHash)==e}takeNodes(e){let t=this.cursor,i=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),n=e.absoluteLineStart,s=n,o=e.block.children.length,a=s,l=o;for(;;){if(t.to-i>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let h=_$(t.from-i,e.ranges);if(t.to-i<=e.ranges[e.rangeI].to)e.addNode(t.tree,h);else{let c=new D(e.parser.nodeSet.types[x.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(c,t.tree),e.addNode(c,h)}if(t.type.is("Block")&&(tT.indexOf(t.type.id)<0?(s=t.to-i,o=e.block.children.length):(s=a,o=l,a=t.to-i,l=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>o;)e.block.children.pop(),e.block.positions.pop();return s-n}};function _$(O,e){let t=O;for(let i=1;igs[O]),Object.keys(gs).map(O=>q$[O]),Object.keys(gs),Kb,P$,Object.keys(Fl).map(O=>Fl[O]),Object.keys(Fl),[]);function iT(O,e,t){let i=[];for(let r=O.firstChild,n=e;;r=r.nextSibling){let s=r?r.from:t;if(s>n&&i.push({from:n,to:s}),!r)break;n=r.to}return i}function C$(O){let{codeParser:e,htmlParser:t}=O;return{wrap:PO((r,n)=>{let s=r.type.id;if(e&&(s==x.CodeBlock||s==x.FencedCode)){let o="";if(s==x.FencedCode){let l=r.node.getChild(x.CodeInfo);l&&(o=n.read(l.from,l.to))}let a=e(o);if(a)return{parser:a,overlay:l=>l.type.id==x.CodeText}}else if(t&&(s==x.HTMLBlock||s==x.HTMLTag||s==x.CommentBlock))return{parser:t,overlay:iT(r.node,r.from,r.to)};return null})}}var rT={resolve:"Strikethrough",mark:"StrikethroughMark"},nT={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":u.strikethrough}},{name:"StrikethroughMark",style:u.processingInstruction}],parseInline:[{name:"Strikethrough",parse(O,e,t){if(e!=126||O.char(t+1)!=126||O.char(t+2)==126)return-1;let i=O.slice(t-1,t),r=O.slice(t+2,t+3),n=/\s|^$/.test(i),s=/\s|^$/.test(r),o=xr.test(i),a=xr.test(r);return O.addDelimiter(rT,t,t+2,!s&&(!a||n||o),!n&&(!o||s||a))},after:"Emphasis"}]};function yr(O,e,t=0,i,r=0){let n=0,s=!0,o=-1,a=-1,l=!1,h=()=>{i.push(O.elt("TableCell",r+o,r+a,O.parser.parseInline(e.slice(o,a),r+o)))};for(let c=t;c-1)&&n++,s=!1,i&&(o>-1&&h(),i.push(O.elt("TableDelimiter",c+r,c+r+1))),o=a=-1):(l||f!=32&&f!=9)&&(o<0&&(o=c),a=c+1),l=!l&&f==92}return o>-1&&(n++,i&&h()),n}function d$(O,e){for(let t=e;tr instanceof xs)||!d$(e.text,e.basePos))return!1;let i=O.peekLine();return G$.test(i)&&yr(O,e.text,e.basePos)==yr(O,i,e.basePos)},before:"SetextHeading"}]},lh=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},oT={defineNodes:[{name:"Task",block:!0,style:u.list},{name:"TaskMarker",style:u.atom}],parseBlock:[{name:"TaskList",leaf(O,e){return/^\[[ xX]\][ \t]/.test(e.content)&&O.parentType().name=="ListItem"?new lh:null},after:"SetextHeading"}]},Q$=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,p$=/[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy,aT=/[\w-]+\.[\w-]+($|\/)/,$$=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,m$=/\/[a-zA-Z\d@.]+/gy;function g$(O,e,t,i){let r=0;for(let n=e;n-1)return-1;let i=e+t[0].length;for(;;){let r=O[i-1],n;if(/[?!.,:*_~]/.test(r)||r==")"&&g$(O,e,i,")")>g$(O,e,i,"("))i--;else if(r==";"&&(n=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(O.slice(e,i))))i=e+n.index;else break}return i}function S$(O,e){$$.lastIndex=e;let t=$$.exec(O);if(!t)return-1;let i=t[0][t[0].length-1];return i=="_"||i=="-"?-1:e+t[0].length-(i=="."?1:0)}var hT={parseInline:[{name:"Autolink",parse(O,e,t){let i=t-O.offset;if(i&&/\w/.test(O.text[i-1]))return-1;Q$.lastIndex=i;let r=Q$.exec(O.text),n=-1;if(!r)return-1;if(r[1]||r[2]){if(n=lT(O.text,i+r[0].length),n>-1&&O.hasOpenLink){let s=/([^\[\]]|\[[^\]]*\])*/.exec(O.text.slice(i,n));n=i+s[0].length}}else r[3]?n=S$(O.text,i):(n=S$(O.text,i+r[0].length),n>-1&&r[0]=="xmpp:"&&(m$.lastIndex=n,r=m$.exec(O.text),r&&(n=r.index+r[0].length)));return n<0?-1:(O.addElement(O.elt("URL",t,n+O.offset)),n+O.offset)}}]},E$=[sT,oT,nT,hT];function A$(O,e,t){return(i,r,n)=>{if(r!=O||i.char(n+1)==O)return-1;let s=[i.elt(t,n,n+1)];for(let o=n+1;o"}}}),F$=new Y,H$=j$.configure({props:[ne.add(O=>!O.is("Block")||O.is("Document")||Qh(O)!=null||cT(O)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),F$.add(Qh),le.add({Document:()=>null}),eO.add({Document:N$})]});function Qh(O){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(O.name);return e?+e[1]:void 0}function cT(O){return O.name=="OrderedList"||O.name=="BulletList"}function fT(O,e){let t=O;for(;;){let i=t.nextSibling,r;if(!i||(r=Qh(i.type))!=null&&r<=e)break;t=i}return t.to}var uT=qa.of((O,e,t)=>{for(let i=j(O).resolveInner(t,-1);i&&!(i.fromt)return{from:t,to:n}}return null});function $h(O){return new Ye(N$,O,[uT],"markdown")}var dT=$h(H$),QT=H$.configure([E$,M$,L$,D$,{props:[ne.add({Table:(O,e)=>({from:e.doc.lineAt(O.from).to,to:O.to})})]}]),ph=$h(QT);function pT(O,e){return t=>{if(t&&O){let i=null;if(t=/\S*/.exec(t)[0],typeof O=="function"?i=O(t):i=Ki.matchLanguageName(O,t,!0),i instanceof Ki)return i.support?i.support.language.parser:Fi.getSkippingParser(i.load());if(i)return i.parser}return e?e.parser:null}}var br=class{constructor(e,t,i,r,n,s,o){this.node=e,this.from=t,this.to=i,this.spaceBefore=r,this.spaceAfter=n,this.type=s,this.item=o}blank(e,t=!0){let i=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;i.length0;r--)i+=" ";return i+(t?this.spaceAfter:"")}}marker(e,t){let i=this.node.name=="OrderedList"?String(+J$(this.item,e)[2]+t):"";return this.spaceBefore+i+this.type+this.spaceAfter}};function K$(O,e){let t=[],i=[];for(let r=O;r;r=r.parent){if(r.name=="FencedCode")return i;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let n=t[r],s,o=e.lineAt(n.from),a=n.from-o.from;if(n.name=="Blockquote"&&(s=/^ *>( ?)/.exec(o.text.slice(a))))i.push(new br(n,a,a+s[0].length,"",s[1],">",null));else if(n.name=="ListItem"&&n.parent.name=="OrderedList"&&(s=/^( *)\d+([.)])( *)/.exec(o.text.slice(a)))){let l=s[3],h=s[0].length;l.length>=4&&(l=l.slice(0,l.length-4),h-=4),i.push(new br(n.parent,a,a+h,s[1],l,s[2],n))}else if(n.name=="ListItem"&&n.parent.name=="BulletList"&&(s=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(o.text.slice(a)))){let l=s[4],h=s[0].length;l.length>4&&(l=l.slice(0,l.length-4),h-=4);let c=s[2];s[3]&&(c+=s[3].replace(/[xX]/," ")),i.push(new br(n.parent,a,a+h,s[1],l,c,n))}}return i}function J$(O,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(O.from,O.from+10))}function uh(O,e,t,i=0){for(let r=-1,n=O;;){if(n.name=="ListItem"){let o=J$(n,e),a=+o[2];if(r>=0){if(a!=r+1)return;t.push({from:n.from+o[1].length,to:n.from+o[0].length,insert:String(r+2+i)})}r=a}let s=n.nextSibling;if(!s)break;n=s}}function mh(O,e){let t=/^[ \t]*/.exec(O)[0].length;if(!t||e.facet(OO)!=" ")return O;let i=qe(O,4,t),r="";for(let n=i;n>0;)n>=4?(r+=" ",n-=4):(r+=" ",n--);return r+O.slice(t)}var $T=({state:O,dispatch:e})=>{let t=j(O),{doc:i}=O,r=null,n=O.changeByRange(s=>{if(!s.empty||!ph.isActiveAt(O,s.from,-1)&&!ph.isActiveAt(O,s.from,1))return r={range:s};let o=s.from,a=i.lineAt(o),l=K$(t.resolveInner(o,-1),i);for(;l.length&&l[l.length-1].from>o-a.from;)l.pop();if(!l.length)return r={range:s};let h=l[l.length-1];if(h.to-h.spaceAfter.length>o-a.from)return r={range:s};let c=o>=h.to-h.spaceAfter.length&&!/\S/.test(a.text.slice(h.to));if(h.item&&c){let $=h.node.firstChild,m=h.node.getChild("ListItem","ListItem");if($.to>=o||m&&m.to0&&!/[^\s>]/.test(i.lineAt(a.from-1).text)){let g=l.length>1?l[l.length-2]:null,y,X="";g&&g.item?(y=a.from+g.from,X=g.marker(i,1)):y=a.from+(g?g.to:0);let P=[{from:y,to:o,insert:X}];return h.node.name=="OrderedList"&&uh(h.item,i,P,-2),g&&g.node.name=="OrderedList"&&uh(g.item,i,P),{range:S.cursor(y+X.length),changes:P}}else{let g=B$(l,O,a);return{range:S.cursor(o+g.length+1),changes:{from:a.from,insert:g+O.lineBreak}}}}if(h.node.name=="Blockquote"&&c&&a.from){let $=i.lineAt(a.from-1),m=/>\s*$/.exec($.text);if(m&&m.index==h.from){let g=O.changes([{from:$.from+m.index,to:$.to},{from:a.from+h.from,to:a.to}]);return{range:s.map(g),changes:g}}}let f=[];h.node.name=="OrderedList"&&uh(h.item,i,f);let d=h.item&&h.item.from]*/.exec(a.text)[0].length>=h.to)for(let $=0,m=l.length-1;$<=m;$++)Q+=$==m&&!d?l[$].marker(i,1):l[$].blank($a.from&&/\s/.test(a.text.charAt(p-a.from-1));)p--;return Q=mh(Q,O),mT(h.node,O.doc)&&(Q=B$(l,O,a)+O.lineBreak+Q),f.push({from:p,to:o,insert:O.lineBreak+Q}),{range:S.cursor(p+Q.length+1),changes:f}});return r?!1:(e(O.update(n,{scrollIntoView:!0,userEvent:"input"})),!0)};function I$(O){return O.name=="QuoteMark"||O.name=="ListMark"}function mT(O,e){if(O.name!="OrderedList"&&O.name!="BulletList")return!1;let t=O.firstChild,i=O.getChild("ListItem","ListItem");if(!i)return!1;let r=e.lineAt(t.to),n=e.lineAt(i.from),s=/^[\s>]*$/.test(r.text);return r.number+(s?0:1){let t=j(O),i=null,r=O.changeByRange(n=>{let s=n.from,{doc:o}=O;if(n.empty&&ph.isActiveAt(O,n.from)){let a=o.lineAt(s),l=K$(gT(t,s),o);if(l.length){let h=l[l.length-1],c=h.to-h.spaceAfter.length+(h.spaceAfter?1:0);if(s-a.from>c&&!/\S/.test(a.text.slice(c,s-a.from)))return{range:S.cursor(a.from+c),changes:{from:a.from+c,to:s}};if(s-a.from==c&&(!h.item||a.from<=h.item.from||!/\S/.test(a.text.slice(0,h.to)))){let f=a.from+h.from;if(h.item&&h.node.from=97&&O<=122||O>=65&&O<=90}function Tr(O){return O==95||O>=128||sm(O)}function Sh(O){return O>=48&&O<=55||O>=97&&O<=102||O>=65&&O<=70}var Uk={int:!0,integer:!0,bool:!0,boolean:!0,float:!0,double:!0,real:!0,string:!0,array:!0,object:!0,unset:!0,__proto__:null},_k=new U(O=>{if(O.next==40){O.advance();let e=0;for(;nm(O.peek(e));)e++;let t="",i;for(;sm(i=O.peek(e));)t+=String.fromCharCode(i),e++;for(;nm(O.peek(e));)e++;O.peek(e)==41&&Uk[t.toLowerCase()]&&O.acceptToken(xT)}else if(O.next==60&&O.peek(1)==60&&O.peek(2)==60){for(let i=0;i<3;i++)O.advance();for(;O.next==32||O.next==9;)O.advance();let e=O.next==39;if(e&&O.advance(),!Tr(O.next))return;let t=String.fromCharCode(O.next);for(;O.advance(),!(!Tr(O.next)&&!(O.next>=48&&O.next<=55));)t+=String.fromCharCode(O.next);if(e){if(O.next!=39)return;O.advance()}if(O.next!=10&&O.next!=13)return;for(;;){let i=O.next==10||O.next==13;if(O.advance(),O.next<0)return;if(i){for(;O.next==32||O.next==9;)O.advance();let r=!0;for(let n=0;n{O.next<0&&O.acceptToken(vT)}),Ck=new U((O,e)=>{O.next==63&&e.canShift(Om)&&O.peek(1)==62&&O.acceptToken(Om)});function Gk(O){let e=O.peek(1);if(e==110||e==114||e==116||e==118||e==101||e==102||e==92||e==36||e==34||e==123)return 2;if(e>=48&&e<=55){let t=2,i;for(;t<5&&(i=O.peek(t))>=48&&i<=55;)t++;return t}if(e==120&&Sh(O.peek(2)))return Sh(O.peek(3))?4:3;if(e==117&&O.peek(2)==123)for(let t=3;;t++){let i=O.peek(t);if(i==125)return t==2?0:t+1;if(!Sh(i))break}return 0}var Ek=new U((O,e)=>{let t=!1;for(;!(O.next==34||O.next<0||O.next==36&&(Tr(O.peek(1))||O.peek(1)==123)||O.next==123&&O.peek(1)==36);t=!0){if(O.next==92){let i=Gk(O);if(i){if(t)break;return O.acceptToken(kT,i)}}else if(!t&&(O.next==91||O.next==45&&O.peek(1)==62&&Tr(O.peek(2))||O.next==63&&O.peek(1)==45&&O.peek(2)==62&&Tr(O.peek(3)))&&e.canShift(wT))break;O.advance()}t&&O.acceptToken(TT)}),Ak=H({"Visibility abstract final static":u.modifier,"for foreach while do if else elseif switch try catch finally return throw break continue default case":u.controlKeyword,"endif endfor endforeach endswitch endwhile declare enddeclare goto match":u.controlKeyword,"and or xor yield unset clone instanceof insteadof":u.operatorKeyword,"function fn class trait implements extends const enum global interface use var":u.definitionKeyword,"include include_once require require_once namespace":u.moduleKeyword,"new from echo print array list as":u.keyword,null:u.null,Boolean:u.bool,VariableName:u.variableName,"NamespaceName/...":u.namespace,"NamedType/...":u.typeName,Name:u.name,"CallExpression/Name":u.function(u.variableName),"LabelStatement/Name":u.labelName,"MemberExpression/Name":u.propertyName,"MemberExpression/VariableName":u.special(u.propertyName),"ScopedExpression/ClassMemberName/Name":u.propertyName,"ScopedExpression/ClassMemberName/VariableName":u.special(u.propertyName),"CallExpression/MemberExpression/Name":u.function(u.propertyName),"CallExpression/ScopedExpression/ClassMemberName/Name":u.function(u.propertyName),"MethodDeclaration/Name":u.function(u.definition(u.variableName)),"FunctionDefinition/Name":u.function(u.definition(u.variableName)),"ClassDeclaration/Name":u.definition(u.className),UpdateOp:u.updateOperator,ArithOp:u.arithmeticOperator,LogicOp:u.logicOperator,BitOp:u.bitwiseOperator,CompareOp:u.compareOperator,ControlOp:u.controlOperator,AssignOp:u.definitionOperator,"$ ConcatOp":u.operator,LineComment:u.lineComment,BlockComment:u.blockComment,Integer:u.integer,Float:u.float,String:u.string,ShellExpression:u.special(u.string),"=> ->":u.punctuation,"( )":u.paren,"#[ [ ]":u.squareBracket,"${ { }":u.brace,"-> ?->":u.derefOperator,", ; :: : \\":u.separator,"PhpOpen PhpClose":u.processingInstruction}),Lk={__proto__:null,static:311,STATIC:311,class:333,CLASS:333},om=se.deserialize({version:14,states:"$FvQ`OWOOQhQaOOP%oO`OOOOO#t'#H_'#H_O%tO#|O'#DtOOO#u'#Dw'#DwQ&SOWO'#DwO&XO$VOOOOQ#u'#Dx'#DxO&lQaO'#D|O(mQdO'#E}O(tQdO'#EQO*kQaO'#EWO,zQ`O'#ETO-PQ`O'#E^O/nQaO'#E^O/uQ`O'#EfO/zQ`O'#EoO*kQaO'#EoO0VQ`O'#HhO0[Q`O'#E{O0[Q`O'#E{OOQS'#Ic'#IcO0aQ`O'#EvOOQS'#IZ'#IZO2oQdO'#IWO6tQeO'#FUO*kQaO'#FeO*kQaO'#FfO*kQaO'#FgO*kQaO'#FhO*kQaO'#FhO*kQaO'#FkOOQO'#Id'#IdO7RQ`O'#FqOOQO'#Hi'#HiO7ZQ`O'#HOO7uQ`O'#FlO8QQ`O'#H]O8]Q`O'#FvO8eQaO'#FwO*kQaO'#GVO*kQaO'#GYO8}OrO'#G]OOQS'#Iq'#IqOOQS'#Ip'#IpOOQS'#IW'#IWO,zQ`O'#GdO,zQ`O'#GfO,zQ`O'#GkOhQaO'#GmO9UQ`O'#GnO9ZQ`O'#GqO9`Q`O'#GtO9eQeO'#GuO9eQeO'#GvO9eQeO'#GwO9oQ`O'#GxO9tQ`O'#GzO9yQaO'#G{OS,5>SOJ[QdO,5;gOOQO-E;f-E;fOL^Q`O,5;gOLcQpO,5;bO0aQ`O'#EyOLkQtO'#E}OOQS'#Ez'#EzOOQS'#Ib'#IbOM`QaO,5:wO*kQaO,5;nOOQS,5;p,5;pO*kQaO,5;pOMgQdO,5UQaO,5=hO!-eQ`O'#F}O!-jQdO'#IlO!&WQdO,5=iOOQ#u,5=j,5=jO!-uQ`O,5=lO!-xQ`O,5=mO!-}Q`O,5=nO!.YQdO,5=qOOQ#u,5=q,5=qO!.eQ`O,5=rO!.eQ`O,5=rO!.mQdO'#IwO!.{Q`O'#HXO!&WQdO,5=rO!/ZQ`O,5=rO!/fQdO'#IYO!&WQdO,5=vOOQ#u-E;_-E;_O!1RQ`O,5=kOOO#u,5:^,5:^O!1^O#|O,5:^OOO#u-E;^-E;^OOOO,5>p,5>pOOQ#y1G0S1G0SO!1fQ`O1G0XO*kQaO1G0XO!2xQ`O1G0pOOQS1G0p1G0pO!4[Q`O1G0pOOQS'#I_'#I_O*kQaO'#I_OOQS1G0q1G0qO!4cQ`O'#IaO!7lQ`O'#E}O!7yQaO'#EuOOQO'#Ia'#IaO!8TQ`O'#I`O!8]Q`O,5;_OOQS'#FQ'#FQOOQS1G1U1G1UO!8bQdO1G1]O!:dQdO1G1]O!wO#(fQaO'#HdO#(vQ`O,5>vOOQS1G0d1G0dO#)OQ`O1G0dO#)TQ`O'#I^O#*mQ`O'#I^O#*uQ`O,5;ROIbQaO,5;ROOQS1G0u1G0uPOQO'#E}'#E}O#+fQdO1G1RO0aQ`O'#HgO#-hQtO,5;cO#.YQaO1G0|OOQS,5;e,5;eO#0iQtO,5;gO#0vQdO1G0cO*kQaO1G0cO#2cQdO1G1YO#4OQdO1G1[OOQO,5<^,5<^O#4`Q`O'#HjO#4nQ`O,5?ROOQO1G1w1G1wO#4vQ`O,5?ZO!&WQdO1G3TO<_Q`O1G3TOOQ#u1G3U1G3UO#4{Q`O1G3YO!1RQ`O1G3VO#5WQ`O1G3VO#5]QpO'#FoO#5kQ`O'#FoO#5{Q`O'#FoO#6WQ`O'#FoO#6`Q`O'#FsO#6eQ`O'#FtOOQO'#If'#IfO#6lQ`O'#IeO#6tQ`O,5tOOQ#u1G3b1G3bOOQ#u1G3V1G3VO!-xQ`O1G3VO!1UQ`O1G3VOOO#u1G/x1G/xO*kQaO7+%sO#MyQdO7+%sOOQS7+&[7+&[O$ fQ`O,5>yO>UQaO,5;`O$ mQ`O,5;aO$#SQaO'#HfO$#^Q`O,5>zOOQS1G0y1G0yO$#fQ`O'#EYO$#kQ`O'#IXO$#sQ`O,5:sOOQS1G0e1G0eO$#xQ`O1G0eO$#}Q`O1G0iO9yQaO1G0iOOQO,5>O,5>OOOQO-E;b-E;bOOQS7+&O7+&OO>UQaO,5;SO$%dQaO'#HeO$%nQ`O,5>xOOQS1G0m1G0mO$%vQ`O1G0mOOQS,5>R,5>ROOQS-E;e-E;eO$%{QdO7+&hO$'}QtO1G1RO$([QdO7+%}OOQS1G0i1G0iOOQO,5>U,5>UOOQO-E;h-E;hOOQ#u7+(o7+(oO!&WQdO7+(oOOQ#u7+(t7+(tO#KqQ`O7+(tO0aQ`O7+(tOOQ#u7+(q7+(qO!-xQ`O7+(qO!1UQ`O7+(qO!1RQ`O7+(qO$)wQ`O,5UQaO,5],5>]OOQS-E;o-E;oO$.mQdO7+'hO$.}QpO7+'hO$/VQdO'#IiOOQO,5dOOQ#u,5>d,5>dOOQ#u-E;v-E;vO$;pQaO7+(lO$cOOQS-E;u-E;uO!&WQdO7+(nO$=qQdO1G2TOOQS,5>[,5>[OOQS-E;n-E;nOOQ#u7+(r7+(rO$?ZQ`O'#GOO$?}Q`O'#HUOOQO'#Hy'#HyO$@SQ`O,5=oOOQ#u,5=o,5=oO$@|QpO7+(tOOQ#u7+(x7+(xO!&WQdO7+(xO$AXQdO,5>fOOQS-E;x-E;xO$AgQdO1G4}O$ArQ`O,5=tO$AwQ`O,5=tO$BSQ`O'#H{O$BhQ`O,5?dOOQS1G3_1G3_O#KvQ`O7+(xO$BpQdO,5=|OOQS-E;`-E;`O$D]QdO<Q,5>QOOQO-E;d-E;dO$8^QaO,5:tO$G_QaO'#HcO$GlQ`O,5>sOOQS1G0_1G0_OOQS7+&P7+&PO$GtQ`O7+&TO$IZQ`O1G0nO$JpQ`O,5>POOQO,5>P,5>POOQO-E;c-E;cOOQS7+&X7+&XOOQS7+&T7+&TOOQ#u<UQaO1G1uO$LYQ`O1G1uO$LeQ`O1G1yOOQO1G1y1G1yO$LjQ`O1G1uO$LrQ`O1G1uO$NXQ`O1G1zO>UQaO1G1zOOQO,5>V,5>VOOQO-E;i-E;iOOQS<`OOQ#u-E;r-E;rOhQaO<aOOQO-E;s-E;sO!&WQdO<g,5>gOOQO-E;y-E;yO!&WQdO<UQaO,5;TOOQ#uANAzANAzO#KqQ`OANAzOOQ#uANAwANAwO!-xQ`OANAwO%*`Q`O7+'aO>UQaO7+'aOOQO7+'e7+'eO%+uQ`O7+'aO%,QQ`O7+'eO>UQaO7+'fO%,VQ`O7+'fO%-lQ`O'#HlO%-zQ`O,5?SO%-zQ`O,5?SOOQO1G1{1G1{O$+uQpOAN@dOOQSAN@dAN@dO0aQ`OAN@dO%.SQtOANCgO%.bQ`OAN@dO*kQaOAN@nO%.jQdOAN@nO%.zQpOAN@nOOQS,5>X,5>XOOQS-E;k-E;kOOQO1G2U1G2UO!&WQdO1G2UO$/hQpO1G2UO<_Q`O1G2SO!.YQdO1G2WO!&WQdO1G2SOOQO1G2W1G2WOOQO1G2S1G2SO%/SQaO'#GSOOQO1G2X1G2XOOQSAN@oAN@oOOOQ<UQaO<W,5>WO%7aQ`O,5>WOOQO-E;j-E;jO%7fQ`O1G4nOOQSG26OG26OO$+uQpOG26OO0aQ`OG26OO%7nQdOG26YO*kQaOG26YOOQO7+'p7+'pO!&WQdO7+'pO!&WQdO7+'nOOQO7+'r7+'rOOQO7+'n7+'nO%8OQ`OLD+tO%9_Q`O'#E}O%9iQ`O'#IZO!&WQdO'#HrO%;fQaO,5RQ`OG27^OOQO7+(v7+(vO%>WQ`O7+(vO!&WQdO7+(vOOQO1G3a1G3aO%>`Q`O1G3aO%>eQ`OAN@gOOQO1G3r1G3rOOQSLD+jLD+jO$+uQpOLD+jO%?zQdOLD+tOOQO<^,5>^OOQP-E;p-E;pOOQO1G2Y1G2YOOQ#uLD,bLD,bOOQTG27RG27RO!&WQdOLD,xO!&WQdO<wO&EiQdO1G0cO#.YQaO1G0cO&GeQdO1G1YO&IaQdO1G1[O#.YQaO1G1|O#.YQaO7+%sO&K]QdO7+%sO&MXQdO7+%}O#.YQaO7+'hO' TQdO7+'hO'#PQdO<wO(AWQdO1G0cO'.jQaO1G0cO(CYQdO1G1YO(E[QdO1G1[O'.jQaO1G1|O'.jQaO7+%sO(G^QdO7+%sO(I`QdO7+%}O'.jQaO7+'hO(KbQdO7+'hO(MdQdO<wO*2]QaO'#HdO*2mQ`O,5>vO*2uQdO1G0cO9yQaO1G0cO*4qQdO1G1YO*6mQdO1G1[O9yQaO1G1|O>UQaO'#HwO*8iQ`O,5=[O*8qQaO'#HbO*8{Q`O,5>tO9yQaO7+%sO*9TQdO7+%sO*;PQ`O1G0iO>UQaO1G0iO*bQdO7+'hO*@^Q`O,5>cO*AsQ`O,5=|O*CYQdO<UQaO'#FeO>UQaO'#FfO>UQaO'#FgO>UQaO'#FhO>UQaO'#FhO>UQaO'#FkO+'qQaO'#FwO>UQaO'#GVO>UQaO'#GYO+'xQaO,5:mO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO+(PQ`O'#I]O$8^QaO'#EaO+)iQaOG26YO$8^QaO'#I]O++eQ`O'#I[O++mQaO,5:wO>UQaO,5;nO>UQaO,5;pO++tQ`O,5UQaO1G0XO+:QQ`O1G1]O+;mQ`O1G1]O+=YQ`O1G1]O+>uQ`O1G1]O+@bQ`O1G1]O+A}Q`O1G1]O+CjQ`O1G1]O+EVQ`O1G1]O+FrQ`O1G1]O+H_Q`O1G1]O+IzQ`O1G1]O+KgQ`O1G1]O+MSQ`O1G1]O+NoQ`O1G1]O,![Q`O1G1]O,#wQ`O1G0cO>UQaO1G0cO,%dQ`O1G1YO,'PQ`O1G1[O,(lQ`O1G1|O>UQaO1G1|O>UQaO7+%sO,(tQ`O7+%sO,*aQ`O7+%}O>UQaO7+'hO,+|Q`O7+'hO,,UQ`O7+'hO,-qQpO7+'hO,-yQ`O<UQaO<UQaOAN@nO,1ZQ`OAN@nO,2vQpOAN@nO,3OQ`OG26YO>UQaOG26YO,4kQ`OLD+tO,6WQaO,5:}O>UQaO1G0iO,6_Q`O'#I]O$8^QaO'#FeO$8^QaO'#FfO$8^QaO'#FgO$8^QaO'#FhO$8^QaO'#FhO+)iQaO'#FhO$8^QaO'#FkO,6lQaO'#FwO,6sQaO'#FwO$8^QaO'#GVO+)iQaO'#GVO$8^QaO'#GYO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO,8rQ`O'#FlO>UQaO'#EaO>UQaO'#I]O,8zQaO,5:wO,9RQaO,5:wO$8^QaO,5;nO+)iQaO,5;nO$8^QaO,5;pO,;QQ`O,5YQ`O,5PQ`O1G1]O-?lQ`O1G1]O-@{Q`O1G1]O-BhQ`O1G1]O-CwQ`O1G1]O-EdQ`O1G1]O-FsQ`O,5:{O-H`Q`O,5>wO-I{Q`O1G0cO-KhQ`O1G0cO$8^QaO1G0cO+)iQaO1G0cO-LwQ`O1G1YO-NdQ`O1G1YO. sQ`O1G1[O$8^QaO1G1|O$8^QaO7+%sO+)iQaO7+%sO.#`Q`O7+%sO.${Q`O7+%sO.&[Q`O7+%}O.'wQ`O7+%}O$8^QaO7+'hO.)WQ`O7+'hO.*sQ`O<wO.@kQ`O1G1|O!%WQ`O1G1|O0aQ`O1G1|O0aQ`O7+'hO.@sQ`O7+'hO.@{QpO7+'hO.ATQpO<UO#X&PO~P>UO!o&SO!s&RO#b&RO~OPgOQ|OU^OW}O[8jOo=wOs#hOx8hOy8hO}`O!O]O!Q8nO!R}O!T8mO!U8iO!V8iO!Y8pO!c8gO!s&VO!y[O#U&WO#W_O#bhO#daO#ebO#peO$T8lO$]8kO$^8lO$aqO$z8oO${!OO$}}O%O}O%V|O'g{O~O!x'SP~PAOO!s&[O#b&[O~OT#TOz#RO!S#UO!b#VO!o!{O!v!yO!y!}O#S#QO#W!zO#`!|O#a!|O#s#PO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dO~O!x&nO~PCqO!x'VX!}'VX#O'VX#X'VX!n'VXV'VX!q'VX#u'VX#w'VXw'VX~P&sO!y$hO#S&oO~Oo$mOs$lO~O!o&pO~O!}&sO#S;bO#U;aO!x'OP~P9yOT6gOz6eO!S6hO!b6iO!o!{O!v8qO!y!}O#S#QO#W!zO#`!|O#a!|O#s#PO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}'PX#X'PX~O#O&tO~PGSO!}&wO#X'OX~O#X&yO~O!}'OO!x'QP~P9yO!n'PO~PCqO!m#oa!o#oa#S#oa#p#qX&s#oa!x#oa#O#oaw#oa~OT#oaz#oa!S#oa!b#oa!v#oa!y#oa#W#oa#`#oa#a#oa#s#oa#z#oa#{#oa#|#oa#}#oa$O#oa$Q#oa$R#oa$S#oa$T#oa$U#oa$V#oa$W#oa$z#oa!}#oa#X#oa!n#oaV#oa!q#oa#u#oa#w#oa~PIpO!s'RO~O!x'UO#l'SO~O!x'VX#l'VX#p#qX#S'VX#U'VX#b'VX!o'VX#O'VXw'VX!m'VX&s'VX~O#S'YO~P*kO!m$Xa&s$Xa!x$Xa!n$Xa~PCqO!m$Ya&s$Ya!x$Ya!n$Ya~PCqO!m$Za&s$Za!x$Za!n$Za~PCqO!m$[a&s$[a!x$[a!n$[a~PCqO!o!{O!y!}O#W!zO#`!|O#a!|O#s#PO$z#dOT$[a!S$[a!b$[a!m$[a!v$[a#S$[a#z$[a#{$[a#|$[a#}$[a$O$[a$Q$[a$R$[a$S$[a$T$[a$U$[a$V$[a$W$[a&s$[a!x$[a!n$[a~Oz#RO~PNyO!m$_a&s$_a!x$_a!n$_a~PCqO!y!}O!}$fX#X$fX~O!}'^O#X'ZX~O#X'`O~O!s$kO#S'aO~O]'cO~O!s'eO~O!s'fO~O$l'gO~O!`'mO#S'kO#U'lO#b'jO$drO!x'XP~P0aO!^'sO!oXO!q'rO~O!s'uO!y$hO~O!y$hO#S'wO~O!y$hO#S'yO~O#u'zO!m$sX!}$sX&s$sX~O!}'{O!m'bX&s'bX~O!m#cO&s#cO~O!q(PO#O(OO~O!m$ka&s$ka!x$ka!n$ka~PCqOl(ROw(SO!o(TO!y!}O~O!o!{O!y!}O#W!zO#`!|O#a!|O#s#PO~OT$yaz$ya!S$ya!b$ya!m$ya!v$ya#S$ya#z$ya#{$ya#|$ya#}$ya$O$ya$Q$ya$R$ya$S$ya$T$ya$U$ya$V$ya$W$ya$z$ya&s$ya!x$ya!}$ya#O$ya#X$ya!n$ya!q$yaV$ya#u$ya#w$ya~P!'WO!m$|a&s$|a!x$|a!n$|a~PCqO#W([O#`(YO#a(YO&r(ZOR&gX!o&gX#b&gX#e&gX&q&gX'f&gX~O'f(_O~P8lO!q(`O~PhO!o(cO!q(dO~O!q(`O&s(gO~PhO!a(kO~O!m(lO~P9yOZ(wOn(xO~O!s(zO~OT6gOz6eO!S6hO!b6iO!v8qO!}({O#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m'jX&s'jX~P!'WO#u)PO~O!})QO!m'`X&s'`X~Ol(RO!o(TO~Ow(SO!o)WO!q)ZO~O!m#cO!oXO&s#cO~O!o%pO!s#yO~OV)aO!})_O!m'kX&s'kX~O])cOs)cO!s#gO#peO~O!o%pO!s#gO#p)hO~OT6gOz6eO!S6hO!b6iO!v8qO!})iO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m&|X&s&|X#O&|X~P!'WOl(ROw(SO!o(TO~O!i)oO&t)oO~OT8tOz8rO!S8uO!b8vO!q)pO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#X)rO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WO!n)rO~PCqOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x'TX!}'TX~P!'WOT'VXz'VX!S'VX!b'VX!o'VX!v'VX!y'VX#S'VX#W'VX#`'VX#a'VX#p#qX#s'VX#z'VX#{'VX#|'VX#}'VX$O'VX$Q'VX$R'VX$S'VX$T'VX$U'VX$V'VX$W'VX$z'VX~O!q)tO!x'VX!}'VX~P!5xO!x#iX!}#iX~P>UO!})vO!x'SX~O!x)xO~O$z#dOT#yiz#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi$W#yi&s#yi!x#yi!}#yi#O#yi#X#yi!n#yi!q#yiV#yi#u#yi#w#yi~P!'WOz#RO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi&s#yi!x#yi!n#yi~P!'WOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi&s#yi!x#yi!n#yi~P!'WOT#TOz#RO!b#VO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dO!S#yi!m#yi&s#yi!x#yi!n#yi~P!'WOT#TOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dO!S#yi!b#yi!m#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi#|#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi#|#yi#}#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi~P!'WOz#RO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi~P!'WOz#RO$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi&s#yi!x#yi!n#yi~P!'WOz#RO$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi&s#yi!x#yi!n#yi~P!'WOz#RO$T#`O$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi&s#yi!x#yi!n#yi~P!'WOz#RO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi&s#yi!x#yi!n#yi~P!'WOz#RO$S#_O$T#`O$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi&s#yi!x#yi!n#yi~P!'WOz#RO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi&s#yi!x#yi!n#yi~P!'WO_)yO~P9yO!x)|O~O#S*PO~P9yOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}#Ta#X#Ta#O#Ta!m#Ta&s#Ta!x#Ta!n#TaV#Ta!q#Ta~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}'Pa#X'Pa#O'Pa!m'Pa&s'Pa!x'Pa!n'PaV'Pa!q'Pa~P!'WO#S#oO#U#nO!}&WX#X&WX~P9yO!}&wO#X'Oa~O#X*SO~OT6gOz6eO!S6hO!b6iO!v8qO!}*UO#O*TO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!x'QX~P!'WO!}*UO!x'QX~O!x*WO~O!m#oi!o#oi#S#oi#p#qX&s#oi!x#oi#O#oiw#oi~OT#oiz#oi!S#oi!b#oi!v#oi!y#oi#W#oi#`#oi#a#oi#s#oi#z#oi#{#oi#|#oi#}#oi$O#oi$Q#oi$R#oi$S#oi$T#oi$U#oi$V#oi$W#oi$z#oi!}#oi#X#oi!n#oiV#oi!q#oi#u#oi#w#oi~P#*zO#l'SO!x#ka#S#ka#U#ka#b#ka!o#ka#O#kaw#ka!m#ka&s#ka~OPgOQ|OU^OW}O[3|Oo5vOs#hOx3xOy3xO}`O!O]O!Q2[O!R}O!T4SO!U3zO!V3zO!Y2^O!c3vO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T4QO$]4OO$^4QO$aqO$z2]O${!OO$}}O%O}O%V|O'g{O~O#l#oa#U#oa#b#oa~PIpOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#Pi!S#Pi!b#Pi!m#Pi&s#Pi!x#Pi!n#Pi~P!'WOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#vi!S#vi!b#vi!m#vi&s#vi!x#vi!n#vi~P!'WO!m#xi&s#xi!x#xi!n#xi~PCqO!s#gO#peO!}&^X#X&^X~O!}'^O#X'Za~O!s'uO~Ow(SO!o)WO!q*fO~O!s*jO~O#S*lO#U*mO#b*kO#l'SO~O#S*lO#U*mO#b*kO$drO~P0aO#u*oO!x$cX!}$cX~O#U*mO#b*kO~O#b*pO~O#b*rO~P0aO!}*sO!x'XX~O!x*uO~O!y*wO~O!^*{O!oXO!q*zO~O!q*}O!o'ci!m'ci&s'ci~O!q+QO#O+PO~O#b$nO!m&eX!}&eX&s&eX~O!}'{O!m'ba&s'ba~OT$kiz$ki!S$ki!b$ki!m$ki!o$ki!v$ki!y$ki#S$ki#W$ki#`$ki#a$ki#s$ki#u#fa#w#fa#z$ki#{$ki#|$ki#}$ki$O$ki$Q$ki$R$ki$S$ki$T$ki$U$ki$V$ki$W$ki$z$ki&s$ki!x$ki!}$ki#O$ki#X$ki!n$ki!q$kiV$ki~OS+^O]+aOm+^Os$aO!^+dO!_+^O!`+^O!n+hO#b$nO$aqO$drO~P0aO!s+lO~O#W+nO#`+mO#a+mO~O!s+pO#b+pO$}+pO%T+oO~O!n+qO~PCqOc%XXd%XXh%XXj%XXf%XXg%XXe%XX~PhOc+uOd+sOP%WiQ%WiS%WiU%WiW%WiX%Wi[%Wi]%Wi^%Wi`%Wia%Wib%Wik%Wim%Wio%Wip%Wiq%Wis%Wit%Wiu%Wiv%Wix%Wiy%Wi|%Wi}%Wi!O%Wi!P%Wi!Q%Wi!R%Wi!T%Wi!U%Wi!V%Wi!W%Wi!X%Wi!Y%Wi!Z%Wi![%Wi!]%Wi!^%Wi!`%Wi!a%Wi!c%Wi!m%Wi!o%Wi!s%Wi!y%Wi#W%Wi#b%Wi#d%Wi#e%Wi#p%Wi$T%Wi$]%Wi$^%Wi$a%Wi$d%Wi$l%Wi$z%Wi${%Wi$}%Wi%O%Wi%V%Wi&p%Wi'g%Wi&t%Wi!n%Wih%Wij%Wif%Wig%WiY%Wi_%Wii%Wie%Wi~Oc+yOd+vOh+xO~OY+zO_+{O!n,OO~OY+zO_+{Oi%^X~Oi,QO~Oj,RO~O!m,TO~P9yO!m,VO~Of,WO~OT6gOV,XOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO~P!'WOg,YO~O!y,ZO~OZ(wOn(xOP%liQ%liS%liU%liW%liX%li[%li]%li^%li`%lia%lib%lik%lim%lio%lip%liq%lis%lit%liu%liv%lix%liy%li|%li}%li!O%li!P%li!Q%li!R%li!T%li!U%li!V%li!W%li!X%li!Y%li!Z%li![%li!]%li!^%li!`%li!a%li!c%li!m%li!o%li!s%li!y%li#W%li#b%li#d%li#e%li#p%li$T%li$]%li$^%li$a%li$d%li$l%li$z%li${%li$}%li%O%li%V%li&p%li'g%li&t%li!n%lic%lid%lih%lij%lif%lig%liY%li_%lii%lie%li~O#u,_O~O!}({O!m%da&s%da~O!x,bO~O!s%dO!m&dX!}&dX&s&dX~O!})QO!m'`a&s'`a~OS+^OY,hO]+aOm+^Os$aO!^+dO!_+^O!`+^O!n,kO#b$nO$aqO$drO~P0aO!o)WO~O!o%pO!s'RO~O!s#gO#peO!m&nX!}&nX&s&nX~O!})_O!m'ka&s'ka~O!s,qO~OV,rO!n%|X!}%|X~O!},tO!n'lX~O!n,vO~O!m&UX!}&UX&s&UX#O&UX~P9yO!})iO!m&|a&s&|a#O&|a~Oz#RO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT!uq!S!uq!b!uq!m!uq!v!uq&s!uq!x!uq!n!uq~P!'WO!n,{O~PCqOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#ia!}#ia~P!'WO!x&YX!}&YX~PAOO!})vO!x'Sa~O#O-PO~O!}-QO!n&{X~O!n-SO~O!x-TO~OT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}#Vi#X#Vi~P!'WO!x&XX!}&XX~P9yO!}*UO!x'Qa~O!x-ZO~OT#jqz#jq!S#jq!b#jq!m#jq!v#jq#S#jq#u#jq#w#jq#z#jq#{#jq#|#jq#}#jq$O#jq$Q#jq$R#jq$S#jq$T#jq$U#jq$V#jq$W#jq$z#jq&s#jq!x#jq!}#jq#O#jq#X#jq!n#jq!q#jqV#jq~P!'WO#l#oi#U#oi#b#oi~P#*zOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#Pq!S#Pq!b#Pq!m#Pq&s#Pq!x#Pq!n#Pq~P!'WO#u-cO!x$ca!}$ca~O#U-eO#b-dO~O#b-fO~O#S-gO#U-eO#b-dO#l'SO~O#b-iO#l'SO~O#u-jO!x$ha!}$ha~O!`'mO#S'kO#U'lO#b'jO$drO!x&_X!}&_X~P0aO!}*sO!x'Xa~O!oXO#l'SO~O#S-oO#b-nO!x'[P~O!oXO!q-qO~O!q-tO!o'cq!m'cq&s'cq~O!^-vO!oXO!q-qO~O!q-zO#O-yO~OT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m$si!}$si&s$si~P!'WO!m$jq&s$jq!x$jq!n$jq~PCqO#O-yO#l'SO~O!}-{Ow']X!o']X!m']X&s']X~O#b$nO#l'SO~OS+^O].QOm+^Os$aO!_+^O!`+^O#b$nO$aqO$drO~P0aOS+^O].QOm+^Os$aO!_+^O!`+^O#b$nO$aqO~P0aOS+^O]+aOm+^Os$aO!^+dO!_+^O!`+^O!n.YO#b$nO$aqO$drO~P0aO!s.]O~O!s.^O#b.^O$}.^O%T+oO~O$}._O~O#X.`O~Oc%Xad%Xah%Xaj%Xaf%Xag%Xae%Xa~PhOc.cOd+sOP%WqQ%WqS%WqU%WqW%WqX%Wq[%Wq]%Wq^%Wq`%Wqa%Wqb%Wqk%Wqm%Wqo%Wqp%Wqq%Wqs%Wqt%Wqu%Wqv%Wqx%Wqy%Wq|%Wq}%Wq!O%Wq!P%Wq!Q%Wq!R%Wq!T%Wq!U%Wq!V%Wq!W%Wq!X%Wq!Y%Wq!Z%Wq![%Wq!]%Wq!^%Wq!`%Wq!a%Wq!c%Wq!m%Wq!o%Wq!s%Wq!y%Wq#W%Wq#b%Wq#d%Wq#e%Wq#p%Wq$T%Wq$]%Wq$^%Wq$a%Wq$d%Wq$l%Wq$z%Wq${%Wq$}%Wq%O%Wq%V%Wq&p%Wq'g%Wq&t%Wq!n%Wqh%Wqj%Wqf%Wqg%WqY%Wq_%Wqi%Wqe%Wq~Oc.hOd+vOh.gO~O!q(`O~OP6ZOQ|OU^OW}O[:dOo>POs#hOx:bOy:bO}`O!O]O!Q:iO!R}O!T:hO!U:cO!V:cO!Y:mO!c8eO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T:fO$]:eO$^:fO$aqO$z:kO${!OO$}}O%O}O%V|O'g{O~O!m.kO!q.kO~OY+zO_+{O!n.mO~OY+zO_+{Oi%^a~O!x.qO~P>UO!m.sO~O!m.sO~P9yOQ|OW}O!R}O$}}O%O}O%V|O'g{O~OT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m&ka!}&ka&s&ka~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m$qi!}$qi&s$qi~P!'WOS+^OY.}O].QOm+^Os$aO!_+^O!`+^O#b$nO$aqO$drO~P0aO!s/OO~OS+^OY,hO]+aOm+^Os$aO!^+dO!_+^O!`+^O!n/QO#b$nO$aqO$drO~P0aOw(SO!o)WO#l'SO~OV/TO!m&na!}&na&s&na~O!})_O!m'ki&s'ki~O!s/VO~OV/WO!n%|a!}%|a~O]/YOs/YO!s#gO#peO!n&oX!}&oX~O!},tO!n'la~OT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m&Ua!}&Ua&s&Ua#O&Ua~P!'WOz#RO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT!uy!S!uy!b!uy!m!uy!v!uy&s!uy!x!uy!n!uy~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#hi!}#hi~P!'WO_)yO!n&VX!}&VX~P9yO!}-QO!n&{a~OT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}#Vq#X#Vq~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#[i!}#[i~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#O/aO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!x&Xa!}&Xa~P!'WO#u/gO!x$ci!}$ci~O#b/hO~O#U/jO#b/iO~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x$ci!}$ci~P!'WO#u/kO!x$hi!}$hi~O!}/mO!x'[X~O#b/oO~O!x/pO~O!oXO!q/sO~O#l'SO!o'cy!m'cy&s'cy~O!m$jy&s$jy!x$jy!n$jy~PCqO#O/vO#l'SO~O!s#gO#peOw&aX!o&aX!}&aX!m&aX&s&aX~O!}-{Ow']a!o']a!m']a&s']a~OS+^O]0OOm+^Os$aO!_+^O!`+^O#b$nO$aqO~P0aO!m#cO!o0TO&s#cO~O#X0WO~Oh0]O~OT:rOz:nO!S:tO!b:vO!m0^O!q0^O!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO~P!'WOY%]a_%]a!n%]ai%]a~PhO!x0`O~O!x0`O~P>UO!m0bO~OT6gOz6eO!S6hO!b6iO!v8qO!x0dO#O0cO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO~P!'WO!x0dO~O!x0eO#b0fO#l'SO~O!x0gO~O!s0hO~O!m#cO#u0jO&s#cO~O!s0kO~O!})_O!m'kq&s'kq~O!s0lO~OV0mO!n%}X!}%}X~OT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!n!|i!}!|i~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x$cq!}$cq~P!'WO#u0tO!x$cq!}$cq~O#b0uO~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x$hq!}$hq~P!'WO#S0xO#b0wO!x&`X!}&`X~O!}/mO!x'[a~O#l'SO!o'c!R!m'c!R&s'c!R~O!oXO!q0}O~O!m$j!R&s$j!R!x$j!R!n$j!R~PCqO#O1PO#l'SO~OP6ZOU^O[9UOo>QOs#hOx9UOy9UO}`O!O]O!Q:jO!T9UO!U9UO!V9UO!Y9UO!c8fO!n1[O!s1WO!y[O#W_O#bhO#daO#ebO#peO$T:gO$]9UO$^:gO$aqO$z:lO${!OO~P$;pOh1]O~OY%[i_%[i!n%[ii%[i~PhOY%]i_%]i!n%]ii%]i~PhO!x1`O~O!x1`O~P>UO!x1cO~O!m#cO#u1gO&s#cO~O$}1hO%V1hO~O!s1iO~OV1jO!n%}a!}%}a~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#]i!}#]i~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x$cy!}$cy~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x$hy!}$hy~P!'WO#b1lO~O!}/mO!x'[i~O!m$j!Z&s$j!Z!x$j!Z!n$j!Z~PCqOT:sOz:oO!S:uO!b:wO!v=lO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dO~P!'WOV1sO{1rO~P!5xOV1sO{1rOT&}Xz&}X!S&}X!b&}X!o&}X!v&}X!y&}X#S&}X#W&}X#`&}X#a&}X#s&}X#u&}X#w&}X#z&}X#{&}X#|&}X#}&}X$O&}X$Q&}X$R&}X$S&}X$T&}X$U&}X$V&}X$W&}X$z&}X~OP6ZOU^O[9UOo>QOs#hOx9UOy9UO}`O!O]O!Q:jO!T9UO!U9UO!V9UO!Y9UO!c8fO!n1vO!s1WO!y[O#W_O#bhO#daO#ebO#peO$T:gO$]9UO$^:gO$aqO$z:lO${!OO~P$;pOY%[q_%[q!n%[qi%[q~PhO!x1xO~O!x%gi~PCqOe1yO~O$}1zO%V1zO~O!s1|O~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x$c!R!}$c!R~P!'WO!m$j!c&s$j!c!x$j!c!n$j!c~PCqO!s2OO~O!`2QO!s2PO~O!s2TO!m$xi&s$xi~O!s'WO~O!s*]O~OT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$ka#u$ka#w$ka&s$ka!x$ka!n$ka!q$ka#X$ka!}$ka~P!'WO#S2ZO~P*kO$l$tO~P#.YOT6gOz6eO!S6hO!b6iO!v8qO#O2YO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m'PX&s'PX!x'PX!n'PX~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#O3sO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}'PX#X'PX#u'PX#w'PX!m'PX&s'PX!x'PX!n'PXV'PX!q'PX~P!'WO#S3bO~P#.YOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$Xa#u$Xa#w$Xa&s$Xa!x$Xa!n$Xa!q$Xa#X$Xa!}$Xa~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$Ya#u$Ya#w$Ya&s$Ya!x$Ya!n$Ya!q$Ya#X$Ya!}$Ya~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$Za#u$Za#w$Za&s$Za!x$Za!n$Za!q$Za#X$Za!}$Za~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$[a#u$[a#w$[a&s$[a!x$[a!n$[a!q$[a#X$[a!}$[a~P!'WOz2_O#u$[a#w$[a!q$[a#X$[a!}$[a~PNyOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$_a#u$_a#w$_a&s$_a!x$_a!n$_a!q$_a#X$_a!}$_a~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$|a#u$|a#w$|a&s$|a!x$|a!n$|a!q$|a#X$|a!}$|a~P!'WOz2_O#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOT2aOz2_O!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!S#yi!m#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOT2aOz2_O!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!S#yi!b#yi!m#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O#S#QO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O#S#QO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi#|#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O#S#QO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O#S#QO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$T2lO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$S2kO$T2lO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m#Ta#u#Ta#w#Ta&s#Ta!x#Ta!n#Ta!q#Ta#X#Ta!}#Ta~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m'Pa#u'Pa#w'Pa&s'Pa!x'Pa!n'Pa!q'Pa#X'Pa!}'Pa~P!'WOz2_O!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#Pi!S#Pi!b#Pi!m#Pi#u#Pi#w#Pi&s#Pi!x#Pi!n#Pi!q#Pi#X#Pi!}#Pi~P!'WOz2_O!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#vi!S#vi!b#vi!m#vi#u#vi#w#vi&s#vi!x#vi!n#vi!q#vi#X#vi!}#vi~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m#xi#u#xi#w#xi&s#xi!x#xi!n#xi!q#xi#X#xi!}#xi~P!'WOz2_O#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT!uq!S!uq!b!uq!m!uq!v!uq#u!uq#w!uq&s!uq!x!uq!n!uq!q!uq#X!uq!}!uq~P!'WOz2_O!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#Pq!S#Pq!b#Pq!m#Pq#u#Pq#w#Pq&s#Pq!x#Pq!n#Pq!q#Pq#X#Pq!}#Pq~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$jq#u$jq#w$jq&s$jq!x$jq!n$jq!q$jq#X$jq!}$jq~P!'WOz2_O#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT!uy!S!uy!b!uy!m!uy!v!uy#u!uy#w!uy&s!uy!x!uy!n!uy!q!uy#X!uy!}!uy~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$jy#u$jy#w$jy&s$jy!x$jy!n$jy!q$jy#X$jy!}$jy~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$j!R#u$j!R#w$j!R&s$j!R!x$j!R!n$j!R!q$j!R#X$j!R!}$j!R~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$j!Z#u$j!Z#w$j!Z&s$j!Z!x$j!Z!n$j!Z!q$j!Z#X$j!Z!}$j!Z~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$j!c#u$j!c#w$j!c&s$j!c!x$j!c!n$j!c!q$j!c#X$j!c!}$j!c~P!'WOP6ZOU^O[3}Oo8[Os#hOx3yOy3yO}`O!O]O!Q4_O!T4TO!U3{O!V3{O!Y4aO!c3wO!s#gO!y[O#S3tO#W_O#bhO#daO#ebO#peO$T4RO$]4PO$^4RO$aqO$z4`O${!OO~P$;pOP6ZOU^O[3}Oo8[Os#hOx3yOy3yO}`O!O]O!Q4_O!T4TO!U3{O!V3{O!Y4aO!c3wO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T4RO$]4PO$^4RO$aqO$z4`O${!OO~P$;pO#u2sO#w2tO!q&zX#X&zX!}&zX~P0rOP6ZOU^O[3}Oo8[Or2uOs#hOx3yOy3yO}`O!O]O!Q4_O!T4TO!U3{O!V3{O!Y4aO!c3wO!s#gO!y[O#S2rO#U2qO#W_O#bhO#daO#ebO#peO$T4RO$]4PO$^4RO$aqO$z4`O${!OOT#xXz#xX!S#xX!b#xX!m#xX!o#xX!v#xX#`#xX#a#xX#s#xX#u#xX#w#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX&s#xX!x#xX!n#xX!q#xX#X#xX!}#xX~P$;pOP6ZOU^O[3}Oo8[Or4vOs#hOx3yOy3yO}`O!O]O!Q4_O!T4TO!U3{O!V3{O!Y4aO!c3wO!s#gO!y[O#S4sO#U4rO#W_O#bhO#daO#ebO#peO$T4RO$]4PO$^4RO$aqO$z4`O${!OOT#xXz#xX!S#xX!b#xX!o#xX!v#xX!}#xX#O#xX#X#xX#`#xX#a#xX#s#xX#u#xX#w#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX!m#xX&s#xX!x#xX!n#xXV#xX!q#xX~P$;pO!q2}O~P>UO!q5{O#O3eO~OT8tOz8rO!S8uO!b8vO!q3fO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WO!q5|O#O3iO~O!q5}O#O3mO~O#O3mO#l'SO~O#O3nO#l'SO~O#O3qO#l'SO~OP6ZOU^O[3}Oo8[Os#hOx3yOy3yO}`O!O]O!Q4_O!T4TO!U3{O!V3{O!Y4aO!c3wO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T4RO$]4PO$^4RO$aqO$l$tO$z4`O${!OO~P$;pOP6ZOU^O[3}Oo8[Os#hOx3yOy3yO}`O!O]O!Q4_O!T4TO!U3{O!V3{O!Y4aO!c3wO!s#gO!y[O#S5cO#W_O#bhO#daO#ebO#peO$T4RO$]4PO$^4RO$aqO$z4`O${!OO~P$;pOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$Xa#O$Xa#X$Xa#u$Xa#w$Xa!m$Xa&s$Xa!x$Xa!n$XaV$Xa!q$Xa~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$Ya#O$Ya#X$Ya#u$Ya#w$Ya!m$Ya&s$Ya!x$Ya!n$YaV$Ya!q$Ya~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$Za#O$Za#X$Za#u$Za#w$Za!m$Za&s$Za!x$Za!n$ZaV$Za!q$Za~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$[a#O$[a#X$[a#u$[a#w$[a!m$[a&s$[a!x$[a!n$[aV$[a!q$[a~P!'WOz4bO!}$[a#O$[a#X$[a#u$[a#w$[aV$[a!q$[a~PNyOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$_a#O$_a#X$_a#u$_a#w$_a!m$_a&s$_a!x$_a!n$_aV$_a!q$_a~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$|a#O$|a#X$|a#u$|a#w$|a!m$|a&s$|a!x$|a!n$|aV$|a!q$|a~P!'WOz4bO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT4dOz4bO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!S#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT4dOz4bO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!S#yi!b#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO#S#QO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO#S#QO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO#S#QO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO#S#QO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$T4oO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$S4nO$T4oO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}#Ta#O#Ta#X#Ta#u#Ta#w#Ta!m#Ta&s#Ta!x#Ta!n#TaV#Ta!q#Ta~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}'Pa#O'Pa#X'Pa#u'Pa#w'Pa!m'Pa&s'Pa!x'Pa!n'PaV'Pa!q'Pa~P!'WOz4bO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#Pi!S#Pi!b#Pi!}#Pi#O#Pi#X#Pi#u#Pi#w#Pi!m#Pi&s#Pi!x#Pi!n#PiV#Pi!q#Pi~P!'WOz4bO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#vi!S#vi!b#vi!}#vi#O#vi#X#vi#u#vi#w#vi!m#vi&s#vi!x#vi!n#viV#vi!q#vi~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}#xi#O#xi#X#xi#u#xi#w#xi!m#xi&s#xi!x#xi!n#xiV#xi!q#xi~P!'WOz4bO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT!uq!S!uq!b!uq!v!uq!}!uq#O!uq#X!uq#u!uq#w!uq!m!uq&s!uq!x!uq!n!uqV!uq!q!uq~P!'WOz4bO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#Pq!S#Pq!b#Pq!}#Pq#O#Pq#X#Pq#u#Pq#w#Pq!m#Pq&s#Pq!x#Pq!n#PqV#Pq!q#Pq~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$jq#O$jq#X$jq#u$jq#w$jq!m$jq&s$jq!x$jq!n$jqV$jq!q$jq~P!'WOz4bO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT!uy!S!uy!b!uy!v!uy!}!uy#O!uy#X!uy#u!uy#w!uy!m!uy&s!uy!x!uy!n!uyV!uy!q!uy~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$jy#O$jy#X$jy#u$jy#w$jy!m$jy&s$jy!x$jy!n$jyV$jy!q$jy~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$j!R#O$j!R#X$j!R#u$j!R#w$j!R!m$j!R&s$j!R!x$j!R!n$j!RV$j!R!q$j!R~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$j!Z#O$j!Z#X$j!Z#u$j!Z#w$j!Z!m$j!Z&s$j!Z!x$j!Z!n$j!ZV$j!Z!q$j!Z~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$j!c#O$j!c#X$j!c#u$j!c#w$j!c!m$j!c&s$j!c!x$j!c!n$j!cV$j!c!q$j!c~P!'WO#S5uO~P#.YO!y$hO#S5yO~O!x4XO#l'SO~O!y$hO#S5zO~OT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$ka#O$ka#X$ka#u$ka#w$ka!m$ka&s$ka!x$ka!n$kaV$ka!q$ka~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#O5tO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!m'PX#u'PX#w'PX&s'PX!x'PX!n'PX!q'PX#X'PX!}'PX~P!'WO#u4tO#w4uO!}&zX#O&zX#X&zXV&zX!q&zX~P0rO!q5OO~P>UO!q8`O#O5fO~OT8tOz8rO!S8uO!b8vO!q5gO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WO!q8aO#O5jO~O!q8bO#O5nO~O#O5nO#l'SO~O#O5oO#l'SO~O#O5rO#l'SO~O$l$tO~P9yOo5xOs$lO~O#S7mO~P9yOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$Xa#O$Xa#X$Xa!m$Xa&s$Xa!x$Xa!n$XaV$Xa!q$Xa~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$Ya#O$Ya#X$Ya!m$Ya&s$Ya!x$Ya!n$YaV$Ya!q$Ya~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$Za#O$Za#X$Za!m$Za&s$Za!x$Za!n$ZaV$Za!q$Za~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$[a#O$[a#X$[a!m$[a&s$[a!x$[a!n$[aV$[a!q$[a~P!'WOz6eO!}$[a#O$[a#X$[aV$[a!q$[a~PNyOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$_a#O$_a#X$_a!m$_a&s$_a!x$_a!n$_aV$_a!q$_a~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$ka#O$ka#X$ka!m$ka&s$ka!x$ka!n$kaV$ka!q$ka~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$|a#O$|a#X$|a!m$|a&s$|a!x$|a!n$|aV$|a!q$|a~P!'WOT8tOz8rO!S8uO!b8vO!v=XO!}7qO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x'jX~P!'WOT8tOz8rO!S8uO!b8vO!v=XO!}7sO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x&|X~P!'WOz6eO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT6gOz6eO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!S#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT6gOz6eO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!S#yi!b#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO#S#QO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO#S#QO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi#|#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO#S#QO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi#|#yi#}#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO#S#QO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$T6rO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$S6qO$T6rO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WO#S7xO~P>UO!m#Ta&s#Ta!x#Ta!n#Ta~PCqO!m'Pa&s'Pa!x'Pa!n'Pa~PCqO#S;bO#U;aO!x&WX!}&WX~P9yO!}7jO!x'Oa~Oz6eO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#Pi!S#Pi!b#Pi!}#Pi#O#Pi#X#Pi!m#Pi&s#Pi!x#Pi!n#PiV#Pi!q#Pi~P!'WOz6eO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#vi!S#vi!b#vi!}#vi#O#vi#X#vi!m#vi&s#vi!x#vi!n#viV#vi!q#vi~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}#xi#O#xi#X#xi!m#xi&s#xi!x#xi!n#xiV#xi!q#xi~P!'WO!}7qO!x%da~O!x&UX!}&UX~P>UO!}7sO!x&|a~Oz6eO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT!uq!S!uq!b!uq!v!uq!}!uq#O!uq#X!uq!m!uq&s!uq!x!uq!n!uqV!uq!q!uq~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#Vi!}#Vi~P!'WOz6eO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#Pq!S#Pq!b#Pq!}#Pq#O#Pq#X#Pq!m#Pq&s#Pq!x#Pq!n#PqV#Pq!q#Pq~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$jq#O$jq#X$jq!m$jq&s$jq!x$jq!n$jqV$jq!q$jq~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x&ka!}&ka~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x&Ua!}&Ua~P!'WOz6eO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT!uy!S!uy!b!uy!v!uy!}!uy#O!uy#X!uy!m!uy&s!uy!x!uy!n!uyV!uy!q!uy~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#Vq!}#Vq~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$jy#O$jy#X$jy!m$jy&s$jy!x$jy!n$jyV$jy!q$jy~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$j!R#O$j!R#X$j!R!m$j!R&s$j!R!x$j!R!n$j!RV$j!R!q$j!R~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$j!Z#O$j!Z#X$j!Z!m$j!Z&s$j!Z!x$j!Z!n$j!ZV$j!Z!q$j!Z~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$j!c#O$j!c#X$j!c!m$j!c&s$j!c!x$j!c!n$j!cV$j!c!q$j!c~P!'WO#S8YO~P9yO#O8XO!m'PX&s'PX!x'PX!n'PXV'PX!q'PX~PGSO!y$hO#S8^O~O!y$hO#S8_O~O#u6xO#w6yO!}&zX#O&zX#X&zXV&zX!q&zX~P0rOr6zO#S#oO#U#nO!}#xX#O#xX#X#xXV#xX!q#xX~P2yOr;gO#S9VO#U9TOT#xXz#xX!S#xX!b#xX!m#xX!o#xX!q#xX!v#xX#`#xX#a#xX#s#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX!n#xX!}#xX~P9yOr9UO#S9UO#U9UOT#xXz#xX!S#xX!b#xX!o#xX!v#xX#`#xX#a#xX#s#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX~P9yOr9ZO#S;bO#U;aOT#xXz#xX!S#xX!b#xX!o#xX!q#xX!v#xX#`#xX#a#xX#s#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX#X#xX!x#xX!}#xX~P9yO$l$tO~P>UO!q7VO~P>UOT6gOz6eO!S6hO!b6iO!v8qO#O7gO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!x'PX!}'PX~P!'WOP6ZOU^O[9UOo>QOs#hOx9UOy9UO}`O!O]O!Q:jO!T9UO!U9UO!V9UO!Y9UO!c8fO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T:gO$]9UO$^:gO$aqO$z:lO${!OO~P$;pO!}7jO!x'OX~O#S9wO~P>UOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$Xa#X$Xa!x$Xa!}$Xa~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$Ya#X$Ya!x$Ya!}$Ya~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$Za#X$Za!x$Za!}$Za~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$[a#X$[a!x$[a!}$[a~P!'WOz8rO$z#dOT$[a!S$[a!b$[a!q$[a!v$[a#S$[a#z$[a#{$[a#|$[a#}$[a$O$[a$Q$[a$R$[a$S$[a$T$[a$U$[a$V$[a$W$[a#X$[a!x$[a!}$[a~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$_a#X$_a!x$_a!}$_a~P!'WO!q=bO#O7pO~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$ka#X$ka!x$ka!}$ka~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$|a#X$|a!x$|a!}$|a~P!'WOT8tOz8rO!S8uO!b8vO!q7uO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WOz8rO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#X#yi!x#yi!}#yi~P!'WOz8rO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi#X#yi!x#yi!}#yi~P!'WOT8tOz8rO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!S#yi!q#yi#X#yi!x#yi!}#yi~P!'WOT8tOz8rO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!S#yi!b#yi!q#yi#X#yi!x#yi!}#yi~P!'WOz8rO#S#QO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#X#yi!x#yi!}#yi~P!'WOz8rO#S#QO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#|#yi#X#yi!x#yi!}#yi~P!'WOz8rO#S#QO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#|#yi#}#yi#X#yi!x#yi!}#yi~P!'WOz8rO#S#QO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#|#yi#}#yi$O#yi#X#yi!x#yi!}#yi~P!'WOz8rO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi#X#yi!x#yi!}#yi~P!'WOz8rO$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi#X#yi!x#yi!}#yi~P!'WOz8rO$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi#X#yi!x#yi!}#yi~P!'WOz8rO$T9PO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi#X#yi!x#yi!}#yi~P!'WOz8rO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi#X#yi!x#yi!}#yi~P!'WOz8rO$S9OO$T9PO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi#X#yi!x#yi!}#yi~P!'WOz8rO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi#X#yi!x#yi!}#yi~P!'WOz8rO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#Pi!S#Pi!b#Pi!q#Pi#X#Pi!x#Pi!}#Pi~P!'WOz8rO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#vi!S#vi!b#vi!q#vi#X#vi!x#vi!}#vi~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q#xi#X#xi!x#xi!}#xi~P!'WO!q=cO#O7zO~Oz8rO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT!uq!S!uq!b!uq!q!uq!v!uq#X!uq!x!uq!}!uq~P!'WOz8rO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#Pq!S#Pq!b#Pq!q#Pq#X#Pq!x#Pq!}#Pq~P!'WO!q=gO#O8RO~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$jq#X$jq!x$jq!}$jq~P!'WO#O8RO#l'SO~Oz8rO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT!uy!S!uy!b!uy!q!uy!v!uy#X!uy!x!uy!}!uy~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$jy#X$jy!x$jy!}$jy~P!'WO#O8SO#l'SO~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$j!R#X$j!R!x$j!R!}$j!R~P!'WO#O8VO#l'SO~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$j!Z#X$j!Z!x$j!Z!}$j!Z~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$j!c#X$j!c!x$j!c!}$j!c~P!'WO#S:`O~P>UO#O:_O!q'PX!x'PX~PGSO$l$tO~P$8^OP6ZOU^O[9UOo>QOs#hOx9UOy9UO}`O!O]O!Q:jO!T9UO!U9UO!V9UO!Y9UO!c8fO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T:gO$]9UO$^:gO$aqO$l$tO$z:lO${!OO~P$;pOo8]Os$lO~O#SQOs#hOx9UOy9UO}`O!O]O!Q:jO!T9UO!U9UO!V9UO!Y9UO!c8fO!s#gO!y[O#SQOs#hOx9UOy9UO}`O!O]O!Q:jO!T9UO!U9UO!V9UO!Y9UO!c8fO!s#gO!y[O#S=SO#W_O#bhO#daO#ebO#peO$T:gO$]9UO$^:gO$aqO$z:lO${!OO~P$;pOT6gOz6eO!S6hO!b6iO!v8qO#O=QO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#O=PO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m'PX!q'PX!n'PX!}'PX~P!'WOT&zXz&zX!S&zX!b&zX!o&zX!q&zX!v&zX!y&zX#S&zX#W&zX#`&zX#a&zX#s&zX#z&zX#{&zX#|&zX#}&zX$O&zX$Q&zX$R&zX$S&zX$T&zX$U&zX$V&zX$W&zX$z&zX!}&zX~O#u9XO#w9YO#X&zX!x&zX~P.9XO!y$hO#S=[O~O!q9fO~P>UO!y$hO#S=aO~O!q=|O#O9{O~OT8tOz8rO!S8uO!b8vO!q9|O!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m#Ta!q#Ta!n#Ta!}#Ta~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m'Pa!q'Pa!n'Pa!}'Pa~P!'WO!q=}O#O:PO~O!q>OO#O:WO~O#O:WO#l'SO~O#O:XO#l'SO~O#O:]O#l'SO~O#u;cO#w;eO!m&zX!n&zX~P.9XO#u;dO#w;fOT&zXz&zX!S&zX!b&zX!o&zX!v&zX!y&zX#S&zX#W&zX#`&zX#a&zX#s&zX#z&zX#{&zX#|&zX#}&zX$O&zX$Q&zX$R&zX$S&zX$T&zX$U&zX$V&zX$W&zX$z&zX~O!q;rO~P>UO!q;sO~P>UO!q>VO#OWO#O9UO~OT8tOz8rO!S8uO!b8vO!qXO#OYO#OSO~O!y$hO#S>TO~O!y$hO#S>UO~Oo=yOs$lO~Oo>ROs$lO~Oo>QOs$lO~O%O$U$}$d!d$V#b%V#e'g!s#d~",goto:"%'X'mPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP'nP'uPP'{(OPPP(hP(OP(O*ZP*ZPP2W:j:mPP*Z:sBpPBsPBsPP:sCSCVCZ:s:sPPPC^PP:sK^!$S!$S:s!$WP!$W!$W!%XP!.c!7yP!?xP*ZP*Z*ZPPPPP!?{PPPPPPP*Z*Z*Z*ZPP*Z*ZP!Ef!G[P!G`!HS!G[!G[!HY*Z*ZP!Hc!Hu!Ik!Ji!Jo!Ji!Jz!Ji!Ji!K]!K`!K`*ZPP*ZPP!Kd#%b#%b#%fP#%lP(O#%p(O#&Y#&]#&]#&c(O#&f(O(O#&l#&o(O#&x#&{(O(O(O(O(O#'O(O(O(O(O(O(O(O(O(O#'R#'e(O(O#'i#'y#'|(O(OP#(P#(W#(^#(y#)T#)Z#)e#)l#)r#*n#4f#5b#5h#5n#5x#6O#6U#6d#6j#6p#6v#6|#7S#7Y#7d#7n#7t#7z#8UPPPPPPPP#8[#8`#9U#NV#NY#Nd$(m$(y$)`$)f$)i$)l$)r$,c$6T$>j$>m$>s$>v$>y$?S$?[$?f$?x$Bx$C`$DZ$LZPP%&X%&]%&i%'O%'UQ!nQT!qV!rQUOR%x!mRVO}!hPVX!S!j!r!s!w$}%P%S%U(`+r+u.a.c.k0^0_0g1_|!hPVX!S!j!r!s!w$}%P%S%U(`+r+u.a.c.k0^0_0g1_Q%^!ZQ%g!aQ%l!eQ'd$dQ'q$iQ)[%kQ*y'tQ,](xU-m*v*x+OQ.V+cQ.z,[S/r-r-sQ0R.RS0{/q/uQ1T0PQ1m0|R1}1n0u!OPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-P-Q-c-j-y.a.c.k.s/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;sO>V>W>X>Y3afPVX[_bgjklmnoprxyz!S!W!X!Y!]!e!f!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t#}$R$S$U$h$y$}%P%R%S%T%U%c%p%r%}&S&W&p&s&t&w'O'S'U'Y'^'i'm'r'z(O(P(R(S(T(`(l({)P)W)Z)_)c)i)p)t)v*P*T*U*f*o*s*z*}+P+Q+]+`+d+g+r+u+z,T,V,X,Z,g,j,t-P-Q-c-j-q-t-y-z-{.P.a.c.k.s/Y/a/g/k/s/v0T0^0_0b0c0g0t0}1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u5{5|5}6R6Z6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8`8a8b8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;sO>V>W>X>Y3ycPVX[_bdegjklmnoprxyz!S!W!X!Y!]!e!f!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t#{#}$R$S$U$h$y$}%P%R%S%T%U%c%m%n%p%r%}&S&W&p&s&t&w'O'S'U'Y'^'i'm'r'z(O(P(R(S(T(`(l({)P)W)Z)^)_)c)g)h)i)p)t)v*P*T*U*f*o*s*z*}+P+Q+]+`+d+g+r+u+z,T,V,X,Z,g,j,t,w-P-Q-c-j-q-t-y-z-{.P.a.c.k.s/Y/a/g/k/s/v0T0^0_0b0c0g0t0}1P1Z1_2U2V2W2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u5{5|5}6R6Z6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8`8a8b8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;sO>V>W>X>Y0phPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-P-Q-c-j-y.a.c.k.s/a/g/k/v0^0_0b0c0g0t1P1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;sPS=n>Q>TS=q>R>SR=r>UT'n$h*s!csPVXt!S!j!r!s!w$h$}%P%S%U'i(T(`)W*s+]+g+r+u,g,j.a.c.k0^0_0g1_Q$^rR*`'^Q*x'sQ-s*{R/u-vQ(W$tQ)U%hQ)n%vQ*i'fQ+k(XR-b*jQ(V$tQ)Y%jQ)m%vQ*e'eS*h'f)nS+j(W(XS-a*i*jQ.[+kQ/R,lQ/c-_R/e-bQ(U$tQ)T%hQ)V%iQ)l%vU*g'f)m)nU+i(V(W(XQ,f)UU-`*h*i*jS.Z+j+kS/d-a-bQ0V.[R0r/eX+e(T)W+g,j[%e!_$b'c+a.Q0OR,d)Qh$ov(T)W+[+]+`+g,g,j.O.P/}R+T'{R0U.WT1Y0T1Z0w|PVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X,_-P-Q-c-j-y.a.c.k.s/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;sO>V>W>X>YR2W2V|tPVX!S!j!r!s!w$}%P%S%U(`+r+u.a.c.k0^0_0g1_W$`t'i+],gS'i$h*sS+](T+gT,g)W,jQ'_$^R*a'_Q*t'oR-l*tQ/n-nS0y/n0zR0z/oQ-|+XR/z-|Q+g(TR.X+gW+`(T)W+g,jS.P+],gT.S+`.PQ)R%eR,e)RQ'|$oR+U'|Q1Z0TR1u1ZQ${{R(^${Q+t(aR.b+tQ+w(bR.f+wQ+}(cQ,P(dT.l+},PQ(|%`S,a(|7rR7r7TQ(y%^R,^(yQ,j)WR/P,jQ)`%oS,p)`/UR/U,qQ,u)dR/[,uT!uV!rj!iPVX!j!r!s!w(`+r.k0^0_1_Q%Q!SQ(a$}W(h%P%S%U0gQ.d+uQ0X.aR0Y.c|ZPVX!S!j!r!s!w$}%P%S%U(`+r+u.a.c.k0^0_0g1_Q#f[U#m_#s&wQ#wbQ$VkQ$WlQ$XmQ$YnQ$ZoQ$[pQ$sx^$uy2]4`6c8o:k:lQ$vzQ%W!WQ%Y!XQ%[!YW%`!]%R(l,VU%s!g&p-QQ%|!yQ&O!zQ&Q!{S&U!})v^&^#R2_4b6e8r:n:oQ&_#SQ&`#TQ&a#UQ&b#VQ&c#WQ&d#XQ&e#YQ&f#ZQ&g#[Q&h#]Q&i#^Q&j#_Q&k#`Q&l#aQ&m#bQ&u#nQ&v#oS&{#t'OQ'X$RQ'Z$SQ'[$UQ(]$yQ(p%TQ)q%}Q)s&SQ)u&WQ*O&tS*['U4XQ*^'Y^*_2Y3s5t8X:_=P=QQ+S'zQ+V(OQ,`({Q,c)PQ,x)iQ,z)pQ,|)tQ-U*PQ-V*TQ-W*U^-[2Z3t5u8Y:`=R=SQ-h*oQ-w+PQ.j+zQ.v,XQ/^-PQ/f-cQ/l-jQ/w-yQ0p/aQ0s/gQ0v/kQ1O/vU1V0T1Z9UQ1b0cQ1k0tQ1o1PQ2X2[Q2ojQ2p3wQ2v3xQ2w3zQ2x3|Q2y4OQ2z4QQ2{4SQ2|2^Q3O2`Q3P2aQ3Q2bQ3R2cQ3S2dQ3T2eQ3U2fQ3V2gQ3W2hQ3X2iQ3Y2jQ3Z2kQ3[2lQ3]2mQ3^2nQ3_2qQ3`2rQ3a2sQ3c2tQ3d2uQ3g2}Q3h3bQ3j3eQ3k3fQ3l3iQ3o3mQ3p3nQ3r3qQ4W4UQ4w3yQ4x3{Q4y3}Q4z4PQ4{4RQ4|4TQ4}4aQ5P4cQ5Q4dQ5R4eQ5S4fQ5T4gQ5U4hQ5V4iQ5W4jQ5X4kQ5Y4lQ5Z4mQ5[4nQ5]4oQ5^4pQ5_4qQ5`4rQ5a4sQ5b4tQ5d4uQ5e4vQ5h5OQ5i5cQ5k5fQ5l5gQ5m5jQ5p5nQ5q5oQ5s5rQ6O4_Q6P3vQ6T6RQ6{6[Q6|6]Q6}6^Q7O6_Q7P6`Q7Q6aQ7R6bQ7S6dU7T,T.s0bQ7U%cQ7W6fQ7X6gQ7Y6hQ7Z6iQ7[6jQ7]6kQ7^6lQ7_6mQ7`6nQ7a6oQ7b6pQ7c6qQ7d6rQ7e6sQ7f6tQ7h6vQ7i6wQ7l6xQ7n6yQ7o6zQ7v7VQ7w7gQ7y7mQ7{7pQ7|7qQ7}7sQ8O7uQ8P7xQ8Q7zQ8T8RQ8U8SQ8W8VQ8Z8dU9S#k&s7jQ9[8hQ9]8iQ9^8jQ9_8kQ9`8lQ9a8mQ9c8nQ9d8pQ9e8qQ9g8sQ9h8tQ9i8uQ9j8vQ9k8wQ9l8xQ9m8yQ9n8zQ9o8{Q9p8|Q9q8}Q9r9OQ9s9PQ9t9QQ9u9RQ9v9XQ9x9YQ9y9ZQ9}9fQ:O9wQ:R9{Q:T9|Q:U:PQ:Y:WQ:[:XQ:^:]Q:a8gQ;h:bQ;i:cQ;j:dQ;k:eQ;l:fQ;m:gQ;n:hQ;o:iQ;p:jQ;q:mQ;t:pQ;u:qQ;v:rQ;w:sQ;x:tQ;y:uQ;z:vQ;{:wQ;|:xQ;}:yQOQ=s>VQ=t>WQ=u>XR=v>Y0t!OPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-P-Q-c-j-y.a.c.k.s/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;sO>V>W>X>YS$]r'^Q%k!eS%o!f%rQ)b%pU+X(R(S+dQ,o)_Q,s)cQ/X,tQ/y-{R0n/Y|vPVX!S!j!r!s!w$}%P%S%U(`+r+u.a.c.k0^0_0g1_#U#i[bklmnopxyz!W!X!Y!{#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b$R$S$U$y%}&S'Y(O)p+P-y/v0c1P2Y2Z6v6w`+^(T)W+]+`+g,g,j.P!t6u'U2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3x3z3|4O4Q4S5t5u!x;`3s3t3v3w3y3{3}4P4R4T4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r$O=x_j!]!g#k#n#o#s#t%R%T&p&s&t&w'O'z(l({)P)i*P*U,V,X-Q6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6x6y6z7V7j7m7p7u7z8R8S8V8X8Y8d8e8f8g#|>Z!y!z!}%c&W)t)v*T*o,T-c-j.s/a/g/k0b0t4U6R7g7q7s7x8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9X9Y9Z9f9w9{9|:P:W:X:]:_:`;a;b=X=k=l!v>[+z-P9T9V:b:c:d:e:f:h:i:k:m:n:p:r:t:v:x:z:|;O;Q;S;U;W;Y;[;^;c;e;g;r]0T1Z9U:g:j:l:o:q:s:u:w:y:{:};P;R;T;V;X;Z;];_;d;f;s AssignmentExpression ArrayExpression ValueList & VariadicUnpacking ... Pair [ ] ListExpression ValueList Pair Pair SubscriptExpression MemberExpression -> ?-> VariableName DynamicVariable $ ${ CallExpression ArgList NamedArgument SpreadArgument CastExpression UnionType LogicOp OptionalType NamedType QualifiedName \\ NamespaceName ScopedExpression :: ClassMemberName AssignOp UpdateExpression UpdateOp YieldExpression BinaryExpression LogicOp LogicOp LogicOp BitOp BitOp BitOp CompareOp CompareOp BitOp ArithOp ConcatOp ArithOp ArithOp IncludeExpression RequireExpression CloneExpression UnaryExpression ControlOp LogicOp PrintIntrinsic FunctionExpression static ParamList Parameter #[ Attributes Attribute VariadicParameter PropertyParameter UseList ArrowFunction NewExpression class BaseClause ClassInterfaceClause DeclarationList ConstDeclaration VariableDeclarator PropertyDeclaration VariableDeclarator MethodDeclaration UseDeclaration UseList UseInsteadOfClause UseAsClause UpdateExpression ArithOp ShellExpression ThrowExpression Integer Float String MemberExpression SubscriptExpression UnaryExpression ArithOp Interpolation String IfStatement ColonBlock SwitchStatement Block CaseStatement DefaultStatement ColonBlock WhileStatement EmptyStatement DoStatement ForStatement ForSpec SequenceExpression ForeachStatement ForSpec Pair GotoStatement ContinueStatement BreakStatement ReturnStatement TryStatement CatchDeclarator DeclareStatement EchoStatement UnsetStatement ConstDeclaration FunctionDefinition ClassDeclaration InterfaceDeclaration TraitDeclaration EnumDeclaration EnumBody EnumCase NamespaceDefinition NamespaceUseDeclaration UseGroup UseClause UseClause GlobalDeclaration FunctionStaticDeclaration Program",maxTerm:304,nodeProps:[["group",-36,2,8,49,81,83,85,88,93,94,102,106,107,110,111,114,118,123,126,130,132,133,147,148,149,150,153,154,164,165,179,181,182,183,184,185,191,"Expression",-28,74,78,80,82,192,194,199,201,202,205,208,209,210,211,212,214,215,216,217,218,219,220,221,222,225,226,230,231,"Statement",-3,119,121,122,"Type"],["isolate",-4,66,67,70,191,""],["openedBy",69,"phpOpen",76,"{",86,"(",101,"#["],["closedBy",71,"phpClose",77,"}",87,")",158,"]"]],propSources:[Ak],skippedNodes:[0],repeatNodeCount:29,tokenData:"!F|_R!]OX$zXY&^YZ'sZ]$z]^&^^p$zpq&^qr)Rrs+Pst+otu2buv5evw6rwx8Vxy>]yz>yz{?g{|@}|}Bb}!OCO!O!PDh!P!QKT!Q!R!!o!R![!$q![!]!,P!]!^!-a!^!_!-}!_!`!1S!`!a!2d!a!b!3t!b!c!7^!c!d!7z!d!e!9W!e!}!7z!}#O!;^#O#P!;z#P#Q!V<%lO8VR9WV&wP%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ9rV%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ:^O%VQQ:aRO;'S9m;'S;=`:j;=`O9mQ:oW%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l9m<%lO9mQ;[P;=`<%l9mR;fV&wP%VQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRV<%l~8V~O8V~~%fR=OW&wPOY8VYZ9PZ!^8V!^!_;{!_;'S8V;'S;=`=h;=`<%l9m<%lO8VR=mW%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l8V<%lO9mR>YP;=`<%l8VR>dV!yQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV?QV!xU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR?nY&wP$VQOY$zYZ%fZz$zz{@^{!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR@eW$WQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRAUY$TQ&wPOY$zYZ%fZ{$z{|At|!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRA{V$zQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRBiV!}Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_CXZ$TQ%TW&wPOY$zYZ%fZ}$z}!OAt!O!^$z!^!_%k!_!`6U!`!aCz!a;'S$z;'S;=`&W<%lO$zVDRV#`U&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVDo[&wP$UQOY$zYZ%fZ!O$z!O!PEe!P!Q$z!Q![Fs![!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zVEjX&wPOY$zYZ%fZ!O$z!O!PFV!P!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVF^V#UU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRFz_&wP%OQOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#SJc#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zRHO]&wPOY$zYZ%fZ{$z{|Hw|}$z}!OHw!O!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRH|X&wPOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRIpZ&wP%OQOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_#R$z#R#SHw#S;'S$z;'S;=`&W<%lO$zRJhX&wPOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVK[[&wP$VQOY$zYZ%fZz$zz{LQ{!P$z!P!Q,o!Q!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zVLVX&wPOYLQYZLrZzLQz{N_{!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQVLwT&wPOzMWz{Mj{;'SMW;'S;=`NX<%lOMWUMZTOzMWz{Mj{;'SMW;'S;=`NX<%lOMWUMmVOzMWz{Mj{!PMW!P!QNS!Q;'SMW;'S;=`NX<%lOMWUNXO!eUUN[P;=`<%lMWVNdZ&wPOYLQYZLrZzLQz{N_{!PLQ!P!Q! V!Q!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQV! ^V!eU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV! vZOYLQYZLrZzLQz{N_{!aLQ!a!bMW!b;'SLQ;'S;=`!!i<%l~LQ~OLQ~~%fV!!lP;=`<%lLQZ!!vm&wP$}YOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!d$z!d!e!&o!e!g$z!g!hGy!h!q$z!q!r!(a!r!z$z!z!{!){!{#R$z#R#S!%}#S#U$z#U#V!&o#V#X$z#X#YGy#Y#c$z#c#d!(a#d#l$z#l#m!){#m;'S$z;'S;=`&W<%lO$zZ!$xa&wP$}YOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#S!%}#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zZ!&SX&wPOY$zYZ%fZ!Q$z!Q![!$q![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!&tY&wPOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!'k[&wP$}YOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_#R$z#R#S!&o#S;'S$z;'S;=`&W<%lO$zZ!(fX&wPOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!)YZ&wP$}YOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_#R$z#R#S!(a#S;'S$z;'S;=`&W<%lO$zZ!*Q]&wPOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zZ!+Q_&wP$}YOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#R$z#R#S!){#S#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zR!,WX!qQ&wPOY$zYZ%fZ![$z![!]!,s!]!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!,zV#sQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!-hV!mU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!.S[$RQOY$zYZ%fZ!^$z!^!_!.x!_!`!/i!`!a*c!a!b!0]!b;'S$z;'S;=`&W<%l~$z~O$z~~%fR!/PW$SQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!/pX$RQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a*c!a;'S$z;'S;=`&W<%lO$zP!0bR!iP!_!`!0k!r!s!0p#d#e!0pP!0pO!iPP!0sQ!j!k!0y#[#]!0yP!0|Q!r!s!0k#d#e!0kV!1ZX#uQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`)r!`!a!1v!a;'S$z;'S;=`&W<%lO$zV!1}V#OU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!2kX$RQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`!3W!`!a!.x!a;'S$z;'S;=`&W<%lO$zR!3_V$RQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!3{[!vQ&wPOY$zYZ%fZ}$z}!O!4q!O!^$z!^!_%k!_!`$z!`!a!6P!a!b!6m!b;'S$z;'S;=`&W<%lO$zV!4vX&wPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a!5c!a;'S$z;'S;=`&W<%lO$zV!5jV#aU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!6WV!gU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!6tW#zQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!7eV$]Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!8Ra&wP!s^OY$zYZ%fZ!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$z_!9_e&wP!s^OY$zYZ%fZr$zrs!:psw$zwx8Vx!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$zR!:wV&wP'gQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!;eV#WU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!mZ!^!=u!^!_!@u!_#O!=u#O#P!Aq#P#S!=u#S#T!B{#T;'S!=u;'S;=`!Ci<%lO!=uR!>rV&wPO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o<%lO!?XQ!?[VO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o<%lO!?XQ!?tRO;'S!?X;'S;=`!?};=`O!?XQ!@QWO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o;=`<%l!?X<%lO!?XQ!@oO${QQ!@rP;=`<%l!?XR!@x]OY!=uYZ!>mZ!a!=u!a!b!?X!b#O!=u#O#P!Aq#P#S!=u#S#T!B{#T;'S!=u;'S;=`!Ci<%l~!=u~O!=u~~%fR!AvW&wPOY!=uYZ!>mZ!^!=u!^!_!@u!_;'S!=u;'S;=`!B`;=`<%l!?X<%lO!=uR!BcWO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o;=`<%l!=u<%lO!?XR!CSV${Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!ClP;=`<%l!=uV!CvV!oU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!DfY#}Q#lS&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`#p$z#p#q!EU#q;'S$z;'S;=`&W<%lO$zR!E]V#{Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!EyV!nQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!FgV$^Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z",tokenizers:[_k,Ek,Ck,0,1,2,3,jk],topRules:{Template:[0,72],Program:[1,232]},dynamicPrecedences:{284:1},specialized:[{term:81,get:(O,e)=>rm(O)<<1,external:rm},{term:81,get:O=>Lk[O]||-1}],tokenPrec:29378});var Mk=ae.define({name:"php",parser:om.configure({props:[le.add({IfStatement:ce({except:/^\s*({|else\b|elseif\b|endif\b)/}),TryStatement:ce({except:/^\s*({|catch\b|finally\b)/}),SwitchBody:O=>{let e=O.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return O.baseIndent+(t?0:i?1:2)*O.unit},ColonBlock:O=>O.baseIndent+O.unit,"Block EnumBody DeclarationList":xe({closing:"}"}),ArrowFunction:O=>O.baseIndent+O.unit,"String BlockComment":()=>null,Statement:ce({except:/^({|end(for|foreach|switch|while)\b)/})}),ne.add({"Block EnumBody DeclarationList SwitchBody ArrayExpression ValueList":me,ColonBlock(O){return{from:O.from+1,to:O.to}},BlockComment(O){return{from:O.from+2,to:O.to-2}}})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*(?:case |default:|end(?:if|for(?:each)?|switch|while)|else(?:if)?|\{|\})$/,wordChars:"$",closeBrackets:{stringPrefixes:["b","B"]}}});function am(O={}){let e=[],t;if(O.baseLanguage!==null)if(O.baseLanguage)t=O.baseLanguage;else{let i=fi({matchClosingTags:!1});e.push(i.support),t=i.language}return new Oe(Mk.configure({wrap:t&&PO(i=>i.type.isTop?{parser:t.parser,overlay:r=>r.name=="Text"}:null),top:O.plain?"Program":"Template"}),e)}var Dk=1,dm=194,Qm=195,Ik=196,lm=197,Bk=198,Nk=199,Fk=200,Hk=2,pm=3,hm=201,Kk=24,Jk=25,ew=49,tw=50,Ow=55,iw=56,rw=57,nw=59,sw=60,ow=61,aw=62,lw=63,hw=65,cw=238,fw=71,uw=241,dw=242,Qw=243,pw=244,$w=245,mw=246,gw=247,Sw=248,$m=72,Pw=249,yw=250,Xw=251,xw=252,bw=253,Tw=254,kw=255,ww=256,vw=73,qw=77,Rw=263,zw=112,Yw=130,Ww=151,Zw=152,Vw=155,YO=10,kr=13,xh=32,ks=9,bh=35,Uw=40,_w=46,Xh=123,cm=125,mm=39,gm=34,fm=92,jw=111,Cw=120,Gw=78,Ew=117,Aw=85,Lw=new Set([Jk,ew,tw,Rw,hw,Yw,iw,rw,cw,aw,lw,$m,vw,qw,sw,ow,Ww,Zw,Vw,zw]);function Ph(O){return O==YO||O==kr}function yh(O){return O>=48&&O<=57||O>=65&&O<=70||O>=97&&O<=102}var Mw=new U((O,e)=>{let t;if(O.next<0)O.acceptToken(Nk);else if(e.context.flags&bs)Ph(O.next)&&O.acceptToken(Bk,1);else if(((t=O.peek(-1))<0||Ph(t))&&e.canShift(lm)){let i=0;for(;O.next==xh||O.next==ks;)O.advance(),i++;(O.next==YO||O.next==kr||O.next==bh)&&O.acceptToken(lm,-i)}else Ph(O.next)&&O.acceptToken(Ik,1)},{contextual:!0}),Dw=new U((O,e)=>{let t=e.context;if(t.flags)return;let i=O.peek(-1);if(i==YO||i==kr){let r=0,n=0;for(;;){if(O.next==xh)r++;else if(O.next==ks)r+=8-r%8;else break;O.advance(),n++}r!=t.indent&&O.next!=YO&&O.next!=kr&&O.next!=bh&&(r[O,e|Sm])),Nw=new Ge({start:Iw,reduce(O,e,t,i){return O.flags&bs&&Lw.has(e)||(e==fw||e==$m)&&O.flags&Sm?O.parent:O},shift(O,e,t,i){return e==dm?new Ts(O,Bw(i.read(i.pos,t.pos)),0):e==Qm?O.parent:e==Kk||e==Ow||e==nw||e==pm?new Ts(O,0,bs):um.has(e)?new Ts(O,0,um.get(e)|O.flags&bs):O},hash(O){return O.hash}}),Fw=new U(O=>{for(let e=0;e<5;e++){if(O.next!="print".charCodeAt(e))return;O.advance()}if(!/\w/.test(String.fromCharCode(O.next)))for(let e=0;;e++){let t=O.peek(e);if(!(t==xh||t==ks)){t!=Uw&&t!=_w&&t!=YO&&t!=kr&&t!=bh&&O.acceptToken(Dk);return}}}),Hw=new U((O,e)=>{let{flags:t}=e.context,i=t&Ut?gm:mm,r=(t&_t)>0,n=!(t&jt),s=(t&Ct)>0,o=O.pos;for(;!(O.next<0);)if(s&&O.next==Xh)if(O.peek(1)==Xh)O.advance(2);else{if(O.pos==o){O.acceptToken(pm,1);return}break}else if(n&&O.next==fm){if(O.pos==o){O.advance();let a=O.next;a>=0&&(O.advance(),Kw(O,a)),O.acceptToken(Hk);return}break}else if(O.next==fm&&!n&&O.peek(1)>-1)O.advance(2);else if(O.next==i&&(!r||O.peek(1)==i&&O.peek(2)==i)){if(O.pos==o){O.acceptToken(hm,r?3:1);return}break}else if(O.next==YO){if(r)O.advance();else if(O.pos==o){O.acceptToken(hm);return}break}else O.advance();O.pos>o&&O.acceptToken(Fk)});function Kw(O,e){if(e==jw)for(let t=0;t<2&&O.next>=48&&O.next<=55;t++)O.advance();else if(e==Cw)for(let t=0;t<2&&yh(O.next);t++)O.advance();else if(e==Ew)for(let t=0;t<4&&yh(O.next);t++)O.advance();else if(e==Aw)for(let t=0;t<8&&yh(O.next);t++)O.advance();else if(e==Gw&&O.next==Xh){for(O.advance();O.next>=0&&O.next!=cm&&O.next!=mm&&O.next!=gm&&O.next!=YO;)O.advance();O.next==cm&&O.advance()}}var Jw=H({'async "*" "**" FormatConversion FormatSpec':u.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":u.controlKeyword,"in not and or is del":u.operatorKeyword,"from def class global nonlocal lambda":u.definitionKeyword,import:u.moduleKeyword,"with as print":u.keyword,Boolean:u.bool,None:u.null,VariableName:u.variableName,"CallExpression/VariableName":u.function(u.variableName),"FunctionDefinition/VariableName":u.function(u.definition(u.variableName)),"ClassDefinition/VariableName":u.definition(u.className),PropertyName:u.propertyName,"CallExpression/MemberExpression/PropertyName":u.function(u.propertyName),Comment:u.lineComment,Number:u.number,String:u.string,FormatString:u.special(u.string),Escape:u.escape,UpdateOp:u.updateOperator,"ArithOp!":u.arithmeticOperator,BitOp:u.bitwiseOperator,CompareOp:u.compareOperator,AssignOp:u.definitionOperator,Ellipsis:u.punctuation,At:u.meta,"( )":u.paren,"[ ]":u.squareBracket,"{ }":u.brace,".":u.derefOperator,", ;":u.separator}),ev={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},Pm=se.deserialize({version:14,states:"##jO`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[Fw,Dw,Mw,Hw,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:O=>ev[O]||-1}],tokenPrec:7668});var ym=new Xt,xm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function ws(O){return(e,t,i)=>{if(i)return!1;let r=e.node.getChild("VariableName");return r&&t(r,O),!0}}var tv={FunctionDefinition:ws("function"),ClassDefinition:ws("class"),ForStatement(O,e,t){if(t){for(let i=O.node.firstChild;i;i=i.nextSibling)if(i.name=="VariableName")e(i,"variable");else if(i.name=="in")break}},ImportStatement(O,e){var t,i;let{node:r}=O,n=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let s=r.getChild("import");s;s=s.nextSibling)s.name=="VariableName"&&((i=s.nextSibling)===null||i===void 0?void 0:i.name)!="as"&&e(s,n?"variable":"namespace")},AssignStatement(O,e){for(let t=O.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(O,e){for(let t=null,i=O.node.firstChild;i;i=i.nextSibling)i.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(i,"variable"),t=i},CapturePattern:ws("variable"),AsPattern:ws("variable"),__proto__:null};function bm(O,e){let t=ym.get(e);if(t)return t;let i=[],r=!0;function n(s,o){let a=O.sliceString(s.from,s.to);i.push({label:a,type:o})}return e.cursor(A.IncludeAnonymous).iterate(s=>{if(s.name){let o=tv[s.name];if(o&&o(s,n,r)||!r&&xm.has(s.name))return!1;r=!1}else if(s.to-s.from>8192){for(let o of bm(O,s.node))i.push(o);return!1}}),ym.set(e,i),i}var Xm=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,Tm=["String","FormatString","Comment","PropertyName"];function Ov(O){let e=j(O.state).resolveInner(O.pos,-1);if(Tm.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Xm.test(O.state.sliceDoc(e.from,e.to));if(!t&&!O.explicit)return null;let i=[];for(let r=e;r;r=r.parent)xm.has(r.name)&&(i=i.concat(bm(O.state.doc,r)));return{options:i,from:t?e.from:O.pos,validFor:Xm}}var iv=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(O=>({label:O,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(O=>({label:O,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(O=>({label:O,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(O=>({label:O,type:"function"}))),rv=[V("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),V("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),V("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),V("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),V(`if \${}: + +`,{label:"if",detail:"block",type:"keyword"}),V("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),V("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),V("import ${module}",{label:"import",detail:"statement",type:"keyword"}),V("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],nv=si(Tm,wO(iv.concat(rv)));function Th(O){let{node:e,pos:t}=O,i=O.lineIndent(t,-1),r=null;for(;;){let n=e.childBefore(t);if(n)if(n.name=="Comment")t=n.from;else if(n.name=="Body"||n.name=="MatchBody")O.baseIndentFor(n)+O.unit<=i&&(r=n),e=n;else if(n.name=="MatchClause")e=n;else if(n.type.is("Statement"))e=n;else break;else break}return r}function kh(O,e){let t=O.baseIndentFor(e),i=O.lineAt(O.pos,-1),r=i.from+i.text.length;return/^\s*($|#)/.test(i.text)&&O.node.tot?null:t+O.unit}var wh=ae.define({name:"python",parser:Pm.configure({props:[le.add({Body:O=>{var e;let t=/^\s*(#|$)/.test(O.textAfter)&&Th(O)||O.node;return(e=kh(O,t))!==null&&e!==void 0?e:O.continue()},MatchBody:O=>{var e;let t=Th(O);return(e=kh(O,t||O.node))!==null&&e!==void 0?e:O.continue()},IfStatement:O=>/^\s*(else:|elif )/.test(O.textAfter)?O.baseIndent:O.continue(),"ForStatement WhileStatement":O=>/^\s*else:/.test(O.textAfter)?O.baseIndent:O.continue(),TryStatement:O=>/^\s*(except[ :]|finally:|else:)/.test(O.textAfter)?O.baseIndent:O.continue(),MatchStatement:O=>/^\s*case /.test(O.textAfter)?O.baseIndent+O.unit:O.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":xe({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":xe({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":xe({closing:"]"}),MemberExpression:O=>O.baseIndent+O.unit,"String FormatString":()=>null,Script:O=>{var e;let t=Th(O);return(e=t&&kh(O,t))!==null&&e!==void 0?e:O.continue()}}),ne.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":me,Body:(O,e)=>({from:O.from+1,to:O.to-(O.to==e.doc.length?0:1)}),"String FormatString":(O,e)=>({from:e.doc.lineAt(O.from).to,to:O.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function km(){return new Oe(wh,[wh.data.of({autocomplete:Ov}),wh.data.of({autocomplete:nv})])}var vh=1,sv=2,ov=3,av=4,lv=5,hv=36,cv=37,fv=38,uv=11,dv=13;function Qv(O){return O==45||O==46||O==58||O>=65&&O<=90||O==95||O>=97&&O<=122||O>=161}function pv(O){return O==9||O==10||O==13||O==32}var wm=null,vm=null,qm=0;function qh(O,e){let t=O.pos+e;if(vm==O&&qm==t)return wm;for(;pv(O.peek(e));)e++;let i="";for(;;){let r=O.peek(e);if(!Qv(r))break;i+=String.fromCharCode(r),e++}return vm=O,qm=t,wm=i||null}function Rm(O,e){this.name=O,this.parent=e}var $v=new Ge({start:null,shift(O,e,t,i){return e==vh?new Rm(qh(i,1)||"",O):O},reduce(O,e){return e==uv&&O?O.parent:O},reuse(O,e,t,i){let r=e.type.id;return r==vh||r==dv?new Rm(qh(i,1)||"",O):O},strict:!1}),mv=new U((O,e)=>{if(O.next==60){if(O.advance(),O.next==47){O.advance();let t=qh(O,0);if(!t)return O.acceptToken(lv);if(e.context&&t==e.context.name)return O.acceptToken(sv);for(let i=e.context;i;i=i.parent)if(i.name==t)return O.acceptToken(ov,-2);O.acceptToken(av)}else if(O.next!=33&&O.next!=63)return O.acceptToken(vh)}},{contextual:!0});function Rh(O,e){return new U(t=>{let i=0,r=e.charCodeAt(0);e:for(;!(t.next<0);t.advance(),i++)if(t.next==r){for(let n=1;n"),Sv=Rh(cv,"?>"),Pv=Rh(fv,"]]>"),yv=H({Text:u.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":u.angleBracket,TagName:u.tagName,"MismatchedCloseTag/TagName":[u.tagName,u.invalid],AttributeName:u.attributeName,AttributeValue:u.attributeValue,Is:u.definitionOperator,"EntityReference CharacterReference":u.character,Comment:u.blockComment,ProcessingInst:u.processingInstruction,DoctypeDecl:u.documentMeta,Cdata:u.special(u.string)}),zm=se.deserialize({version:14,states:",lOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DT'#DTOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C|'#C|O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C}'#C}O$dOrO,59^OOOP,59^,59^OOOS'#DO'#DOO$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6z-E6zOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6{-E6{OOOP1G.x1G.xOOOS-E6|-E6|OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'mO!bO,59eOOOO-E6w-E6wO'{OpO1G.uO'{OpO1G.uOOOP1G.u1G.uO(TOpO7+$fOOOP7+$f7+$fO(]O!bO<c!|;'S(o;'S;=`)]<%lO(oi>jX|W!O`Or(ors&osv(owx'}x!r(o!r!s?V!s;'S(o;'S;=`)]<%lO(oi?^X|W!O`Or(ors&osv(owx'}x!g(o!g!h?y!h;'S(o;'S;=`)]<%lO(oi@QY|W!O`Or?yrs@psv?yvwA[wxBdx!`?y!`!aCr!a;'S?y;'S;=`Db<%lO?ya@uV!O`Ov@pvxA[x!`@p!`!aAy!a;'S@p;'S;=`B^<%lO@pPA_TO!`A[!`!aAn!a;'SA[;'S;=`As<%lOA[PAsOiPPAvP;=`<%lA[aBQSiP!O`Ov&ox;'S&o;'S;=`'Q<%lO&oaBaP;=`<%l@pXBiX|WOrBdrsA[svBdvwA[w!`Bd!`!aCU!a;'SBd;'S;=`Cl<%lOBdXC]TiP|WOr'}sv'}w;'S'};'S;=`(c<%lO'}XCoP;=`<%lBdiC{ViP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiDeP;=`<%l?yiDoZ|W!O`Or(ors&osv(owx'}x!e(o!e!fEb!f#V(o#V#WIr#W;'S(o;'S;=`)]<%lO(oiEiX|W!O`Or(ors&osv(owx'}x!f(o!f!gFU!g;'S(o;'S;=`)]<%lO(oiF]X|W!O`Or(ors&osv(owx'}x!c(o!c!dFx!d;'S(o;'S;=`)]<%lO(oiGPX|W!O`Or(ors&osv(owx'}x!v(o!v!wGl!w;'S(o;'S;=`)]<%lO(oiGsX|W!O`Or(ors&osv(owx'}x!c(o!c!dH`!d;'S(o;'S;=`)]<%lO(oiHgX|W!O`Or(ors&osv(owx'}x!}(o!}#OIS#O;'S(o;'S;=`)]<%lO(oiI]V|W!O`yPOr(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiIyX|W!O`Or(ors&osv(owx'}x#W(o#W#XJf#X;'S(o;'S;=`)]<%lO(oiJmX|W!O`Or(ors&osv(owx'}x#T(o#T#UKY#U;'S(o;'S;=`)]<%lO(oiKaX|W!O`Or(ors&osv(owx'}x#h(o#h#iK|#i;'S(o;'S;=`)]<%lO(oiLTX|W!O`Or(ors&osv(owx'}x#T(o#T#UH`#U;'S(o;'S;=`)]<%lO(oiLwX|W!O`Or(ors&osv(owx'}x#c(o#c#dMd#d;'S(o;'S;=`)]<%lO(oiMkX|W!O`Or(ors&osv(owx'}x#V(o#V#WNW#W;'S(o;'S;=`)]<%lO(oiN_X|W!O`Or(ors&osv(owx'}x#h(o#h#iNz#i;'S(o;'S;=`)]<%lO(oi! RX|W!O`Or(ors&osv(owx'}x#m(o#m#n! n#n;'S(o;'S;=`)]<%lO(oi! uX|W!O`Or(ors&osv(owx'}x#d(o#d#e!!b#e;'S(o;'S;=`)]<%lO(oi!!iX|W!O`Or(ors&osv(owx'}x#X(o#X#Y?y#Y;'S(o;'S;=`)]<%lO(oi!#_V!SP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(ok!$PXaQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo!$wX[UVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!%mZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!&`!a;'S$q;'S;=`)c<%lO$qk!&kX!RQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!'aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_#P$q#P#Q!(S#Q;'S$q;'S;=`)c<%lO$qk!(]ZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!)O!a;'S$q;'S;=`)c<%lO$qk!)ZXxQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$q",tokenizers:[mv,gv,Sv,Pv,0,1,2,3,4],topRules:{Document:[0,6]},tokenPrec:0});function vs(O,e){let t=e&&e.getChild("TagName");return t?O.sliceString(t.from,t.to):""}function zh(O,e){let t=e&&e.firstChild;return!t||t.name!="OpenTag"?"":vs(O,t)}function Xv(O,e,t){let i=e&&e.getChildren("Attribute").find(n=>n.from<=t&&n.to>=t),r=i&&i.getChild("AttributeName");return r?O.sliceString(r.from,r.to):""}function Yh(O){for(let e=O&&O.parent;e;e=e.parent)if(e.name=="Element")return e;return null}function xv(O,e){var t;let i=j(O).resolveInner(e,-1),r=null;for(let n=i;!r&&n.parent;n=n.parent)(n.name=="OpenTag"||n.name=="CloseTag"||n.name=="SelfClosingTag"||n.name=="MismatchedCloseTag")&&(r=n);if(r&&(r.to>e||r.lastChild.type.isError)){let n=r.parent;if(i.name=="TagName")return r.name=="CloseTag"||r.name=="MismatchedCloseTag"?{type:"closeTag",from:i.from,context:n}:{type:"openTag",from:i.from,context:Yh(n)};if(i.name=="AttributeName")return{type:"attrName",from:i.from,context:r};if(i.name=="AttributeValue")return{type:"attrValue",from:i.from,context:r};let s=i==r||i.name=="Attribute"?i.childBefore(e):i;return s?.name=="StartTag"?{type:"openTag",from:e,context:Yh(n)}:s?.name=="StartCloseTag"&&s.to<=e?{type:"closeTag",from:e,context:n}:s?.name=="Is"?{type:"attrValue",from:e,context:r}:s?{type:"attrName",from:e,context:r}:null}else if(i.name=="StartCloseTag")return{type:"closeTag",from:e,context:i.parent};for(;i.parent&&i.to==e&&!(!((t=i.lastChild)===null||t===void 0)&&t.type.isError);)i=i.parent;return i.name=="Element"||i.name=="Text"||i.name=="Document"?{type:"tag",from:e,context:i.name=="Element"?i:Yh(i)}:null}var Zh=class{constructor(e,t,i){this.attrs=t,this.attrValues=i,this.children=[],this.name=e.name,this.completion=Object.assign(Object.assign({type:"type"},e.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=e.textContent?e.textContent.map(r=>({label:r,type:"text"})):[]}},Wh=/^[:\-\.\w\u00b7-\uffff]*$/;function Ym(O){return Object.assign(Object.assign({type:"property"},O.completion||{}),{label:O.name})}function Wm(O){return typeof O=="string"?{label:`"${O}"`,type:"constant"}:/^"/.test(O.label)?O:Object.assign(Object.assign({},O),{label:`"${O.label}"`})}function bv(O,e){let t=[],i=[],r=Object.create(null);for(let a of e){let l=Ym(a);t.push(l),a.global&&i.push(l),a.values&&(r[a.name]=a.values.map(Wm))}let n=[],s=[],o=Object.create(null);for(let a of O){let l=i,h=r;a.attributes&&(l=l.concat(a.attributes.map(f=>typeof f=="string"?t.find(d=>d.label==f)||{label:f,type:"property"}:(f.values&&(h==r&&(h=Object.create(h)),h[f.name]=f.values.map(Wm)),Ym(f)))));let c=new Zh(a,l,h);o[c.name]=c,n.push(c),a.top&&s.push(c)}s.length||(s=n);for(let a=0;a{var l;let{doc:h}=a.state,c=xv(a.state,a.pos);if(!c||c.type=="tag"&&!a.explicit)return null;let{type:f,from:d,context:Q}=c;if(f=="openTag"){let p=s,$=zh(h,Q);if($){let m=o[$];p=m?.children||n}return{from:d,options:p.map(m=>m.completion),validFor:Wh}}else if(f=="closeTag"){let p=zh(h,Q);return p?{from:d,to:a.pos+(h.sliceString(a.pos,a.pos+1)==">"?1:0),options:[((l=o[p])===null||l===void 0?void 0:l.closeNameCompletion)||{label:p+">",type:"type"}],validFor:Wh}:null}else if(f=="attrName"){let p=o[vs(h,Q)];return{from:d,options:p?.attrs||i,validFor:Wh}}else if(f=="attrValue"){let p=Xv(h,Q,d);if(!p)return null;let $=o[vs(h,Q)],m=($?.attrValues||r)[p];return!m||!m.length?null:{from:d,to:a.pos+(h.sliceString(a.pos,a.pos+1)=='"'?1:0),options:m,validFor:/^"[^"]*"?$/}}else if(f=="tag"){let p=zh(h,Q),$=o[p],m=[],g=Q&&Q.lastChild;p&&(!g||g.name!="CloseTag"||vs(h,g)!=p)&&m.push($?$.closeCompletion:{label:"",type:"type",boost:2});let y=m.concat(($?.children||(Q?n:s)).map(X=>X.openCompletion));if(Q&&$?.text.length){let X=Q.firstChild;X.to>a.pos-20&&!/\S/.test(a.state.sliceDoc(X.to,a.pos))&&(y=y.concat($.text))}return{from:d,options:y,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}else return null}}var Vh=ae.define({name:"xml",parser:zm.configure({props:[le.add({Element(O){let e=/^\s*<\//.test(O.textAfter);return O.lineIndent(O.node.from)+(e?0:O.unit)},"OpenTag CloseTag SelfClosingTag"(O){return O.column(O.node.from)+O.unit}}),ne.add({Element(O){let e=O.firstChild,t=O.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:t.name=="CloseTag"?t.from:O.to}}}),Or.add({"OpenTag CloseTag":O=>O.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/$/}});function Vm(O={}){let e=[Vh.data.of({autocomplete:bv(O.elements||[],O.attributes||[])})];return O.autoCloseTags!==!1&&e.push(Tv),new Oe(Vh,e)}function Zm(O,e,t=O.length){if(!e)return"";let i=e.firstChild,r=i&&i.getChild("TagName");return r?O.sliceString(r.from,Math.min(r.to,t)):""}var Tv=b.inputHandler.of((O,e,t,i,r)=>{if(O.composing||O.state.readOnly||e!=t||i!=">"&&i!="/"||!Vh.isActiveAt(O.state,e,-1))return!1;let n=r(),{state:s}=n,o=s.changeByRange(a=>{var l,h,c;let{head:f}=a,d=s.doc.sliceString(f-1,f)==i,Q=j(s).resolveInner(f,-1),p;if(d&&i==">"&&Q.name=="EndTag"){let $=Q.parent;if(((h=(l=$.parent)===null||l===void 0?void 0:l.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(p=Zm(s.doc,$.parent,f))){let m=f+(s.doc.sliceString(f,f+1)===">"?1:0),g=``;return{range:a,changes:{from:f,to:m,insert:g}}}}else if(d&&i=="/"&&Q.name=="StartCloseTag"){let $=Q.parent;if(Q.from==f-2&&((c=$.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(p=Zm(s.doc,$,f))){let m=f+(s.doc.sliceString(f,f+1)===">"?1:0),g=`${p}>`;return{range:S.cursor(f+g.length,-1),changes:{from:f,to:m,insert:g}}}}return{range:a}});return o.changes.empty?!1:(O.dispatch([n,s.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var Qi=63,Um=64,kv=1,wv=2,Cm=3,vv=4,Gm=5,qv=6,Rv=7,Em=65,zv=66,Yv=8,Wv=9,Zv=10,Vv=11,Uv=12,Am=13,_v=19,jv=20,Cv=29,Gv=33,Ev=34,Av=47,Lv=0,Eh=1,_h=2,vr=3,jh=4,Gt=class{constructor(e,t,i){this.parent=e,this.depth=t,this.type=i,this.hash=(e?e.hash+e.hash<<8:0)+t+(t<<4)+i}};Gt.top=new Gt(null,-1,Lv);function wr(O,e){for(let t=0,i=e-O.pos-1;;i--,t++){let r=O.peek(i);if(Et(r)||r==-1)return t}}function Ch(O){return O==32||O==9}function Et(O){return O==10||O==13}function Lm(O){return Ch(O)||Et(O)}function WO(O){return O<0||Lm(O)}var Mv=new Ge({start:Gt.top,reduce(O,e){return O.type==vr&&(e==jv||e==Ev)?O.parent:O},shift(O,e,t,i){if(e==Cm)return new Gt(O,wr(i,i.pos),Eh);if(e==Em||e==Gm)return new Gt(O,wr(i,i.pos),_h);if(e==Qi)return O.parent;if(e==_v||e==Gv)return new Gt(O,0,vr);if(e==Am&&O.type==jh)return O.parent;if(e==Av){let r=/[1-9]/.exec(i.read(i.pos,t.pos));if(r)return new Gt(O,O.depth+ +r[0],jh)}return O},hash(O){return O.hash}});function pi(O,e,t=0){return O.peek(t)==e&&O.peek(t+1)==e&&O.peek(t+2)==e&&WO(O.peek(t+3))}var Dv=new U((O,e)=>{if(O.next==-1&&e.canShift(Um))return O.acceptToken(Um);let t=O.peek(-1);if((Et(t)||t<0)&&e.context.type!=vr){if(pi(O,45))if(e.canShift(Qi))O.acceptToken(Qi);else return O.acceptToken(kv,3);if(pi(O,46))if(e.canShift(Qi))O.acceptToken(Qi);else return O.acceptToken(wv,3);let i=0;for(;O.next==32;)i++,O.advance();(i{if(e.context.type==vr){O.next==63&&(O.advance(),WO(O.next)&&O.acceptToken(Rv));return}if(O.next==45)O.advance(),WO(O.next)&&O.acceptToken(e.context.type==Eh&&e.context.depth==wr(O,O.pos-1)?vv:Cm);else if(O.next==63)O.advance(),WO(O.next)&&O.acceptToken(e.context.type==_h&&e.context.depth==wr(O,O.pos-1)?qv:Gm);else{let t=O.pos;for(;;)if(Ch(O.next)){if(O.pos==t)return;O.advance()}else if(O.next==33)Mm(O);else if(O.next==38)Gh(O);else if(O.next==42){Gh(O);break}else if(O.next==39||O.next==34){if(Ah(O,!0))break;return}else if(O.next==91||O.next==123){if(!Nv(O))return;break}else{Dm(O,!0,!1,0);break}for(;Ch(O.next);)O.advance();if(O.next==58){if(O.pos==t&&e.canShift(Cv))return;let i=O.peek(1);WO(i)&&O.acceptTokenTo(e.context.type==_h&&e.context.depth==wr(O,t)?zv:Em,t)}}},{contextual:!0});function Bv(O){return O>32&&O<127&&O!=34&&O!=37&&O!=44&&O!=60&&O!=62&&O!=92&&O!=94&&O!=96&&O!=123&&O!=124&&O!=125}function _m(O){return O>=48&&O<=57||O>=97&&O<=102||O>=65&&O<=70}function jm(O,e){return O.next==37?(O.advance(),_m(O.next)&&O.advance(),_m(O.next)&&O.advance(),!0):Bv(O.next)||e&&O.next==44?(O.advance(),!0):!1}function Mm(O){if(O.advance(),O.next==60){for(O.advance();;)if(!jm(O,!0)){O.next==62&&O.advance();break}}else for(;jm(O,!1););}function Gh(O){for(O.advance();!WO(O.next)&&qs(O.tag)!="f";)O.advance()}function Ah(O,e){let t=O.next,i=!1,r=O.pos;for(O.advance();;){let n=O.next;if(n<0)break;if(O.advance(),n==t)if(n==39)if(O.next==39)O.advance();else break;else break;else if(n==92&&t==34)O.next>=0&&O.advance();else if(Et(n)){if(e)return!1;i=!0}else if(e&&O.pos>=r+1024)return!1}return!i}function Nv(O){for(let e=[],t=O.pos+1024;;)if(O.next==91||O.next==123)e.push(O.next),O.advance();else if(O.next==39||O.next==34){if(!Ah(O,!0))return!1}else if(O.next==93||O.next==125){if(e[e.length-1]!=O.next-2)return!1;if(e.pop(),O.advance(),!e.length)return!0}else{if(O.next<0||O.pos>t||Et(O.next))return!1;O.advance()}}var Fv="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function qs(O){return O<33?"u":O>125?"s":Fv[O-33]}function Uh(O,e){let t=qs(O);return t!="u"&&!(e&&t=="f")}function Dm(O,e,t,i){if(qs(O.next)=="s"||(O.next==63||O.next==58||O.next==45)&&Uh(O.peek(1),t))O.advance();else return!1;let r=O.pos;for(;;){let n=O.next,s=0,o=i+1;for(;Lm(n);){if(Et(n)){if(e)return!1;o=0}else o++;n=O.peek(++s)}if(!(n>=0&&(n==58?Uh(O.peek(s+1),t):n==35?O.peek(s-1)!=32:Uh(n,t)))||!t&&o<=i||o==0&&!t&&(pi(O,45,s)||pi(O,46,s)))break;if(e&&qs(n)=="f")return!1;for(let l=s;l>=0;l--)O.advance();if(e&&O.pos>r+1024)return!1}return!0}var Hv=new U((O,e)=>{if(O.next==33)Mm(O),O.acceptToken(Uv);else if(O.next==38||O.next==42){let t=O.next==38?Zv:Vv;Gh(O),O.acceptToken(t)}else O.next==39||O.next==34?(Ah(O,!1),O.acceptToken(Wv)):Dm(O,!1,e.context.type==vr,e.context.depth)&&O.acceptToken(Yv)}),Kv=new U((O,e)=>{let t=e.context.type==jh?e.context.depth:-1,i=O.pos;e:for(;;){let r=0,n=O.next;for(;n==32;)n=O.peek(++r);if(!r&&(pi(O,45,r)||pi(O,46,r))||!Et(n)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:Mv,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[Jv],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[Dv,Iv,Hv,Kv,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var eq=se.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),tq=ae.define({name:"yaml",parser:Im.configure({props:[le.add({Stream:O=>{for(let e=O.node.resolve(O.pos,-1);e&&e.to>=O.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromO.pos)return null}}return null},FlowMapping:xe({closing:"}"}),FlowSequence:xe({closing:"]"})}),ne.add({"FlowMapping FlowSequence":me,"Item Pair BlockLiteral":(O,e)=>({from:e.doc.lineAt(O.from).to,to:O.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});function Bm(){return new Oe(tq)}var cY=ae.define({name:"yaml-frontmatter",parser:eq.configure({props:[H({DashLine:u.meta})]})});function Oq({isDisabled:O,language:e,state:t}){return{editor:null,themeCompartment:new GO,state:t,init(){let i=this.getLanguageExtension();this.editor=new b({parent:this.$refs.editor,state:M.create({doc:this.state,extensions:[zQ,yt.of([Dd]),M.readOnly.of(O),b.editable.of(!O),b.updateListener.of(r=>{r.docChanged&&(this.state=r.state.doc.toString())}),...i?[i]:[],this.themeCompartment.of(this.getThemeExtensions())]})}),this.$watch("state",()=>{this.state!==void 0&&this.editor.state.doc.toString()!==this.state&&this.editor.dispatch({changes:{from:0,to:this.editor.state.doc.length,insert:this.state}})}),this.themeObserver=new MutationObserver(()=>{this.editor.dispatch({effects:this.themeCompartment.reconfigure(this.getThemeExtensions())})}),this.themeObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]})},isDarkMode(){return document.documentElement.classList.contains("dark")},getThemeExtensions(){return this.isDarkMode()?[_Q]:[]},getLanguageExtension(){return e&&{cpp:FQ,css:ds,go:Qp,html:fi,java:o$,javascript:$s,json:l$,markdown:tm,php:am,python:km,xml:Vm,yaml:Bm}[e]?.()||null},destroy(){this.themeObserver&&(this.themeObserver.disconnect(),this.themeObserver=null),this.editor&&(this.editor.destroy(),this.editor=null)}}}export{Oq as default}; diff --git a/public/js/filament/forms/components/color-picker.js b/public/js/filament/forms/components/color-picker.js new file mode 100644 index 0000000..3b52c37 --- /dev/null +++ b/public/js/filament/forms/components/color-picker.js @@ -0,0 +1 @@ +var c=(e,t=0,r=1)=>e>r?r:eMath.round(r*e)/r;var at={grad:360/400,turn:360,rad:360/(Math.PI*2)},F=e=>G(v(e)),v=e=>(e[0]==="#"&&(e=e.substring(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?a(parseInt(e[3]+e[3],16)/255,2):1}:{r:parseInt(e.substring(0,2),16),g:parseInt(e.substring(2,4),16),b:parseInt(e.substring(4,6),16),a:e.length===8?a(parseInt(e.substring(6,8),16)/255,2):1}),nt=(e,t="deg")=>Number(e)*(at[t]||1),it=e=>{let r=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return r?lt({h:nt(r[1],r[2]),s:Number(r[3]),l:Number(r[4]),a:r[5]===void 0?1:Number(r[5])/(r[6]?100:1)}):{h:0,s:0,v:0,a:1}},J=it,lt=({h:e,s:t,l:r,a:o})=>(t*=(r<50?r:100-r)/100,{h:e,s:t>0?2*t/(r+t)*100:0,v:r+t,a:o}),X=e=>ct(A(e)),Y=({h:e,s:t,v:r,a:o})=>{let s=(200-t)*r/100;return{h:a(e),s:a(s>0&&s<200?t*r/100/(s<=100?s:200-s)*100:0),l:a(s/2),a:a(o,2)}};var d=e=>{let{h:t,s:r,l:o}=Y(e);return`hsl(${t}, ${r}%, ${o}%)`},$=e=>{let{h:t,s:r,l:o,a:s}=Y(e);return`hsla(${t}, ${r}%, ${o}%, ${s})`},A=({h:e,s:t,v:r,a:o})=>{e=e/360*6,t=t/100,r=r/100;let s=Math.floor(e),n=r*(1-t),i=r*(1-(e-s)*t),l=r*(1-(1-e+s)*t),q=s%6;return{r:a([r,i,n,n,l,r][q]*255),g:a([l,r,r,i,n,n][q]*255),b:a([n,n,l,r,r,i][q]*255),a:a(o,2)}},B=e=>{let{r:t,g:r,b:o}=A(e);return`rgb(${t}, ${r}, ${o})`},D=e=>{let{r:t,g:r,b:o,a:s}=A(e);return`rgba(${t}, ${r}, ${o}, ${s})`};var I=e=>{let r=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return r?G({r:Number(r[1])/(r[2]?100/255:1),g:Number(r[3])/(r[4]?100/255:1),b:Number(r[5])/(r[6]?100/255:1),a:r[7]===void 0?1:Number(r[7])/(r[8]?100:1)}):{h:0,s:0,v:0,a:1}},U=I,b=e=>{let t=e.toString(16);return t.length<2?"0"+t:t},ct=({r:e,g:t,b:r,a:o})=>{let s=o<1?b(a(o*255)):"";return"#"+b(e)+b(t)+b(r)+s},G=({r:e,g:t,b:r,a:o})=>{let s=Math.max(e,t,r),n=s-Math.min(e,t,r),i=n?s===e?(t-r)/n:s===t?2+(r-e)/n:4+(e-t)/n:0;return{h:a(60*(i<0?i+6:i)),s:a(s?n/s*100:0),v:a(s/255*100),a:o}};var L=(e,t)=>{if(e===t)return!0;for(let r in e)if(e[r]!==t[r])return!1;return!0},h=(e,t)=>e.replace(/\s/g,"")===t.replace(/\s/g,""),K=(e,t)=>e.toLowerCase()===t.toLowerCase()?!0:L(v(e),v(t));var Q={},H=e=>{let t=Q[e];return t||(t=document.createElement("template"),t.innerHTML=e,Q[e]=t),t},f=(e,t,r)=>{e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:r}))};var m=!1,O=e=>"touches"in e,pt=e=>m&&!O(e)?!1:(m||(m=O(e)),!0),W=(e,t)=>{let r=O(t)?t.touches[0]:t,o=e.el.getBoundingClientRect();f(e.el,"move",e.getMove({x:c((r.pageX-(o.left+window.pageXOffset))/o.width),y:c((r.pageY-(o.top+window.pageYOffset))/o.height)}))},ut=(e,t)=>{let r=t.keyCode;r>40||e.xy&&r<37||r<33||(t.preventDefault(),f(e.el,"move",e.getMove({x:r===39?.01:r===37?-.01:r===34?.05:r===33?-.05:r===35?1:r===36?-1:0,y:r===40?.01:r===38?-.01:0},!0)))},u=class{constructor(t,r,o,s){let n=H(`

    `);t.appendChild(n.content.cloneNode(!0));let i=t.querySelector(`[part=${r}]`);i.addEventListener("mousedown",this),i.addEventListener("touchstart",this),i.addEventListener("keydown",this),this.el=i,this.xy=s,this.nodes=[i.firstChild,i]}set dragging(t){let r=t?document.addEventListener:document.removeEventListener;r(m?"touchmove":"mousemove",this),r(m?"touchend":"mouseup",this)}handleEvent(t){switch(t.type){case"mousedown":case"touchstart":if(t.preventDefault(),!pt(t)||!m&&t.button!=0)return;this.el.focus(),W(this,t),this.dragging=!0;break;case"mousemove":case"touchmove":t.preventDefault(),W(this,t);break;case"mouseup":case"touchend":this.dragging=!1;break;case"keydown":ut(this,t);break}}style(t){t.forEach((r,o)=>{for(let s in r)this.nodes[o].style.setProperty(s,r[s])})}};var S=class extends u{constructor(t){super(t,"hue",'aria-label="Hue" aria-valuemin="0" aria-valuemax="360"',!1)}update({h:t}){this.h=t,this.style([{left:`${t/360*100}%`,color:d({h:t,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuenow",`${a(t)}`)}getMove(t,r){return{h:r?c(this.h+t.x*360,0,360):360*t.x}}};var T=class extends u{constructor(t){super(t,"saturation",'aria-label="Color"',!0)}update(t){this.hsva=t,this.style([{top:`${100-t.v}%`,left:`${t.s}%`,color:d(t)},{"background-color":d({h:t.h,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuetext",`Saturation ${a(t.s)}%, Brightness ${a(t.v)}%`)}getMove(t,r){return{s:r?c(this.hsva.s+t.x*100,0,100):t.x*100,v:r?c(this.hsva.v-t.y*100,0,100):Math.round(100-t.y*100)}}};var Z=':host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:"";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}';var tt="[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}";var rt="[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}";var w=Symbol("same"),R=Symbol("color"),et=Symbol("hsva"),_=Symbol("update"),ot=Symbol("parts"),g=Symbol("css"),x=Symbol("sliders"),p=class extends HTMLElement{static get observedAttributes(){return["color"]}get[g](){return[Z,tt,rt]}get[x](){return[T,S]}get color(){return this[R]}set color(t){if(!this[w](t)){let r=this.colorModel.toHsva(t);this[_](r),this[R]=t}}constructor(){super();let t=H(``),r=this.attachShadow({mode:"open"});r.appendChild(t.content.cloneNode(!0)),r.addEventListener("move",this),this[ot]=this[x].map(o=>new o(r))}connectedCallback(){if(this.hasOwnProperty("color")){let t=this.color;delete this.color,this.color=t}else this.color||(this.color=this.colorModel.defaultColor)}attributeChangedCallback(t,r,o){let s=this.colorModel.fromAttr(o);this[w](s)||(this.color=s)}handleEvent(t){let r=this[et],o={...r,...t.detail};this[_](o);let s;!L(o,r)&&!this[w](s=this.colorModel.fromHsva(o))&&(this[R]=s,f(this,"color-changed",{value:s}))}[w](t){return this.color&&this.colorModel.equal(t,this.color)}[_](t){this[et]=t,this[ot].forEach(r=>r.update(t))}};var dt={defaultColor:"#000",toHsva:F,fromHsva:({h:e,s:t,v:r})=>X({h:e,s:t,v:r,a:1}),equal:K,fromAttr:e=>e},y=class extends p{get colorModel(){return dt}};var P=class extends y{};customElements.define("hex-color-picker",P);var ht={defaultColor:"hsl(0, 0%, 0%)",toHsva:J,fromHsva:d,equal:h,fromAttr:e=>e},M=class extends p{get colorModel(){return ht}};var z=class extends M{};customElements.define("hsl-string-color-picker",z);var mt={defaultColor:"rgb(0, 0, 0)",toHsva:U,fromHsva:B,equal:h,fromAttr:e=>e},C=class extends p{get colorModel(){return mt}};var V=class extends C{};customElements.define("rgb-string-color-picker",V);var k=class extends u{constructor(t){super(t,"alpha",'aria-label="Alpha" aria-valuemin="0" aria-valuemax="1"',!1)}update(t){this.hsva=t;let r=$({...t,a:0}),o=$({...t,a:1}),s=t.a*100;this.style([{left:`${s}%`,color:$(t)},{"--gradient":`linear-gradient(90deg, ${r}, ${o}`}]);let n=a(s);this.el.setAttribute("aria-valuenow",`${n}`),this.el.setAttribute("aria-valuetext",`${n}%`)}getMove(t,r){return{a:r?c(this.hsva.a+t.x):t.x}}};var st=`[part=alpha]{flex:0 0 24px}[part=alpha]::after{display:block;content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;background-image:var(--gradient);box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part^=alpha]{background-color:#fff;background-image:url('data:image/svg+xml,')}[part=alpha-pointer]{top:50%}`;var E=class extends p{get[g](){return[...super[g],st]}get[x](){return[...super[x],k]}};var ft={defaultColor:"rgba(0, 0, 0, 1)",toHsva:I,fromHsva:D,equal:h,fromAttr:e=>e},N=class extends E{get colorModel(){return ft}};var j=class extends N{};customElements.define("rgba-string-color-picker",j);function gt({isAutofocused:e,isDisabled:t,isLive:r,isLiveDebounced:o,isLiveOnBlur:s,liveDebounce:n,state:i}){return{state:i,init(){this.state===null||this.state===""||this.setState(this.state),e&&this.togglePanelVisibility(this.$refs.input),this.$refs.input.addEventListener("change",l=>{this.setState(l.target.value)}),this.$refs.panel.addEventListener("color-changed",l=>{this.setState(l.detail.value),!(s||!(r||o))&&setTimeout(()=>{this.state===l.detail.value&&this.commitState()},o?n:250)}),(r||o||s)&&new MutationObserver(()=>this.isOpen()?null:this.commitState()).observe(this.$refs.panel,{attributes:!0,childList:!0})},togglePanelVisibility(){t||this.$refs.panel.toggle(this.$refs.input)},setState(l){this.state=l,this.$refs.input.value=l,this.$refs.panel.color=l},isOpen(){return this.$refs.panel.style.display==="block"},commitState(){JSON.stringify(this.$wire.__instance.canonical)!==JSON.stringify(this.$wire.__instance.ephemeral)&&this.$wire.$commit()}}}export{gt as default}; diff --git a/public/js/filament/forms/components/date-time-picker.js b/public/js/filament/forms/components/date-time-picker.js new file mode 100644 index 0000000..96642d4 --- /dev/null +++ b/public/js/filament/forms/components/date-time-picker.js @@ -0,0 +1 @@ +var Fi=Object.create;var gn=Object.defineProperty;var Ei=Object.getOwnPropertyDescriptor;var Ji=Object.getOwnPropertyNames;var Ui=Object.getPrototypeOf,Wi=Object.prototype.hasOwnProperty;var g=(n,t)=>()=>(t||n((t={exports:{}}).exports,t),t.exports);var Pi=(n,t,a,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of Ji(t))!Wi.call(n,e)&&e!==a&&gn(n,e,{get:()=>t[e],enumerable:!(i=Ei(t,e))||i.enumerable});return n};var de=(n,t,a)=>(a=n!=null?Fi(Ui(n)):{},Pi(t||!n||!n.__esModule?gn(a,"default",{value:n,enumerable:!0}):a,n));var In=g((je,He)=>{(function(n,t){typeof je=="object"&&typeof He<"u"?He.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_plugin_advancedFormat=t()})(je,function(){"use strict";return function(n,t){var a=t.prototype,i=a.format;a.format=function(e){var r=this,u=this.$locale();if(!this.isValid())return i.bind(this)(e);var d=this.$utils(),o=(e||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(s){switch(s){case"Q":return Math.ceil((r.$M+1)/3);case"Do":return u.ordinal(r.$D);case"gggg":return r.weekYear();case"GGGG":return r.isoWeekYear();case"wo":return u.ordinal(r.week(),"W");case"w":case"ww":return d.s(r.week(),s==="w"?1:2,"0");case"W":case"WW":return d.s(r.isoWeek(),s==="W"?1:2,"0");case"k":case"kk":return d.s(String(r.$H===0?24:r.$H),s==="k"?1:2,"0");case"X":return Math.floor(r.$d.getTime()/1e3);case"x":return r.$d.getTime();case"z":return"["+r.offsetName()+"]";case"zzz":return"["+r.offsetName("long")+"]";default:return s}});return i.bind(this)(o)}}})});var xn=g((Te,we)=>{(function(n,t){typeof Te=="object"&&typeof we<"u"?we.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_plugin_customParseFormat=t()})(Te,function(){"use strict";var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,a=/\d/,i=/\d\d/,e=/\d\d?/,r=/\d*[^-_:/,()\s\d]+/,u={},d=function(m){return(m=+m)+(m>68?1900:2e3)},o=function(m){return function(Y){this[m]=+Y}},s=[/[+-]\d\d:?(\d\d)?|Z/,function(m){(this.zone||(this.zone={})).offset=function(Y){if(!Y||Y==="Z")return 0;var D=Y.match(/([+-]|\d\d)/g),L=60*D[1]+(+D[2]||0);return L===0?0:D[0]==="+"?-L:L}(m)}],_=function(m){var Y=u[m];return Y&&(Y.indexOf?Y:Y.s.concat(Y.f))},y=function(m,Y){var D,L=u.meridiem;if(L){for(var w=1;w<=24;w+=1)if(m.indexOf(L(w,0,Y))>-1){D=w>12;break}}else D=m===(Y?"pm":"PM");return D},l={A:[r,function(m){this.afternoon=y(m,!1)}],a:[r,function(m){this.afternoon=y(m,!0)}],Q:[a,function(m){this.month=3*(m-1)+1}],S:[a,function(m){this.milliseconds=100*+m}],SS:[i,function(m){this.milliseconds=10*+m}],SSS:[/\d{3}/,function(m){this.milliseconds=+m}],s:[e,o("seconds")],ss:[e,o("seconds")],m:[e,o("minutes")],mm:[e,o("minutes")],H:[e,o("hours")],h:[e,o("hours")],HH:[e,o("hours")],hh:[e,o("hours")],D:[e,o("day")],DD:[i,o("day")],Do:[r,function(m){var Y=u.ordinal,D=m.match(/\d+/);if(this.day=D[0],Y)for(var L=1;L<=31;L+=1)Y(L).replace(/\[|\]/g,"")===m&&(this.day=L)}],w:[e,o("week")],ww:[i,o("week")],M:[e,o("month")],MM:[i,o("month")],MMM:[r,function(m){var Y=_("months"),D=(_("monthsShort")||Y.map(function(L){return L.slice(0,3)})).indexOf(m)+1;if(D<1)throw new Error;this.month=D%12||D}],MMMM:[r,function(m){var Y=_("months").indexOf(m)+1;if(Y<1)throw new Error;this.month=Y%12||Y}],Y:[/[+-]?\d+/,o("year")],YY:[i,function(m){this.year=d(m)}],YYYY:[/\d{4}/,o("year")],Z:s,ZZ:s};function f(m){var Y,D;Y=m,D=u&&u.formats;for(var L=(m=Y.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function($,H,U){var W=U&&U.toUpperCase();return H||D[U]||n[U]||D[W].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(v,h,c){return h||c.slice(1)})})).match(t),w=L.length,S=0;S-1)return new Date((M==="X"?1e3:1)*p);var T=f(M)(p),q=T.year,N=T.month,F=T.day,P=T.hours,B=T.minutes,Q=T.seconds,ae=T.milliseconds,Z=T.zone,J=T.week,R=new Date,X=F||(q||N?1:R.getDate()),ee=q||R.getFullYear(),fe=0;q&&!N||(fe=N>0?N-1:R.getMonth());var me,pe=P||0,Le=B||0,De=Q||0,ve=ae||0;return Z?new Date(Date.UTC(ee,fe,X,pe,Le,De,ve+60*Z.offset*1e3)):b?new Date(Date.UTC(ee,fe,X,pe,Le,De,ve)):(me=new Date(ee,fe,X,pe,Le,De,ve),J&&(me=k(me).week(J).toDate()),me)}catch{return new Date("")}}(C,x,A,D),this.init(),W&&W!==!0&&(this.$L=this.locale(W).$L),U&&C!=this.format(x)&&(this.$d=new Date("")),u={}}else if(x instanceof Array)for(var v=x.length,h=1;h<=v;h+=1){I[1]=x[h-1];var c=D.apply(this,I);if(c.isValid()){this.$d=c.$d,this.$L=c.$L,this.init();break}h===v&&(this.$d=new Date(""))}else w.call(this,S)}}})});var Nn=g(($e,Ce)=>{(function(n,t){typeof $e=="object"&&typeof Ce<"u"?Ce.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_plugin_localeData=t()})($e,function(){"use strict";return function(n,t,a){var i=t.prototype,e=function(s){return s&&(s.indexOf?s:s.s)},r=function(s,_,y,l,f){var m=s.name?s:s.$locale(),Y=e(m[_]),D=e(m[y]),L=Y||D.map(function(S){return S.slice(0,l)});if(!f)return L;var w=m.weekStart;return L.map(function(S,C){return L[(C+(w||0))%7]})},u=function(){return a.Ls[a.locale()]},d=function(s,_){return s.formats[_]||function(y){return y.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(l,f,m){return f||m.slice(1)})}(s.formats[_.toUpperCase()])},o=function(){var s=this;return{months:function(_){return _?_.format("MMMM"):r(s,"months")},monthsShort:function(_){return _?_.format("MMM"):r(s,"monthsShort","months",3)},firstDayOfWeek:function(){return s.$locale().weekStart||0},weekdays:function(_){return _?_.format("dddd"):r(s,"weekdays")},weekdaysMin:function(_){return _?_.format("dd"):r(s,"weekdaysMin","weekdays",2)},weekdaysShort:function(_){return _?_.format("ddd"):r(s,"weekdaysShort","weekdays",3)},longDateFormat:function(_){return d(s.$locale(),_)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};i.localeData=function(){return o.bind(this)()},a.localeData=function(){var s=u();return{firstDayOfWeek:function(){return s.weekStart||0},weekdays:function(){return a.weekdays()},weekdaysShort:function(){return a.weekdaysShort()},weekdaysMin:function(){return a.weekdaysMin()},months:function(){return a.months()},monthsShort:function(){return a.monthsShort()},longDateFormat:function(_){return d(s,_)},meridiem:s.meridiem,ordinal:s.ordinal}},a.months=function(){return r(u(),"months")},a.monthsShort=function(){return r(u(),"monthsShort","months",3)},a.weekdays=function(s){return r(u(),"weekdays",null,null,s)},a.weekdaysShort=function(s){return r(u(),"weekdaysShort","weekdays",3,s)},a.weekdaysMin=function(s){return r(u(),"weekdaysMin","weekdays",2,s)}}})});var Fn=g((Oe,ze)=>{(function(n,t){typeof Oe=="object"&&typeof ze<"u"?ze.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_plugin_timezone=t()})(Oe,function(){"use strict";var n={year:0,month:1,day:2,hour:3,minute:4,second:5},t={};return function(a,i,e){var r,u=function(_,y,l){l===void 0&&(l={});var f=new Date(_),m=function(Y,D){D===void 0&&(D={});var L=D.timeZoneName||"short",w=Y+"|"+L,S=t[w];return S||(S=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:Y,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:L}),t[w]=S),S}(y,l);return m.formatToParts(f)},d=function(_,y){for(var l=u(_,y),f=[],m=0;m=0&&(f[w]=parseInt(L,10))}var S=f[3],C=S===24?0:S,A=f[0]+"-"+f[1]+"-"+f[2]+" "+C+":"+f[4]+":"+f[5]+":000",I=+_;return(e.utc(A).valueOf()-(I-=I%1e3))/6e4},o=i.prototype;o.tz=function(_,y){_===void 0&&(_=r);var l,f=this.utcOffset(),m=this.toDate(),Y=m.toLocaleString("en-US",{timeZone:_}),D=Math.round((m-new Date(Y))/1e3/60),L=15*-Math.round(m.getTimezoneOffset()/15)-D;if(!Number(L))l=this.utcOffset(0,y);else if(l=e(Y,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(L,!0),y){var w=l.utcOffset();l=l.add(f-w,"minute")}return l.$x.$timezone=_,l},o.offsetName=function(_){var y=this.$x.$timezone||e.tz.guess(),l=u(this.valueOf(),y,{timeZoneName:_}).find(function(f){return f.type.toLowerCase()==="timezonename"});return l&&l.value};var s=o.startOf;o.startOf=function(_,y){if(!this.$x||!this.$x.$timezone)return s.call(this,_,y);var l=e(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return s.call(l,_,y).tz(this.$x.$timezone,!0)},e.tz=function(_,y,l){var f=l&&y,m=l||y||r,Y=d(+e(),m);if(typeof _!="string")return e(_).tz(m);var D=function(C,A,I){var x=C-60*A*1e3,$=d(x,I);if(A===$)return[x,A];var H=d(x-=60*($-A)*1e3,I);return $===H?[x,$]:[C-60*Math.min($,H)*1e3,Math.max($,H)]}(e.utc(_,f).valueOf(),Y,m),L=D[0],w=D[1],S=e(L).utcOffset(w);return S.$x.$timezone=m,S},e.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},e.tz.setDefault=function(_){r=_}}})});var En=g((Ae,qe)=>{(function(n,t){typeof Ae=="object"&&typeof qe<"u"?qe.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_plugin_utc=t()})(Ae,function(){"use strict";var n="minute",t=/[+-]\d\d(?::?\d\d)?/g,a=/([+-]|\d\d)/g;return function(i,e,r){var u=e.prototype;r.utc=function(f){var m={date:f,utc:!0,args:arguments};return new e(m)},u.utc=function(f){var m=r(this.toDate(),{locale:this.$L,utc:!0});return f?m.add(this.utcOffset(),n):m},u.local=function(){return r(this.toDate(),{locale:this.$L,utc:!1})};var d=u.parse;u.parse=function(f){f.utc&&(this.$u=!0),this.$utils().u(f.$offset)||(this.$offset=f.$offset),d.call(this,f)};var o=u.init;u.init=function(){if(this.$u){var f=this.$d;this.$y=f.getUTCFullYear(),this.$M=f.getUTCMonth(),this.$D=f.getUTCDate(),this.$W=f.getUTCDay(),this.$H=f.getUTCHours(),this.$m=f.getUTCMinutes(),this.$s=f.getUTCSeconds(),this.$ms=f.getUTCMilliseconds()}else o.call(this)};var s=u.utcOffset;u.utcOffset=function(f,m){var Y=this.$utils().u;if(Y(f))return this.$u?0:Y(this.$offset)?s.call(this):this.$offset;if(typeof f=="string"&&(f=function(S){S===void 0&&(S="");var C=S.match(t);if(!C)return null;var A=(""+C[0]).match(a)||["-",0,0],I=A[0],x=60*+A[1]+ +A[2];return x===0?0:I==="+"?x:-x}(f),f===null))return this;var D=Math.abs(f)<=16?60*f:f,L=this;if(m)return L.$offset=D,L.$u=f===0,L;if(f!==0){var w=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(L=this.local().add(D+w,n)).$offset=D,L.$x.$localOffset=w}else L=this.utc();return L};var _=u.format;u.format=function(f){var m=f||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return _.call(this,m)},u.valueOf=function(){var f=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*f},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var y=u.toDate;u.toDate=function(f){return f==="s"&&this.$offset?r(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():y.call(this)};var l=u.diff;u.diff=function(f,m,Y){if(f&&this.$u===f.$u)return l.call(this,f,m,Y);var D=this.local(),L=r(f).local();return l.call(D,L,m,Y)}}})});var j=g((Ie,xe)=>{(function(n,t){typeof Ie=="object"&&typeof xe<"u"?xe.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs=t()})(Ie,function(){"use strict";var n=1e3,t=6e4,a=36e5,i="millisecond",e="second",r="minute",u="hour",d="day",o="week",s="month",_="quarter",y="year",l="date",f="Invalid Date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,Y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,D={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(v){var h=["th","st","nd","rd"],c=v%100;return"["+v+(h[(c-20)%10]||h[c]||h[0])+"]"}},L=function(v,h,c){var p=String(v);return!p||p.length>=h?v:""+Array(h+1-p.length).join(c)+v},w={s:L,z:function(v){var h=-v.utcOffset(),c=Math.abs(h),p=Math.floor(c/60),M=c%60;return(h<=0?"+":"-")+L(p,2,"0")+":"+L(M,2,"0")},m:function v(h,c){if(h.date()1)return v(k[0])}else{var T=h.name;C[T]=h,M=T}return!p&&M&&(S=M),M||!p&&S},$=function(v,h){if(I(v))return v.clone();var c=typeof h=="object"?h:{};return c.date=v,c.args=arguments,new U(c)},H=w;H.l=x,H.i=I,H.w=function(v,h){return $(v,{locale:h.$L,utc:h.$u,x:h.$x,$offset:h.$offset})};var U=function(){function v(c){this.$L=x(c.locale,null,!0),this.parse(c),this.$x=this.$x||c.x||{},this[A]=!0}var h=v.prototype;return h.parse=function(c){this.$d=function(p){var M=p.date,b=p.utc;if(M===null)return new Date(NaN);if(H.u(M))return new Date;if(M instanceof Date)return new Date(M);if(typeof M=="string"&&!/Z$/i.test(M)){var k=M.match(m);if(k){var T=k[2]-1||0,q=(k[7]||"0").substring(0,3);return b?new Date(Date.UTC(k[1],T,k[3]||1,k[4]||0,k[5]||0,k[6]||0,q)):new Date(k[1],T,k[3]||1,k[4]||0,k[5]||0,k[6]||0,q)}}return new Date(M)}(c),this.init()},h.init=function(){var c=this.$d;this.$y=c.getFullYear(),this.$M=c.getMonth(),this.$D=c.getDate(),this.$W=c.getDay(),this.$H=c.getHours(),this.$m=c.getMinutes(),this.$s=c.getSeconds(),this.$ms=c.getMilliseconds()},h.$utils=function(){return H},h.isValid=function(){return this.$d.toString()!==f},h.isSame=function(c,p){var M=$(c);return this.startOf(p)<=M&&M<=this.endOf(p)},h.isAfter=function(c,p){return $(c){(function(n,t){typeof Ne=="object"&&typeof Fe<"u"?Fe.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_am=t(n.dayjs)})(Ne,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"am",weekdays:"\u12A5\u1211\u12F5_\u1230\u129E_\u121B\u12AD\u1230\u129E_\u1228\u1261\u12D5_\u1210\u1219\u1235_\u12A0\u122D\u1265_\u1245\u12F3\u121C".split("_"),weekdaysShort:"\u12A5\u1211\u12F5_\u1230\u129E_\u121B\u12AD\u1230_\u1228\u1261\u12D5_\u1210\u1219\u1235_\u12A0\u122D\u1265_\u1245\u12F3\u121C".split("_"),weekdaysMin:"\u12A5\u1211_\u1230\u129E_\u121B\u12AD_\u1228\u1261_\u1210\u1219_\u12A0\u122D_\u1245\u12F3".split("_"),months:"\u1303\u1295\u12CB\u122A_\u134C\u1265\u122F\u122A_\u121B\u122D\u127D_\u12A4\u1355\u122A\u120D_\u121C\u12ED_\u1301\u1295_\u1301\u120B\u12ED_\u12A6\u1308\u1235\u1275_\u1234\u1355\u1274\u121D\u1260\u122D_\u12A6\u12AD\u1276\u1260\u122D_\u1296\u126C\u121D\u1260\u122D_\u12F2\u1234\u121D\u1260\u122D".split("_"),monthsShort:"\u1303\u1295\u12CB_\u134C\u1265\u122F_\u121B\u122D\u127D_\u12A4\u1355\u122A_\u121C\u12ED_\u1301\u1295_\u1301\u120B\u12ED_\u12A6\u1308\u1235_\u1234\u1355\u1274_\u12A6\u12AD\u1276_\u1296\u126C\u121D_\u12F2\u1234\u121D".split("_"),weekStart:1,yearStart:4,relativeTime:{future:"\u1260%s",past:"%s \u1260\u134A\u1275",s:"\u1325\u1242\u1275 \u1230\u12A8\u1295\u12F6\u127D",m:"\u12A0\u1295\u12F5 \u12F0\u1242\u1243",mm:"%d \u12F0\u1242\u1243\u12CE\u127D",h:"\u12A0\u1295\u12F5 \u1230\u12D3\u1275",hh:"%d \u1230\u12D3\u1273\u1275",d:"\u12A0\u1295\u12F5 \u1240\u1295",dd:"%d \u1240\u1293\u1275",M:"\u12A0\u1295\u12F5 \u12C8\u122D",MM:"%d \u12C8\u122B\u1275",y:"\u12A0\u1295\u12F5 \u12D3\u1218\u1275",yy:"%d \u12D3\u1218\u1273\u1275"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM D \u1363 YYYY",LLL:"MMMM D \u1363 YYYY HH:mm",LLLL:"dddd \u1363 MMMM D \u1363 YYYY HH:mm"},ordinal:function(e){return e+"\u129B"}};return a.default.locale(i,null,!0),i})});var Un=g((Ee,Je)=>{(function(n,t){typeof Ee=="object"&&typeof Je<"u"?Je.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ar=t(n.dayjs)})(Ee,function(n){"use strict";function t(d){return d&&typeof d=="object"&&"default"in d?d:{default:d}}var a=t(n),i="\u064A\u0646\u0627\u064A\u0631_\u0641\u0628\u0631\u0627\u064A\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064A\u0644_\u0645\u0627\u064A\u0648_\u064A\u0648\u0646\u064A\u0648_\u064A\u0648\u0644\u064A\u0648_\u0623\u063A\u0633\u0637\u0633_\u0633\u0628\u062A\u0645\u0628\u0631_\u0623\u0643\u062A\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062F\u064A\u0633\u0645\u0628\u0631".split("_"),e={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},r={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},u={name:"ar",weekdays:"\u0627\u0644\u0623\u062D\u062F_\u0627\u0644\u0625\u062B\u0646\u064A\u0646_\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062E\u0645\u064A\u0633_\u0627\u0644\u062C\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062A".split("_"),weekdaysShort:"\u0623\u062D\u062F_\u0625\u062B\u0646\u064A\u0646_\u062B\u0644\u0627\u062B\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062E\u0645\u064A\u0633_\u062C\u0645\u0639\u0629_\u0633\u0628\u062A".split("_"),weekdaysMin:"\u062D_\u0646_\u062B_\u0631_\u062E_\u062C_\u0633".split("_"),months:i,monthsShort:i,weekStart:6,meridiem:function(d){return d>12?"\u0645":"\u0635"},relativeTime:{future:"\u0628\u0639\u062F %s",past:"\u0645\u0646\u0630 %s",s:"\u062B\u0627\u0646\u064A\u0629 \u0648\u0627\u062D\u062F\u0629",m:"\u062F\u0642\u064A\u0642\u0629 \u0648\u0627\u062D\u062F\u0629",mm:"%d \u062F\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629 \u0648\u0627\u062D\u062F\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062A",d:"\u064A\u0648\u0645 \u0648\u0627\u062D\u062F",dd:"%d \u0623\u064A\u0627\u0645",M:"\u0634\u0647\u0631 \u0648\u0627\u062D\u062F",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0639\u0627\u0645 \u0648\u0627\u062D\u062F",yy:"%d \u0623\u0639\u0648\u0627\u0645"},preparse:function(d){return d.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(o){return r[o]}).replace(/،/g,",")},postformat:function(d){return d.replace(/\d/g,function(o){return e[o]}).replace(/,/g,"\u060C")},ordinal:function(d){return d},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200FM/\u200FYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"}};return a.default.locale(u,null,!0),u})});var Wn=g((Ue,We)=>{(function(n,t){typeof Ue=="object"&&typeof We<"u"?We.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_bs=t(n.dayjs)})(Ue,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"bs",weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010Detvrtak_petak_subota".split("_"),months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),weekStart:1,weekdaysShort:"ned._pon._uto._sri._\u010Det._pet._sub.".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010De_pe_su".split("_"),ordinal:function(e){return e},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"}};return a.default.locale(i,null,!0),i})});var Pn=g((Pe,Ge)=>{(function(n,t){typeof Pe=="object"&&typeof Ge<"u"?Ge.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ca=t(n.dayjs)})(Pe,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"ca",weekdays:"Diumenge_Dilluns_Dimarts_Dimecres_Dijous_Divendres_Dissabte".split("_"),weekdaysShort:"Dg._Dl._Dt._Dc._Dj._Dv._Ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),months:"Gener_Febrer_Mar\xE7_Abril_Maig_Juny_Juliol_Agost_Setembre_Octubre_Novembre_Desembre".split("_"),monthsShort:"Gen._Febr._Mar\xE7_Abr._Maig_Juny_Jul._Ag._Set._Oct._Nov._Des.".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",ll:"D MMM YYYY",lll:"D MMM YYYY, H:mm",llll:"ddd D MMM YYYY, H:mm"},relativeTime:{future:"d'aqu\xED %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},ordinal:function(e){return""+e+(e===1||e===3?"r":e===2?"n":e===4?"t":"\xE8")}};return a.default.locale(i,null,!0),i})});var Re=g((Ye,Gn)=>{(function(n,t){typeof Ye=="object"&&typeof Gn<"u"?t(Ye,j()):typeof define=="function"&&define.amd?define(["exports","dayjs"],t):t((n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ku={},n.dayjs)})(Ye,function(n,t){"use strict";function a(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var i=a(t),e={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},r={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},u=["\u06A9\u0627\u0646\u0648\u0648\u0646\u06CC \u062F\u0648\u0648\u06D5\u0645","\u0634\u0648\u0628\u0627\u062A","\u0626\u0627\u062F\u0627\u0631","\u0646\u06CC\u0633\u0627\u0646","\u0626\u0627\u06CC\u0627\u0631","\u062D\u0648\u0632\u06D5\u06CC\u0631\u0627\u0646","\u062A\u06D5\u0645\u0645\u0648\u0648\u0632","\u0626\u0627\u0628","\u0626\u06D5\u06CC\u0644\u0648\u0648\u0644","\u062A\u0634\u0631\u06CC\u0646\u06CC \u06CC\u06D5\u06A9\u06D5\u0645","\u062A\u0634\u0631\u06CC\u0646\u06CC \u062F\u0648\u0648\u06D5\u0645","\u06A9\u0627\u0646\u0648\u0648\u0646\u06CC \u06CC\u06D5\u06A9\u06D5\u0645"],d={name:"ku",months:u,monthsShort:u,weekdays:"\u06CC\u06D5\u06A9\u0634\u06D5\u0645\u0645\u06D5_\u062F\u0648\u0648\u0634\u06D5\u0645\u0645\u06D5_\u0633\u06CE\u0634\u06D5\u0645\u0645\u06D5_\u0686\u0648\u0627\u0631\u0634\u06D5\u0645\u0645\u06D5_\u067E\u06CE\u0646\u062C\u0634\u06D5\u0645\u0645\u06D5_\u0647\u06D5\u06CC\u0646\u06CC_\u0634\u06D5\u0645\u0645\u06D5".split("_"),weekdaysShort:"\u06CC\u06D5\u06A9\u0634\u06D5\u0645_\u062F\u0648\u0648\u0634\u06D5\u0645_\u0633\u06CE\u0634\u06D5\u0645_\u0686\u0648\u0627\u0631\u0634\u06D5\u0645_\u067E\u06CE\u0646\u062C\u0634\u06D5\u0645_\u0647\u06D5\u06CC\u0646\u06CC_\u0634\u06D5\u0645\u0645\u06D5".split("_"),weekStart:6,weekdaysMin:"\u06CC_\u062F_\u0633_\u0686_\u067E_\u0647\u0640_\u0634".split("_"),preparse:function(o){return o.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(s){return r[s]}).replace(/،/g,",")},postformat:function(o){return o.replace(/\d/g,function(s){return e[s]}).replace(/,/g,"\u060C")},ordinal:function(o){return o},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiem:function(o){return o<12?"\u067E.\u0646":"\u062F.\u0646"},relativeTime:{future:"\u0644\u06D5 %s",past:"\u0644\u06D5\u0645\u06D5\u0648\u067E\u06CE\u0634 %s",s:"\u0686\u06D5\u0646\u062F \u0686\u0631\u06A9\u06D5\u06CC\u06D5\u06A9",m:"\u06CC\u06D5\u06A9 \u062E\u0648\u0644\u06D5\u06A9",mm:"%d \u062E\u0648\u0644\u06D5\u06A9",h:"\u06CC\u06D5\u06A9 \u06A9\u0627\u062A\u0698\u0645\u06CE\u0631",hh:"%d \u06A9\u0627\u062A\u0698\u0645\u06CE\u0631",d:"\u06CC\u06D5\u06A9 \u0695\u06C6\u0698",dd:"%d \u0695\u06C6\u0698",M:"\u06CC\u06D5\u06A9 \u0645\u0627\u0646\u06AF",MM:"%d \u0645\u0627\u0646\u06AF",y:"\u06CC\u06D5\u06A9 \u0633\u0627\u06B5",yy:"%d \u0633\u0627\u06B5"}};i.default.locale(d,null,!0),n.default=d,n.englishToArabicNumbersMap=e,Object.defineProperty(n,"__esModule",{value:!0})})});var Rn=g((Ze,Ve)=>{(function(n,t){typeof Ze=="object"&&typeof Ve<"u"?Ve.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_cs=t(n.dayjs)})(Ze,function(n){"use strict";function t(u){return u&&typeof u=="object"&&"default"in u?u:{default:u}}var a=t(n);function i(u){return u>1&&u<5&&~~(u/10)!=1}function e(u,d,o,s){var _=u+" ";switch(o){case"s":return d||s?"p\xE1r sekund":"p\xE1r sekundami";case"m":return d?"minuta":s?"minutu":"minutou";case"mm":return d||s?_+(i(u)?"minuty":"minut"):_+"minutami";case"h":return d?"hodina":s?"hodinu":"hodinou";case"hh":return d||s?_+(i(u)?"hodiny":"hodin"):_+"hodinami";case"d":return d||s?"den":"dnem";case"dd":return d||s?_+(i(u)?"dny":"dn\xED"):_+"dny";case"M":return d||s?"m\u011Bs\xEDc":"m\u011Bs\xEDcem";case"MM":return d||s?_+(i(u)?"m\u011Bs\xEDce":"m\u011Bs\xEDc\u016F"):_+"m\u011Bs\xEDci";case"y":return d||s?"rok":"rokem";case"yy":return d||s?_+(i(u)?"roky":"let"):_+"lety"}}var r={name:"cs",weekdays:"ned\u011Ble_pond\u011Bl\xED_\xFAter\xFD_st\u0159eda_\u010Dtvrtek_p\xE1tek_sobota".split("_"),weekdaysShort:"ne_po_\xFAt_st_\u010Dt_p\xE1_so".split("_"),weekdaysMin:"ne_po_\xFAt_st_\u010Dt_p\xE1_so".split("_"),months:"leden_\xFAnor_b\u0159ezen_duben_kv\u011Bten_\u010Derven_\u010Dervenec_srpen_z\xE1\u0159\xED_\u0159\xEDjen_listopad_prosinec".split("_"),monthsShort:"led_\xFAno_b\u0159e_dub_kv\u011B_\u010Dvn_\u010Dvc_srp_z\xE1\u0159_\u0159\xEDj_lis_pro".split("_"),weekStart:1,yearStart:4,ordinal:function(u){return u+"."},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e}};return a.default.locale(r,null,!0),r})});var Zn=g((Ke,Qe)=>{(function(n,t){typeof Ke=="object"&&typeof Qe<"u"?Qe.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_cy=t(n.dayjs)})(Ke,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"cy",weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),weekStart:1,weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"mewn %s",past:"%s yn \xF4l",s:"ychydig eiliadau",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"}};return a.default.locale(i,null,!0),i})});var Vn=g((Xe,Be)=>{(function(n,t){typeof Xe=="object"&&typeof Be<"u"?Be.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_da=t(n.dayjs)})(Xe,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"da",weekdays:"s\xF8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xF8rdag".split("_"),weekdaysShort:"s\xF8n._man._tirs._ons._tors._fre._l\xF8r.".split("_"),weekdaysMin:"s\xF8._ma._ti._on._to._fr._l\xF8.".split("_"),months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj_juni_juli_aug._sept._okt._nov._dec.".split("_"),weekStart:1,yearStart:4,ordinal:function(e){return e+"."},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},relativeTime:{future:"om %s",past:"%s siden",s:"f\xE5 sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en m\xE5ned",MM:"%d m\xE5neder",y:"et \xE5r",yy:"%d \xE5r"}};return a.default.locale(i,null,!0),i})});var Kn=g((et,tt)=>{(function(n,t){typeof et=="object"&&typeof tt<"u"?tt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_de=t(n.dayjs)})(et,function(n){"use strict";function t(u){return u&&typeof u=="object"&&"default"in u?u:{default:u}}var a=t(n),i={s:"ein paar Sekunden",m:["eine Minute","einer Minute"],mm:"%d Minuten",h:["eine Stunde","einer Stunde"],hh:"%d Stunden",d:["ein Tag","einem Tag"],dd:["%d Tage","%d Tagen"],M:["ein Monat","einem Monat"],MM:["%d Monate","%d Monaten"],y:["ein Jahr","einem Jahr"],yy:["%d Jahre","%d Jahren"]};function e(u,d,o){var s=i[o];return Array.isArray(s)&&(s=s[d?0:1]),s.replace("%d",u)}var r={name:"de",weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),months:"Januar_Februar_M\xE4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xE4rz_Apr._Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.".split("_"),ordinal:function(u){return u+"."},weekStart:1,yearStart:4,formats:{LTS:"HH:mm:ss",LT:"HH:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},relativeTime:{future:"in %s",past:"vor %s",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e}};return a.default.locale(r,null,!0),r})});var Qn=g((nt,it)=>{(function(n,t){typeof nt=="object"&&typeof it<"u"?it.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_el=t(n.dayjs)})(nt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"el",weekdays:"\u039A\u03C5\u03C1\u03B9\u03B1\u03BA\u03AE_\u0394\u03B5\u03C5\u03C4\u03AD\u03C1\u03B1_\u03A4\u03C1\u03AF\u03C4\u03B7_\u03A4\u03B5\u03C4\u03AC\u03C1\u03C4\u03B7_\u03A0\u03AD\u03BC\u03C0\u03C4\u03B7_\u03A0\u03B1\u03C1\u03B1\u03C3\u03BA\u03B5\u03C5\u03AE_\u03A3\u03AC\u03B2\u03B2\u03B1\u03C4\u03BF".split("_"),weekdaysShort:"\u039A\u03C5\u03C1_\u0394\u03B5\u03C5_\u03A4\u03C1\u03B9_\u03A4\u03B5\u03C4_\u03A0\u03B5\u03BC_\u03A0\u03B1\u03C1_\u03A3\u03B1\u03B2".split("_"),weekdaysMin:"\u039A\u03C5_\u0394\u03B5_\u03A4\u03C1_\u03A4\u03B5_\u03A0\u03B5_\u03A0\u03B1_\u03A3\u03B1".split("_"),months:"\u0399\u03B1\u03BD\u03BF\u03C5\u03AC\u03C1\u03B9\u03BF\u03C2_\u03A6\u03B5\u03B2\u03C1\u03BF\u03C5\u03AC\u03C1\u03B9\u03BF\u03C2_\u039C\u03AC\u03C1\u03C4\u03B9\u03BF\u03C2_\u0391\u03C0\u03C1\u03AF\u03BB\u03B9\u03BF\u03C2_\u039C\u03AC\u03B9\u03BF\u03C2_\u0399\u03BF\u03CD\u03BD\u03B9\u03BF\u03C2_\u0399\u03BF\u03CD\u03BB\u03B9\u03BF\u03C2_\u0391\u03CD\u03B3\u03BF\u03C5\u03C3\u03C4\u03BF\u03C2_\u03A3\u03B5\u03C0\u03C4\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2_\u039F\u03BA\u03C4\u03CE\u03B2\u03C1\u03B9\u03BF\u03C2_\u039D\u03BF\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2_\u0394\u03B5\u03BA\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2".split("_"),monthsShort:"\u0399\u03B1\u03BD_\u03A6\u03B5\u03B2_\u039C\u03B1\u03C1_\u0391\u03C0\u03C1_\u039C\u03B1\u03B9_\u0399\u03BF\u03C5\u03BD_\u0399\u03BF\u03C5\u03BB_\u0391\u03C5\u03B3_\u03A3\u03B5\u03C0\u03C4_\u039F\u03BA\u03C4_\u039D\u03BF\u03B5_\u0394\u03B5\u03BA".split("_"),ordinal:function(e){return e},weekStart:1,relativeTime:{future:"\u03C3\u03B5 %s",past:"\u03C0\u03C1\u03B9\u03BD %s",s:"\u03BC\u03B5\u03C1\u03B9\u03BA\u03AC \u03B4\u03B5\u03C5\u03C4\u03B5\u03C1\u03CC\u03BB\u03B5\u03C0\u03C4\u03B1",m:"\u03AD\u03BD\u03B1 \u03BB\u03B5\u03C0\u03C4\u03CC",mm:"%d \u03BB\u03B5\u03C0\u03C4\u03AC",h:"\u03BC\u03AF\u03B1 \u03CE\u03C1\u03B1",hh:"%d \u03CE\u03C1\u03B5\u03C2",d:"\u03BC\u03AF\u03B1 \u03BC\u03AD\u03C1\u03B1",dd:"%d \u03BC\u03AD\u03C1\u03B5\u03C2",M:"\u03AD\u03BD\u03B1 \u03BC\u03AE\u03BD\u03B1",MM:"%d \u03BC\u03AE\u03BD\u03B5\u03C2",y:"\u03AD\u03BD\u03B1 \u03C7\u03C1\u03CC\u03BD\u03BF",yy:"%d \u03C7\u03C1\u03CC\u03BD\u03B9\u03B1"},formats:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"}};return a.default.locale(i,null,!0),i})});var Xn=g((rt,at)=>{(function(n,t){typeof rt=="object"&&typeof at<"u"?at.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_en=t()})(rt,function(){"use strict";return{name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(n){var t=["th","st","nd","rd"],a=n%100;return"["+n+(t[(a-20)%10]||t[a]||t[0])+"]"}}})});var Bn=g((st,ut)=>{(function(n,t){typeof st=="object"&&typeof ut<"u"?ut.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_es=t(n.dayjs)})(st,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"es",monthsShort:"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),weekdays:"domingo_lunes_martes_mi\xE9rcoles_jueves_viernes_s\xE1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xE9._jue._vie._s\xE1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xE1".split("_"),months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xEDa",dd:"%d d\xEDas",M:"un mes",MM:"%d meses",y:"un a\xF1o",yy:"%d a\xF1os"},ordinal:function(e){return e+"\xBA"}};return a.default.locale(i,null,!0),i})});var ei=g((ot,dt)=>{(function(n,t){typeof ot=="object"&&typeof dt<"u"?dt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_et=t(n.dayjs)})(ot,function(n){"use strict";function t(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var a=t(n);function i(r,u,d,o){var s={s:["m\xF5ne sekundi","m\xF5ni sekund","paar sekundit"],m:["\xFChe minuti","\xFCks minut"],mm:["%d minuti","%d minutit"],h:["\xFChe tunni","tund aega","\xFCks tund"],hh:["%d tunni","%d tundi"],d:["\xFChe p\xE4eva","\xFCks p\xE4ev"],M:["kuu aja","kuu aega","\xFCks kuu"],MM:["%d kuu","%d kuud"],y:["\xFChe aasta","aasta","\xFCks aasta"],yy:["%d aasta","%d aastat"]};return u?(s[d][2]?s[d][2]:s[d][1]).replace("%d",r):(o?s[d][0]:s[d][1]).replace("%d",r)}var e={name:"et",weekdays:"p\xFChap\xE4ev_esmasp\xE4ev_teisip\xE4ev_kolmap\xE4ev_neljap\xE4ev_reede_laup\xE4ev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),months:"jaanuar_veebruar_m\xE4rts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_m\xE4rts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),ordinal:function(r){return r+"."},weekStart:1,relativeTime:{future:"%s p\xE4rast",past:"%s tagasi",s:i,m:i,mm:i,h:i,hh:i,d:i,dd:"%d p\xE4eva",M:i,MM:i,y:i,yy:i},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"}};return a.default.locale(e,null,!0),e})});var ti=g((_t,lt)=>{(function(n,t){typeof _t=="object"&&typeof lt<"u"?lt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_fa=t(n.dayjs)})(_t,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"fa",weekdays:"\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06CC_\u062F_\u0633_\u0686_\u067E_\u062C_\u0634".split("_"),weekStart:6,months:"\u0698\u0627\u0646\u0648\u06CC\u0647_\u0641\u0648\u0631\u06CC\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06CC\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06CC\u0647_\u0627\u0648\u062A_\u0633\u067E\u062A\u0627\u0645\u0628\u0631_\u0627\u06A9\u062A\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062F\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06CC\u0647_\u0641\u0648\u0631\u06CC\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06CC\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06CC\u0647_\u0627\u0648\u062A_\u0633\u067E\u062A\u0627\u0645\u0628\u0631_\u0627\u06A9\u062A\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062F\u0633\u0627\u0645\u0628\u0631".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"\u062F\u0631 %s",past:"%s \u067E\u06CC\u0634",s:"\u0686\u0646\u062F \u062B\u0627\u0646\u06CC\u0647",m:"\u06CC\u06A9 \u062F\u0642\u06CC\u0642\u0647",mm:"%d \u062F\u0642\u06CC\u0642\u0647",h:"\u06CC\u06A9 \u0633\u0627\u0639\u062A",hh:"%d \u0633\u0627\u0639\u062A",d:"\u06CC\u06A9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06CC\u06A9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06CC\u06A9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"}};return a.default.locale(i,null,!0),i})});var ni=g((ft,mt)=>{(function(n,t){typeof ft=="object"&&typeof mt<"u"?mt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_fi=t(n.dayjs)})(ft,function(n){"use strict";function t(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var a=t(n);function i(r,u,d,o){var s={s:"muutama sekunti",m:"minuutti",mm:"%d minuuttia",h:"tunti",hh:"%d tuntia",d:"p\xE4iv\xE4",dd:"%d p\xE4iv\xE4\xE4",M:"kuukausi",MM:"%d kuukautta",y:"vuosi",yy:"%d vuotta",numbers:"nolla_yksi_kaksi_kolme_nelj\xE4_viisi_kuusi_seitsem\xE4n_kahdeksan_yhdeks\xE4n".split("_")},_={s:"muutaman sekunnin",m:"minuutin",mm:"%d minuutin",h:"tunnin",hh:"%d tunnin",d:"p\xE4iv\xE4n",dd:"%d p\xE4iv\xE4n",M:"kuukauden",MM:"%d kuukauden",y:"vuoden",yy:"%d vuoden",numbers:"nollan_yhden_kahden_kolmen_nelj\xE4n_viiden_kuuden_seitsem\xE4n_kahdeksan_yhdeks\xE4n".split("_")},y=o&&!u?_:s,l=y[d];return r<10?l.replace("%d",y.numbers[r]):l.replace("%d",r)}var e={name:"fi",weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xE4kuu_hein\xE4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xE4_hein\xE4_elo_syys_loka_marras_joulu".split("_"),ordinal:function(r){return r+"."},weekStart:1,yearStart:4,relativeTime:{future:"%s p\xE4\xE4st\xE4",past:"%s sitten",s:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},formats:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM[ta] YYYY",LLL:"D. MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, D. MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"D. MMM YYYY",lll:"D. MMM YYYY, [klo] HH.mm",llll:"ddd, D. MMM YYYY, [klo] HH.mm"}};return a.default.locale(e,null,!0),e})});var ii=g((ct,ht)=>{(function(n,t){typeof ct=="object"&&typeof ht<"u"?ht.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_fr=t(n.dayjs)})(ct,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"fr",weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),months:"janvier_f\xE9vrier_mars_avril_mai_juin_juillet_ao\xFBt_septembre_octobre_novembre_d\xE9cembre".split("_"),monthsShort:"janv._f\xE9vr._mars_avr._mai_juin_juil._ao\xFBt_sept._oct._nov._d\xE9c.".split("_"),weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinal:function(e){return""+e+(e===1?"er":"")}};return a.default.locale(i,null,!0),i})});var ri=g((Mt,yt)=>{(function(n,t){typeof Mt=="object"&&typeof yt<"u"?yt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_hi=t(n.dayjs)})(Mt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"hi",weekdays:"\u0930\u0935\u093F\u0935\u093E\u0930_\u0938\u094B\u092E\u0935\u093E\u0930_\u092E\u0902\u0917\u0932\u0935\u093E\u0930_\u092C\u0941\u0927\u0935\u093E\u0930_\u0917\u0941\u0930\u0942\u0935\u093E\u0930_\u0936\u0941\u0915\u094D\u0930\u0935\u093E\u0930_\u0936\u0928\u093F\u0935\u093E\u0930".split("_"),months:"\u091C\u0928\u0935\u0930\u0940_\u092B\u093C\u0930\u0935\u0930\u0940_\u092E\u093E\u0930\u094D\u091A_\u0905\u092A\u094D\u0930\u0948\u0932_\u092E\u0908_\u091C\u0942\u0928_\u091C\u0941\u0932\u093E\u0908_\u0905\u0917\u0938\u094D\u0924_\u0938\u093F\u0924\u092E\u094D\u092C\u0930_\u0905\u0915\u094D\u091F\u0942\u092C\u0930_\u0928\u0935\u092E\u094D\u092C\u0930_\u0926\u093F\u0938\u092E\u094D\u092C\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093F_\u0938\u094B\u092E_\u092E\u0902\u0917\u0932_\u092C\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094D\u0930_\u0936\u0928\u093F".split("_"),monthsShort:"\u091C\u0928._\u092B\u093C\u0930._\u092E\u093E\u0930\u094D\u091A_\u0905\u092A\u094D\u0930\u0948._\u092E\u0908_\u091C\u0942\u0928_\u091C\u0941\u0932._\u0905\u0917._\u0938\u093F\u0924._\u0905\u0915\u094D\u091F\u0942._\u0928\u0935._\u0926\u093F\u0938.".split("_"),weekdaysMin:"\u0930_\u0938\u094B_\u092E\u0902_\u092C\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),ordinal:function(e){return e},formats:{LT:"A h:mm \u092C\u091C\u0947",LTS:"A h:mm:ss \u092C\u091C\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u092C\u091C\u0947",LLLL:"dddd, D MMMM YYYY, A h:mm \u092C\u091C\u0947"},relativeTime:{future:"%s \u092E\u0947\u0902",past:"%s \u092A\u0939\u0932\u0947",s:"\u0915\u0941\u091B \u0939\u0940 \u0915\u094D\u0937\u0923",m:"\u090F\u0915 \u092E\u093F\u0928\u091F",mm:"%d \u092E\u093F\u0928\u091F",h:"\u090F\u0915 \u0918\u0902\u091F\u093E",hh:"%d \u0918\u0902\u091F\u0947",d:"\u090F\u0915 \u0926\u093F\u0928",dd:"%d \u0926\u093F\u0928",M:"\u090F\u0915 \u092E\u0939\u0940\u0928\u0947",MM:"%d \u092E\u0939\u0940\u0928\u0947",y:"\u090F\u0915 \u0935\u0930\u094D\u0937",yy:"%d \u0935\u0930\u094D\u0937"}};return a.default.locale(i,null,!0),i})});var ai=g((Yt,pt)=>{(function(n,t){typeof Yt=="object"&&typeof pt<"u"?pt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_hu=t(n.dayjs)})(Yt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"hu",weekdays:"vas\xE1rnap_h\xE9tf\u0151_kedd_szerda_cs\xFCt\xF6rt\xF6k_p\xE9ntek_szombat".split("_"),weekdaysShort:"vas_h\xE9t_kedd_sze_cs\xFCt_p\xE9n_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),months:"janu\xE1r_febru\xE1r_m\xE1rcius_\xE1prilis_m\xE1jus_j\xFAnius_j\xFAlius_augusztus_szeptember_okt\xF3ber_november_december".split("_"),monthsShort:"jan_feb_m\xE1rc_\xE1pr_m\xE1j_j\xFAn_j\xFAl_aug_szept_okt_nov_dec".split("_"),ordinal:function(e){return e+"."},weekStart:1,relativeTime:{future:"%s m\xFAlva",past:"%s",s:function(e,r,u,d){return"n\xE9h\xE1ny m\xE1sodperc"+(d||r?"":"e")},m:function(e,r,u,d){return"egy perc"+(d||r?"":"e")},mm:function(e,r,u,d){return e+" perc"+(d||r?"":"e")},h:function(e,r,u,d){return"egy "+(d||r?"\xF3ra":"\xF3r\xE1ja")},hh:function(e,r,u,d){return e+" "+(d||r?"\xF3ra":"\xF3r\xE1ja")},d:function(e,r,u,d){return"egy "+(d||r?"nap":"napja")},dd:function(e,r,u,d){return e+" "+(d||r?"nap":"napja")},M:function(e,r,u,d){return"egy "+(d||r?"h\xF3nap":"h\xF3napja")},MM:function(e,r,u,d){return e+" "+(d||r?"h\xF3nap":"h\xF3napja")},y:function(e,r,u,d){return"egy "+(d||r?"\xE9v":"\xE9ve")},yy:function(e,r,u,d){return e+" "+(d||r?"\xE9v":"\xE9ve")}},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"}};return a.default.locale(i,null,!0),i})});var si=g((Lt,Dt)=>{(function(n,t){typeof Lt=="object"&&typeof Dt<"u"?Dt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_hy_am=t(n.dayjs)})(Lt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"hy-am",weekdays:"\u056F\u056B\u0580\u0561\u056F\u056B_\u0565\u0580\u056F\u0578\u0582\u0577\u0561\u0562\u0569\u056B_\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056B_\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056B_\u0570\u056B\u0576\u0563\u0577\u0561\u0562\u0569\u056B_\u0578\u0582\u0580\u0562\u0561\u0569_\u0577\u0561\u0562\u0561\u0569".split("_"),months:"\u0570\u0578\u0582\u0576\u057E\u0561\u0580\u056B_\u0583\u0565\u057F\u0580\u057E\u0561\u0580\u056B_\u0574\u0561\u0580\u057F\u056B_\u0561\u057A\u0580\u056B\u056C\u056B_\u0574\u0561\u0575\u056B\u057D\u056B_\u0570\u0578\u0582\u0576\u056B\u057D\u056B_\u0570\u0578\u0582\u056C\u056B\u057D\u056B_\u0585\u0563\u0578\u057D\u057F\u0578\u057D\u056B_\u057D\u0565\u057A\u057F\u0565\u0574\u0562\u0565\u0580\u056B_\u0570\u0578\u056F\u057F\u0565\u0574\u0562\u0565\u0580\u056B_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056B_\u0564\u0565\u056F\u057F\u0565\u0574\u0562\u0565\u0580\u056B".split("_"),weekStart:1,weekdaysShort:"\u056F\u0580\u056F_\u0565\u0580\u056F_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),monthsShort:"\u0570\u0576\u057E_\u0583\u057F\u0580_\u0574\u0580\u057F_\u0561\u057A\u0580_\u0574\u0575\u057D_\u0570\u0576\u057D_\u0570\u056C\u057D_\u0585\u0563\u057D_\u057D\u057A\u057F_\u0570\u056F\u057F_\u0576\u0574\u0562_\u0564\u056F\u057F".split("_"),weekdaysMin:"\u056F\u0580\u056F_\u0565\u0580\u056F_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0569.",LLL:"D MMMM YYYY \u0569., HH:mm",LLLL:"dddd, D MMMM YYYY \u0569., HH:mm"},relativeTime:{future:"%s \u0570\u0565\u057F\u0578",past:"%s \u0561\u057C\u0561\u057B",s:"\u0574\u056B \u0584\u0561\u0576\u056B \u057E\u0561\u0575\u0580\u056F\u0575\u0561\u0576",m:"\u0580\u0578\u057A\u0565",mm:"%d \u0580\u0578\u057A\u0565",h:"\u056A\u0561\u0574",hh:"%d \u056A\u0561\u0574",d:"\u0585\u0580",dd:"%d \u0585\u0580",M:"\u0561\u0574\u056B\u057D",MM:"%d \u0561\u0574\u056B\u057D",y:"\u057F\u0561\u0580\u056B",yy:"%d \u057F\u0561\u0580\u056B"}};return a.default.locale(i,null,!0),i})});var ui=g((vt,gt)=>{(function(n,t){typeof vt=="object"&&typeof gt<"u"?gt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_id=t(n.dayjs)})(vt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"id",weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),weekStart:1,formats:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},ordinal:function(e){return e+"."}};return a.default.locale(i,null,!0),i})});var oi=g((St,bt)=>{(function(n,t){typeof St=="object"&&typeof bt<"u"?bt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_it=t(n.dayjs)})(St,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"it",weekdays:"domenica_luned\xEC_marted\xEC_mercoled\xEC_gioved\xEC_venerd\xEC_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),weekStart:1,monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"tra %s",past:"%s fa",s:"qualche secondo",m:"un minuto",mm:"%d minuti",h:"un' ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinal:function(e){return e+"\xBA"}};return a.default.locale(i,null,!0),i})});var di=g((kt,jt)=>{(function(n,t){typeof kt=="object"&&typeof jt<"u"?jt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ja=t(n.dayjs)})(kt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"ja",weekdays:"\u65E5\u66DC\u65E5_\u6708\u66DC\u65E5_\u706B\u66DC\u65E5_\u6C34\u66DC\u65E5_\u6728\u66DC\u65E5_\u91D1\u66DC\u65E5_\u571F\u66DC\u65E5".split("_"),weekdaysShort:"\u65E5_\u6708_\u706B_\u6C34_\u6728_\u91D1_\u571F".split("_"),weekdaysMin:"\u65E5_\u6708_\u706B_\u6C34_\u6728_\u91D1_\u571F".split("_"),months:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),ordinal:function(e){return e+"\u65E5"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5E74M\u6708D\u65E5",LLL:"YYYY\u5E74M\u6708D\u65E5 HH:mm",LLLL:"YYYY\u5E74M\u6708D\u65E5 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY\u5E74M\u6708D\u65E5",lll:"YYYY\u5E74M\u6708D\u65E5 HH:mm",llll:"YYYY\u5E74M\u6708D\u65E5(ddd) HH:mm"},meridiem:function(e){return e<12?"\u5348\u524D":"\u5348\u5F8C"},relativeTime:{future:"%s\u5F8C",past:"%s\u524D",s:"\u6570\u79D2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65E5",dd:"%d\u65E5",M:"1\u30F6\u6708",MM:"%d\u30F6\u6708",y:"1\u5E74",yy:"%d\u5E74"}};return a.default.locale(i,null,!0),i})});var _i=g((Ht,Tt)=>{(function(n,t){typeof Ht=="object"&&typeof Tt<"u"?Tt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ka=t(n.dayjs)})(Ht,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"ka",weekdays:"\u10D9\u10D5\u10D8\u10E0\u10D0_\u10DD\u10E0\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8_\u10E1\u10D0\u10DB\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8_\u10DD\u10D7\u10EE\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8_\u10EE\u10E3\u10D7\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8_\u10DE\u10D0\u10E0\u10D0\u10E1\u10D9\u10D4\u10D5\u10D8_\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8".split("_"),weekdaysShort:"\u10D9\u10D5\u10D8_\u10DD\u10E0\u10E8_\u10E1\u10D0\u10DB_\u10DD\u10D7\u10EE_\u10EE\u10E3\u10D7_\u10DE\u10D0\u10E0_\u10E8\u10D0\u10D1".split("_"),weekdaysMin:"\u10D9\u10D5_\u10DD\u10E0_\u10E1\u10D0_\u10DD\u10D7_\u10EE\u10E3_\u10DE\u10D0_\u10E8\u10D0".split("_"),months:"\u10D8\u10D0\u10DC\u10D5\u10D0\u10E0\u10D8_\u10D7\u10D4\u10D1\u10D4\u10E0\u10D5\u10D0\u10DA\u10D8_\u10DB\u10D0\u10E0\u10E2\u10D8_\u10D0\u10DE\u10E0\u10D8\u10DA\u10D8_\u10DB\u10D0\u10D8\u10E1\u10D8_\u10D8\u10D5\u10DC\u10D8\u10E1\u10D8_\u10D8\u10D5\u10DA\u10D8\u10E1\u10D8_\u10D0\u10D2\u10D5\u10D8\u10E1\u10E2\u10DD_\u10E1\u10D4\u10E5\u10E2\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8_\u10DD\u10E5\u10E2\u10DD\u10DB\u10D1\u10D4\u10E0\u10D8_\u10DC\u10DD\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8_\u10D3\u10D4\u10D9\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8".split("_"),monthsShort:"\u10D8\u10D0\u10DC_\u10D7\u10D4\u10D1_\u10DB\u10D0\u10E0_\u10D0\u10DE\u10E0_\u10DB\u10D0\u10D8_\u10D8\u10D5\u10DC_\u10D8\u10D5\u10DA_\u10D0\u10D2\u10D5_\u10E1\u10D4\u10E5_\u10DD\u10E5\u10E2_\u10DC\u10DD\u10D4_\u10D3\u10D4\u10D9".split("_"),weekStart:1,formats:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},relativeTime:{future:"%s \u10E8\u10D4\u10DB\u10D3\u10D4\u10D2",past:"%s \u10EC\u10D8\u10DC",s:"\u10EC\u10D0\u10DB\u10D8",m:"\u10EC\u10E3\u10D7\u10D8",mm:"%d \u10EC\u10E3\u10D7\u10D8",h:"\u10E1\u10D0\u10D0\u10D7\u10D8",hh:"%d \u10E1\u10D0\u10D0\u10D7\u10D8\u10E1",d:"\u10D3\u10E6\u10D4\u10E1",dd:"%d \u10D3\u10E6\u10D8\u10E1 \u10D2\u10D0\u10DC\u10DB\u10D0\u10D5\u10DA\u10DD\u10D1\u10D0\u10E8\u10D8",M:"\u10D7\u10D5\u10D8\u10E1",MM:"%d \u10D7\u10D5\u10D8\u10E1",y:"\u10EC\u10D4\u10DA\u10D8",yy:"%d \u10EC\u10DA\u10D8\u10E1"},ordinal:function(e){return e}};return a.default.locale(i,null,!0),i})});var li=g((wt,$t)=>{(function(n,t){typeof wt=="object"&&typeof $t<"u"?$t.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_km=t(n.dayjs)})(wt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"km",weekdays:"\u17A2\u17B6\u1791\u17B7\u178F\u17D2\u1799_\u1785\u17D0\u1793\u17D2\u1791_\u17A2\u1784\u17D2\u1782\u17B6\u179A_\u1796\u17BB\u1792_\u1796\u17D2\u179A\u17A0\u179F\u17D2\u1794\u178F\u17B7\u17CD_\u179F\u17BB\u1780\u17D2\u179A_\u179F\u17C5\u179A\u17CD".split("_"),months:"\u1798\u1780\u179A\u17B6_\u1780\u17BB\u1798\u17D2\u1797\u17C8_\u1798\u17B8\u1793\u17B6_\u1798\u17C1\u179F\u17B6_\u17A7\u179F\u1797\u17B6_\u1798\u17B7\u1790\u17BB\u1793\u17B6_\u1780\u1780\u17D2\u1780\u178A\u17B6_\u179F\u17B8\u17A0\u17B6_\u1780\u1789\u17D2\u1789\u17B6_\u178F\u17BB\u179B\u17B6_\u179C\u17B7\u1785\u17D2\u1786\u17B7\u1780\u17B6_\u1792\u17D2\u1793\u17BC".split("_"),weekStart:1,weekdaysShort:"\u17A2\u17B6_\u1785_\u17A2_\u1796_\u1796\u17D2\u179A_\u179F\u17BB_\u179F".split("_"),monthsShort:"\u1798\u1780\u179A\u17B6_\u1780\u17BB\u1798\u17D2\u1797\u17C8_\u1798\u17B8\u1793\u17B6_\u1798\u17C1\u179F\u17B6_\u17A7\u179F\u1797\u17B6_\u1798\u17B7\u1790\u17BB\u1793\u17B6_\u1780\u1780\u17D2\u1780\u178A\u17B6_\u179F\u17B8\u17A0\u17B6_\u1780\u1789\u17D2\u1789\u17B6_\u178F\u17BB\u179B\u17B6_\u179C\u17B7\u1785\u17D2\u1786\u17B7\u1780\u17B6_\u1792\u17D2\u1793\u17BC".split("_"),weekdaysMin:"\u17A2\u17B6_\u1785_\u17A2_\u1796_\u1796\u17D2\u179A_\u179F\u17BB_\u179F".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"%s\u1791\u17C0\u178F",past:"%s\u1798\u17BB\u1793",s:"\u1794\u17C9\u17BB\u1793\u17D2\u1798\u17B6\u1793\u179C\u17B7\u1793\u17B6\u1791\u17B8",m:"\u1798\u17BD\u1799\u1793\u17B6\u1791\u17B8",mm:"%d \u1793\u17B6\u1791\u17B8",h:"\u1798\u17BD\u1799\u1798\u17C9\u17C4\u1784",hh:"%d \u1798\u17C9\u17C4\u1784",d:"\u1798\u17BD\u1799\u1790\u17D2\u1784\u17C3",dd:"%d \u1790\u17D2\u1784\u17C3",M:"\u1798\u17BD\u1799\u1781\u17C2",MM:"%d \u1781\u17C2",y:"\u1798\u17BD\u1799\u1786\u17D2\u1793\u17B6\u17C6",yy:"%d \u1786\u17D2\u1793\u17B6\u17C6"}};return a.default.locale(i,null,!0),i})});var fi=g((Ct,Ot)=>{(function(n,t){typeof Ct=="object"&&typeof Ot<"u"?Ot.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_lt=t(n.dayjs)})(Ct,function(n){"use strict";function t(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var a=t(n),i="sausio_vasario_kovo_baland\u017Eio_gegu\u017E\u0117s_bir\u017Eelio_liepos_rugpj\u016B\u010Dio_rugs\u0117jo_spalio_lapkri\u010Dio_gruod\u017Eio".split("_"),e="sausis_vasaris_kovas_balandis_gegu\u017E\u0117_bir\u017Eelis_liepa_rugpj\u016Btis_rugs\u0117jis_spalis_lapkritis_gruodis".split("_"),r=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/,u=function(o,s){return r.test(s)?i[o.month()]:e[o.month()]};u.s=e,u.f=i;var d={name:"lt",weekdays:"sekmadienis_pirmadienis_antradienis_tre\u010Diadienis_ketvirtadienis_penktadienis_\u0161e\u0161tadienis".split("_"),weekdaysShort:"sek_pir_ant_tre_ket_pen_\u0161e\u0161".split("_"),weekdaysMin:"s_p_a_t_k_pn_\u0161".split("_"),months:u,monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),ordinal:function(o){return o+"."},weekStart:1,relativeTime:{future:"u\u017E %s",past:"prie\u0161 %s",s:"kelias sekundes",m:"minut\u0119",mm:"%d minutes",h:"valand\u0105",hh:"%d valandas",d:"dien\u0105",dd:"%d dienas",M:"m\u0117nes\u012F",MM:"%d m\u0117nesius",y:"metus",yy:"%d metus"},format:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"}};return a.default.locale(d,null,!0),d})});var mi=g((zt,At)=>{(function(n,t){typeof zt=="object"&&typeof At<"u"?At.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_lv=t(n.dayjs)})(zt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"lv",weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),months:"janv\u0101ris_febru\u0101ris_marts_apr\u012Blis_maijs_j\u016Bnijs_j\u016Blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),weekStart:1,weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016Bn_j\u016Bl_aug_sep_okt_nov_dec".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},relativeTime:{future:"p\u0113c %s",past:"pirms %s",s:"da\u017E\u0101m sekund\u0113m",m:"min\u016Btes",mm:"%d min\u016Bt\u0113m",h:"stundas",hh:"%d stund\u0101m",d:"dienas",dd:"%d dien\u0101m",M:"m\u0113ne\u0161a",MM:"%d m\u0113ne\u0161iem",y:"gada",yy:"%d gadiem"}};return a.default.locale(i,null,!0),i})});var ci=g((qt,It)=>{(function(n,t){typeof qt=="object"&&typeof It<"u"?It.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ms=t(n.dayjs)})(qt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"ms",weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekStart:1,formats:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH.mm",LLLL:"dddd, D MMMM YYYY HH.mm"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},ordinal:function(e){return e+"."}};return a.default.locale(i,null,!0),i})});var hi=g((xt,Nt)=>{(function(n,t){typeof xt=="object"&&typeof Nt<"u"?Nt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_my=t(n.dayjs)})(xt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"my",weekdays:"\u1010\u1014\u1004\u103A\u1039\u1002\u1014\u103D\u1031_\u1010\u1014\u1004\u103A\u1039\u101C\u102C_\u1021\u1004\u103A\u1039\u1002\u102B_\u1017\u102F\u1012\u1039\u1013\u101F\u1030\u1038_\u1000\u103C\u102C\u101E\u1015\u1010\u1031\u1038_\u101E\u1031\u102C\u1000\u103C\u102C_\u1005\u1014\u1031".split("_"),months:"\u1007\u1014\u103A\u1014\u101D\u102B\u101B\u102E_\u1016\u1031\u1016\u1031\u102C\u103A\u101D\u102B\u101B\u102E_\u1019\u1010\u103A_\u1027\u1015\u103C\u102E_\u1019\u1031_\u1007\u103D\u1014\u103A_\u1007\u1030\u101C\u102D\u102F\u1004\u103A_\u101E\u103C\u1002\u102F\u1010\u103A_\u1005\u1000\u103A\u1010\u1004\u103A\u1018\u102C_\u1021\u1031\u102C\u1000\u103A\u1010\u102D\u102F\u1018\u102C_\u1014\u102D\u102F\u101D\u1004\u103A\u1018\u102C_\u1012\u102E\u1007\u1004\u103A\u1018\u102C".split("_"),weekStart:1,weekdaysShort:"\u1014\u103D\u1031_\u101C\u102C_\u1002\u102B_\u101F\u1030\u1038_\u1000\u103C\u102C_\u101E\u1031\u102C_\u1014\u1031".split("_"),monthsShort:"\u1007\u1014\u103A_\u1016\u1031_\u1019\u1010\u103A_\u1015\u103C\u102E_\u1019\u1031_\u1007\u103D\u1014\u103A_\u101C\u102D\u102F\u1004\u103A_\u101E\u103C_\u1005\u1000\u103A_\u1021\u1031\u102C\u1000\u103A_\u1014\u102D\u102F_\u1012\u102E".split("_"),weekdaysMin:"\u1014\u103D\u1031_\u101C\u102C_\u1002\u102B_\u101F\u1030\u1038_\u1000\u103C\u102C_\u101E\u1031\u102C_\u1014\u1031".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"\u101C\u102C\u1019\u100A\u103A\u1037 %s \u1019\u103E\u102C",past:"\u101C\u103D\u1014\u103A\u1001\u1032\u1037\u101E\u1031\u102C %s \u1000",s:"\u1005\u1000\u1039\u1000\u1014\u103A.\u1021\u1014\u100A\u103A\u1038\u1004\u101A\u103A",m:"\u1010\u1005\u103A\u1019\u102D\u1014\u1005\u103A",mm:"%d \u1019\u102D\u1014\u1005\u103A",h:"\u1010\u1005\u103A\u1014\u102C\u101B\u102E",hh:"%d \u1014\u102C\u101B\u102E",d:"\u1010\u1005\u103A\u101B\u1000\u103A",dd:"%d \u101B\u1000\u103A",M:"\u1010\u1005\u103A\u101C",MM:"%d \u101C",y:"\u1010\u1005\u103A\u1014\u103E\u1005\u103A",yy:"%d \u1014\u103E\u1005\u103A"}};return a.default.locale(i,null,!0),i})});var Mi=g((Ft,Et)=>{(function(n,t){typeof Ft=="object"&&typeof Et<"u"?Et.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_nb=t(n.dayjs)})(Ft,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"nb",weekdays:"s\xF8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xF8rdag".split("_"),weekdaysShort:"s\xF8._ma._ti._on._to._fr._l\xF8.".split("_"),weekdaysMin:"s\xF8_ma_ti_on_to_fr_l\xF8".split("_"),months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),ordinal:function(e){return e+"."},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en m\xE5ned",MM:"%d m\xE5neder",y:"ett \xE5r",yy:"%d \xE5r"}};return a.default.locale(i,null,!0),i})});var yi=g((Jt,Ut)=>{(function(n,t){typeof Jt=="object"&&typeof Ut<"u"?Ut.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_nl=t(n.dayjs)})(Jt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"nl",weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),ordinal:function(e){return"["+e+(e===1||e===8||e>=20?"ste":"de")+"]"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"een minuut",mm:"%d minuten",h:"een uur",hh:"%d uur",d:"een dag",dd:"%d dagen",M:"een maand",MM:"%d maanden",y:"een jaar",yy:"%d jaar"}};return a.default.locale(i,null,!0),i})});var Yi=g((Wt,Pt)=>{(function(n,t){typeof Wt=="object"&&typeof Pt<"u"?Pt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_pl=t(n.dayjs)})(Wt,function(n){"use strict";function t(_){return _&&typeof _=="object"&&"default"in _?_:{default:_}}var a=t(n);function i(_){return _%10<5&&_%10>1&&~~(_/10)%10!=1}function e(_,y,l){var f=_+" ";switch(l){case"m":return y?"minuta":"minut\u0119";case"mm":return f+(i(_)?"minuty":"minut");case"h":return y?"godzina":"godzin\u0119";case"hh":return f+(i(_)?"godziny":"godzin");case"MM":return f+(i(_)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return f+(i(_)?"lata":"lat")}}var r="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015Bnia_pa\u017Adziernika_listopada_grudnia".split("_"),u="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017Adziernik_listopad_grudzie\u0144".split("_"),d=/D MMMM/,o=function(_,y){return d.test(y)?r[_.month()]:u[_.month()]};o.s=u,o.f=r;var s={name:"pl",weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015Broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_\u015Br_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_\u015Ar_Cz_Pt_So".split("_"),months:o,monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017A_lis_gru".split("_"),ordinal:function(_){return _+"."},weekStart:1,yearStart:4,relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:e,mm:e,h:e,hh:e,d:"1 dzie\u0144",dd:"%d dni",M:"miesi\u0105c",MM:e,y:"rok",yy:e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"}};return a.default.locale(s,null,!0),s})});var pi=g((Gt,Rt)=>{(function(n,t){typeof Gt=="object"&&typeof Rt<"u"?Rt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_pt=t(n.dayjs)})(Gt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"pt",weekdays:"domingo_segunda-feira_ter\xE7a-feira_quarta-feira_quinta-feira_sexta-feira_s\xE1bado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_sab".split("_"),weekdaysMin:"Do_2\xAA_3\xAA_4\xAA_5\xAA_6\xAA_Sa".split("_"),months:"janeiro_fevereiro_mar\xE7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),ordinal:function(e){return e+"\xBA"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xE0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xE0s] HH:mm"},relativeTime:{future:"em %s",past:"h\xE1 %s",s:"alguns segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xEAs",MM:"%d meses",y:"um ano",yy:"%d anos"}};return a.default.locale(i,null,!0),i})});var Li=g((Zt,Vt)=>{(function(n,t){typeof Zt=="object"&&typeof Vt<"u"?Vt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_pt_br=t(n.dayjs)})(Zt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"pt-br",weekdays:"domingo_segunda-feira_ter\xE7a-feira_quarta-feira_quinta-feira_sexta-feira_s\xE1bado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_s\xE1b".split("_"),weekdaysMin:"Do_2\xAA_3\xAA_4\xAA_5\xAA_6\xAA_S\xE1".split("_"),months:"janeiro_fevereiro_mar\xE7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),ordinal:function(e){return e+"\xBA"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xE0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xE0s] HH:mm"},relativeTime:{future:"em %s",past:"h\xE1 %s",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xEAs",MM:"%d meses",y:"um ano",yy:"%d anos"}};return a.default.locale(i,null,!0),i})});var Di=g((Kt,Qt)=>{(function(n,t){typeof Kt=="object"&&typeof Qt<"u"?Qt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ro=t(n.dayjs)})(Kt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"ro",weekdays:"Duminic\u0103_Luni_Mar\u021Bi_Miercuri_Joi_Vineri_S\xE2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xE2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xE2".split("_"),months:"Ianuarie_Februarie_Martie_Aprilie_Mai_Iunie_Iulie_August_Septembrie_Octombrie_Noiembrie_Decembrie".split("_"),monthsShort:"Ian._Febr._Mart._Apr._Mai_Iun._Iul._Aug._Sept._Oct._Nov._Dec.".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},relativeTime:{future:"peste %s",past:"acum %s",s:"c\xE2teva secunde",m:"un minut",mm:"%d minute",h:"o or\u0103",hh:"%d ore",d:"o zi",dd:"%d zile",M:"o lun\u0103",MM:"%d luni",y:"un an",yy:"%d ani"},ordinal:function(e){return e}};return a.default.locale(i,null,!0),i})});var vi=g((Xt,Bt)=>{(function(n,t){typeof Xt=="object"&&typeof Bt<"u"?Bt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ru=t(n.dayjs)})(Xt,function(n){"use strict";function t(l){return l&&typeof l=="object"&&"default"in l?l:{default:l}}var a=t(n),i="\u044F\u043D\u0432\u0430\u0440\u044F_\u0444\u0435\u0432\u0440\u0430\u043B\u044F_\u043C\u0430\u0440\u0442\u0430_\u0430\u043F\u0440\u0435\u043B\u044F_\u043C\u0430\u044F_\u0438\u044E\u043D\u044F_\u0438\u044E\u043B\u044F_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044F_\u043E\u043A\u0442\u044F\u0431\u0440\u044F_\u043D\u043E\u044F\u0431\u0440\u044F_\u0434\u0435\u043A\u0430\u0431\u0440\u044F".split("_"),e="\u044F\u043D\u0432\u0430\u0440\u044C_\u0444\u0435\u0432\u0440\u0430\u043B\u044C_\u043C\u0430\u0440\u0442_\u0430\u043F\u0440\u0435\u043B\u044C_\u043C\u0430\u0439_\u0438\u044E\u043D\u044C_\u0438\u044E\u043B\u044C_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044C_\u043E\u043A\u0442\u044F\u0431\u0440\u044C_\u043D\u043E\u044F\u0431\u0440\u044C_\u0434\u0435\u043A\u0430\u0431\u0440\u044C".split("_"),r="\u044F\u043D\u0432._\u0444\u0435\u0432\u0440._\u043C\u0430\u0440._\u0430\u043F\u0440._\u043C\u0430\u044F_\u0438\u044E\u043D\u044F_\u0438\u044E\u043B\u044F_\u0430\u0432\u0433._\u0441\u0435\u043D\u0442._\u043E\u043A\u0442._\u043D\u043E\u044F\u0431._\u0434\u0435\u043A.".split("_"),u="\u044F\u043D\u0432._\u0444\u0435\u0432\u0440._\u043C\u0430\u0440\u0442_\u0430\u043F\u0440._\u043C\u0430\u0439_\u0438\u044E\u043D\u044C_\u0438\u044E\u043B\u044C_\u0430\u0432\u0433._\u0441\u0435\u043D\u0442._\u043E\u043A\u0442._\u043D\u043E\u044F\u0431._\u0434\u0435\u043A.".split("_"),d=/D[oD]?(\[[^[\]]*\]|\s)+MMMM?/;function o(l,f,m){var Y,D;return m==="m"?f?"\u043C\u0438\u043D\u0443\u0442\u0430":"\u043C\u0438\u043D\u0443\u0442\u0443":l+" "+(Y=+l,D={mm:f?"\u043C\u0438\u043D\u0443\u0442\u0430_\u043C\u0438\u043D\u0443\u0442\u044B_\u043C\u0438\u043D\u0443\u0442":"\u043C\u0438\u043D\u0443\u0442\u0443_\u043C\u0438\u043D\u0443\u0442\u044B_\u043C\u0438\u043D\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043E\u0432",dd:"\u0434\u0435\u043D\u044C_\u0434\u043D\u044F_\u0434\u043D\u0435\u0439",MM:"\u043C\u0435\u0441\u044F\u0446_\u043C\u0435\u0441\u044F\u0446\u0430_\u043C\u0435\u0441\u044F\u0446\u0435\u0432",yy:"\u0433\u043E\u0434_\u0433\u043E\u0434\u0430_\u043B\u0435\u0442"}[m].split("_"),Y%10==1&&Y%100!=11?D[0]:Y%10>=2&&Y%10<=4&&(Y%100<10||Y%100>=20)?D[1]:D[2])}var s=function(l,f){return d.test(f)?i[l.month()]:e[l.month()]};s.s=e,s.f=i;var _=function(l,f){return d.test(f)?r[l.month()]:u[l.month()]};_.s=u,_.f=r;var y={name:"ru",weekdays:"\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435_\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A_\u0432\u0442\u043E\u0440\u043D\u0438\u043A_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043F\u044F\u0442\u043D\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043E\u0442\u0430".split("_"),weekdaysShort:"\u0432\u0441\u043A_\u043F\u043D\u0434_\u0432\u0442\u0440_\u0441\u0440\u0434_\u0447\u0442\u0432_\u043F\u0442\u043D_\u0441\u0431\u0442".split("_"),weekdaysMin:"\u0432\u0441_\u043F\u043D_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043F\u0442_\u0441\u0431".split("_"),months:s,monthsShort:_,weekStart:1,yearStart:4,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., H:mm",LLLL:"dddd, D MMMM YYYY \u0433., H:mm"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043D\u0430\u0437\u0430\u0434",s:"\u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0441\u0435\u043A\u0443\u043D\u0434",m:o,mm:o,h:"\u0447\u0430\u0441",hh:o,d:"\u0434\u0435\u043D\u044C",dd:o,M:"\u043C\u0435\u0441\u044F\u0446",MM:o,y:"\u0433\u043E\u0434",yy:o},ordinal:function(l){return l},meridiem:function(l){return l<4?"\u043D\u043E\u0447\u0438":l<12?"\u0443\u0442\u0440\u0430":l<17?"\u0434\u043D\u044F":"\u0432\u0435\u0447\u0435\u0440\u0430"}};return a.default.locale(y,null,!0),y})});var gi=g((en,tn)=>{(function(n,t){typeof en=="object"&&typeof tn<"u"?tn.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_sr_cyrl=t(n.dayjs)})(en,function(n){"use strict";function t(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var a=t(n),i={words:{m:["\u0458\u0435\u0434\u0430\u043D \u043C\u0438\u043D\u0443\u0442","\u0458\u0435\u0434\u043D\u043E\u0433 \u043C\u0438\u043D\u0443\u0442\u0430"],mm:["%d \u043C\u0438\u043D\u0443\u0442","%d \u043C\u0438\u043D\u0443\u0442\u0430","%d \u043C\u0438\u043D\u0443\u0442\u0430"],h:["\u0458\u0435\u0434\u0430\u043D \u0441\u0430\u0442","\u0458\u0435\u0434\u043D\u043E\u0433 \u0441\u0430\u0442\u0430"],hh:["%d \u0441\u0430\u0442","%d \u0441\u0430\u0442\u0430","%d \u0441\u0430\u0442\u0438"],d:["\u0458\u0435\u0434\u0430\u043D \u0434\u0430\u043D","\u0458\u0435\u0434\u043D\u043E\u0433 \u0434\u0430\u043D\u0430"],dd:["%d \u0434\u0430\u043D","%d \u0434\u0430\u043D\u0430","%d \u0434\u0430\u043D\u0430"],M:["\u0458\u0435\u0434\u0430\u043D \u043C\u0435\u0441\u0435\u0446","\u0458\u0435\u0434\u043D\u043E\u0433 \u043C\u0435\u0441\u0435\u0446\u0430"],MM:["%d \u043C\u0435\u0441\u0435\u0446","%d \u043C\u0435\u0441\u0435\u0446\u0430","%d \u043C\u0435\u0441\u0435\u0446\u0438"],y:["\u0458\u0435\u0434\u043D\u0443 \u0433\u043E\u0434\u0438\u043D\u0443","\u0458\u0435\u0434\u043D\u0435 \u0433\u043E\u0434\u0438\u043D\u0435"],yy:["%d \u0433\u043E\u0434\u0438\u043D\u0443","%d \u0433\u043E\u0434\u0438\u043D\u0435","%d \u0433\u043E\u0434\u0438\u043D\u0430"]},correctGrammarCase:function(r,u){return r%10>=1&&r%10<=4&&(r%100<10||r%100>=20)?r%10==1?u[0]:u[1]:u[2]},relativeTimeFormatter:function(r,u,d,o){var s=i.words[d];if(d.length===1)return d==="y"&&u?"\u0458\u0435\u0434\u043D\u0430 \u0433\u043E\u0434\u0438\u043D\u0430":o||u?s[0]:s[1];var _=i.correctGrammarCase(r,s);return d==="yy"&&u&&_==="%d \u0433\u043E\u0434\u0438\u043D\u0443"?r+" \u0433\u043E\u0434\u0438\u043D\u0430":_.replace("%d",r)}},e={name:"sr-cyrl",weekdays:"\u041D\u0435\u0434\u0435\u0459\u0430_\u041F\u043E\u043D\u0435\u0434\u0435\u0459\u0430\u043A_\u0423\u0442\u043E\u0440\u0430\u043A_\u0421\u0440\u0435\u0434\u0430_\u0427\u0435\u0442\u0432\u0440\u0442\u0430\u043A_\u041F\u0435\u0442\u0430\u043A_\u0421\u0443\u0431\u043E\u0442\u0430".split("_"),weekdaysShort:"\u041D\u0435\u0434._\u041F\u043E\u043D._\u0423\u0442\u043E._\u0421\u0440\u0435._\u0427\u0435\u0442._\u041F\u0435\u0442._\u0421\u0443\u0431.".split("_"),weekdaysMin:"\u043D\u0435_\u043F\u043E_\u0443\u0442_\u0441\u0440_\u0447\u0435_\u043F\u0435_\u0441\u0443".split("_"),months:"\u0408\u0430\u043D\u0443\u0430\u0440_\u0424\u0435\u0431\u0440\u0443\u0430\u0440_\u041C\u0430\u0440\u0442_\u0410\u043F\u0440\u0438\u043B_\u041C\u0430\u0458_\u0408\u0443\u043D_\u0408\u0443\u043B_\u0410\u0432\u0433\u0443\u0441\u0442_\u0421\u0435\u043F\u0442\u0435\u043C\u0431\u0430\u0440_\u041E\u043A\u0442\u043E\u0431\u0430\u0440_\u041D\u043E\u0432\u0435\u043C\u0431\u0430\u0440_\u0414\u0435\u0446\u0435\u043C\u0431\u0430\u0440".split("_"),monthsShort:"\u0408\u0430\u043D._\u0424\u0435\u0431._\u041C\u0430\u0440._\u0410\u043F\u0440._\u041C\u0430\u0458_\u0408\u0443\u043D_\u0408\u0443\u043B_\u0410\u0432\u0433._\u0421\u0435\u043F._\u041E\u043A\u0442._\u041D\u043E\u0432._\u0414\u0435\u0446.".split("_"),weekStart:1,relativeTime:{future:"\u0437\u0430 %s",past:"\u043F\u0440\u0435 %s",s:"\u043D\u0435\u043A\u043E\u043B\u0438\u043A\u043E \u0441\u0435\u043A\u0443\u043D\u0434\u0438",m:i.relativeTimeFormatter,mm:i.relativeTimeFormatter,h:i.relativeTimeFormatter,hh:i.relativeTimeFormatter,d:i.relativeTimeFormatter,dd:i.relativeTimeFormatter,M:i.relativeTimeFormatter,MM:i.relativeTimeFormatter,y:i.relativeTimeFormatter,yy:i.relativeTimeFormatter},ordinal:function(r){return r+"."},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"}};return a.default.locale(e,null,!0),e})});var Si=g((nn,rn)=>{(function(n,t){typeof nn=="object"&&typeof rn<"u"?rn.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_sr=t(n.dayjs)})(nn,function(n){"use strict";function t(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var a=t(n),i={words:{m:["jedan minut","jednog minuta"],mm:["%d minut","%d minuta","%d minuta"],h:["jedan sat","jednog sata"],hh:["%d sat","%d sata","%d sati"],d:["jedan dan","jednog dana"],dd:["%d dan","%d dana","%d dana"],M:["jedan mesec","jednog meseca"],MM:["%d mesec","%d meseca","%d meseci"],y:["jednu godinu","jedne godine"],yy:["%d godinu","%d godine","%d godina"]},correctGrammarCase:function(r,u){return r%10>=1&&r%10<=4&&(r%100<10||r%100>=20)?r%10==1?u[0]:u[1]:u[2]},relativeTimeFormatter:function(r,u,d,o){var s=i.words[d];if(d.length===1)return d==="y"&&u?"jedna godina":o||u?s[0]:s[1];var _=i.correctGrammarCase(r,s);return d==="yy"&&u&&_==="%d godinu"?r+" godina":_.replace("%d",r)}},e={name:"sr",weekdays:"Nedelja_Ponedeljak_Utorak_Sreda_\u010Cetvrtak_Petak_Subota".split("_"),weekdaysShort:"Ned._Pon._Uto._Sre._\u010Cet._Pet._Sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010De_pe_su".split("_"),months:"Januar_Februar_Mart_April_Maj_Jun_Jul_Avgust_Septembar_Oktobar_Novembar_Decembar".split("_"),monthsShort:"Jan._Feb._Mar._Apr._Maj_Jun_Jul_Avg._Sep._Okt._Nov._Dec.".split("_"),weekStart:1,relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",m:i.relativeTimeFormatter,mm:i.relativeTimeFormatter,h:i.relativeTimeFormatter,hh:i.relativeTimeFormatter,d:i.relativeTimeFormatter,dd:i.relativeTimeFormatter,M:i.relativeTimeFormatter,MM:i.relativeTimeFormatter,y:i.relativeTimeFormatter,yy:i.relativeTimeFormatter},ordinal:function(r){return r+"."},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"}};return a.default.locale(e,null,!0),e})});var bi=g((an,sn)=>{(function(n,t){typeof an=="object"&&typeof sn<"u"?sn.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_sv=t(n.dayjs)})(an,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"sv",weekdays:"s\xF6ndag_m\xE5ndag_tisdag_onsdag_torsdag_fredag_l\xF6rdag".split("_"),weekdaysShort:"s\xF6n_m\xE5n_tis_ons_tor_fre_l\xF6r".split("_"),weekdaysMin:"s\xF6_m\xE5_ti_on_to_fr_l\xF6".split("_"),months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekStart:1,yearStart:4,ordinal:function(e){var r=e%10;return"["+e+(r===1||r===2?"a":"e")+"]"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},relativeTime:{future:"om %s",past:"f\xF6r %s sedan",s:"n\xE5gra sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xE5nad",MM:"%d m\xE5nader",y:"ett \xE5r",yy:"%d \xE5r"}};return a.default.locale(i,null,!0),i})});var ki=g((un,on)=>{(function(n,t){typeof un=="object"&&typeof on<"u"?on.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_th=t(n.dayjs)})(un,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"th",weekdays:"\u0E2D\u0E32\u0E17\u0E34\u0E15\u0E22\u0E4C_\u0E08\u0E31\u0E19\u0E17\u0E23\u0E4C_\u0E2D\u0E31\u0E07\u0E04\u0E32\u0E23_\u0E1E\u0E38\u0E18_\u0E1E\u0E24\u0E2B\u0E31\u0E2A\u0E1A\u0E14\u0E35_\u0E28\u0E38\u0E01\u0E23\u0E4C_\u0E40\u0E2A\u0E32\u0E23\u0E4C".split("_"),weekdaysShort:"\u0E2D\u0E32\u0E17\u0E34\u0E15\u0E22\u0E4C_\u0E08\u0E31\u0E19\u0E17\u0E23\u0E4C_\u0E2D\u0E31\u0E07\u0E04\u0E32\u0E23_\u0E1E\u0E38\u0E18_\u0E1E\u0E24\u0E2B\u0E31\u0E2A_\u0E28\u0E38\u0E01\u0E23\u0E4C_\u0E40\u0E2A\u0E32\u0E23\u0E4C".split("_"),weekdaysMin:"\u0E2D\u0E32._\u0E08._\u0E2D._\u0E1E._\u0E1E\u0E24._\u0E28._\u0E2A.".split("_"),months:"\u0E21\u0E01\u0E23\u0E32\u0E04\u0E21_\u0E01\u0E38\u0E21\u0E20\u0E32\u0E1E\u0E31\u0E19\u0E18\u0E4C_\u0E21\u0E35\u0E19\u0E32\u0E04\u0E21_\u0E40\u0E21\u0E29\u0E32\u0E22\u0E19_\u0E1E\u0E24\u0E29\u0E20\u0E32\u0E04\u0E21_\u0E21\u0E34\u0E16\u0E38\u0E19\u0E32\u0E22\u0E19_\u0E01\u0E23\u0E01\u0E0E\u0E32\u0E04\u0E21_\u0E2A\u0E34\u0E07\u0E2B\u0E32\u0E04\u0E21_\u0E01\u0E31\u0E19\u0E22\u0E32\u0E22\u0E19_\u0E15\u0E38\u0E25\u0E32\u0E04\u0E21_\u0E1E\u0E24\u0E28\u0E08\u0E34\u0E01\u0E32\u0E22\u0E19_\u0E18\u0E31\u0E19\u0E27\u0E32\u0E04\u0E21".split("_"),monthsShort:"\u0E21.\u0E04._\u0E01.\u0E1E._\u0E21\u0E35.\u0E04._\u0E40\u0E21.\u0E22._\u0E1E.\u0E04._\u0E21\u0E34.\u0E22._\u0E01.\u0E04._\u0E2A.\u0E04._\u0E01.\u0E22._\u0E15.\u0E04._\u0E1E.\u0E22._\u0E18.\u0E04.".split("_"),formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY \u0E40\u0E27\u0E25\u0E32 H:mm",LLLL:"\u0E27\u0E31\u0E19dddd\u0E17\u0E35\u0E48 D MMMM YYYY \u0E40\u0E27\u0E25\u0E32 H:mm"},relativeTime:{future:"\u0E2D\u0E35\u0E01 %s",past:"%s\u0E17\u0E35\u0E48\u0E41\u0E25\u0E49\u0E27",s:"\u0E44\u0E21\u0E48\u0E01\u0E35\u0E48\u0E27\u0E34\u0E19\u0E32\u0E17\u0E35",m:"1 \u0E19\u0E32\u0E17\u0E35",mm:"%d \u0E19\u0E32\u0E17\u0E35",h:"1 \u0E0A\u0E31\u0E48\u0E27\u0E42\u0E21\u0E07",hh:"%d \u0E0A\u0E31\u0E48\u0E27\u0E42\u0E21\u0E07",d:"1 \u0E27\u0E31\u0E19",dd:"%d \u0E27\u0E31\u0E19",M:"1 \u0E40\u0E14\u0E37\u0E2D\u0E19",MM:"%d \u0E40\u0E14\u0E37\u0E2D\u0E19",y:"1 \u0E1B\u0E35",yy:"%d \u0E1B\u0E35"},ordinal:function(e){return e+"."}};return a.default.locale(i,null,!0),i})});var ji=g((dn,_n)=>{(function(n,t){typeof dn=="object"&&typeof _n<"u"?_n.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_tr=t(n.dayjs)})(dn,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"tr",weekdays:"Pazar_Pazartesi_Sal\u0131_\xC7ar\u015Famba_Per\u015Fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_\xC7ar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_\xC7a_Pe_Cu_Ct".split("_"),months:"Ocak_\u015Eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011Fustos_Eyl\xFCl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015Eub_Mar_Nis_May_Haz_Tem_A\u011Fu_Eyl_Eki_Kas_Ara".split("_"),weekStart:1,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"%s sonra",past:"%s \xF6nce",s:"birka\xE7 saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xFCn",dd:"%d g\xFCn",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(e){return e+"."}};return a.default.locale(i,null,!0),i})});var Hi=g((ln,fn)=>{(function(n,t){typeof ln=="object"&&typeof fn<"u"?fn.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_uk=t(n.dayjs)})(ln,function(n){"use strict";function t(s){return s&&typeof s=="object"&&"default"in s?s:{default:s}}var a=t(n),i="\u0441\u0456\u0447\u043D\u044F_\u043B\u044E\u0442\u043E\u0433\u043E_\u0431\u0435\u0440\u0435\u0437\u043D\u044F_\u043A\u0432\u0456\u0442\u043D\u044F_\u0442\u0440\u0430\u0432\u043D\u044F_\u0447\u0435\u0440\u0432\u043D\u044F_\u043B\u0438\u043F\u043D\u044F_\u0441\u0435\u0440\u043F\u043D\u044F_\u0432\u0435\u0440\u0435\u0441\u043D\u044F_\u0436\u043E\u0432\u0442\u043D\u044F_\u043B\u0438\u0441\u0442\u043E\u043F\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043D\u044F".split("_"),e="\u0441\u0456\u0447\u0435\u043D\u044C_\u043B\u044E\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043D\u044C_\u043A\u0432\u0456\u0442\u0435\u043D\u044C_\u0442\u0440\u0430\u0432\u0435\u043D\u044C_\u0447\u0435\u0440\u0432\u0435\u043D\u044C_\u043B\u0438\u043F\u0435\u043D\u044C_\u0441\u0435\u0440\u043F\u0435\u043D\u044C_\u0432\u0435\u0440\u0435\u0441\u0435\u043D\u044C_\u0436\u043E\u0432\u0442\u0435\u043D\u044C_\u043B\u0438\u0441\u0442\u043E\u043F\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043D\u044C".split("_"),r=/D[oD]?(\[[^[\]]*\]|\s)+MMMM?/;function u(s,_,y){var l,f;return y==="m"?_?"\u0445\u0432\u0438\u043B\u0438\u043D\u0430":"\u0445\u0432\u0438\u043B\u0438\u043D\u0443":y==="h"?_?"\u0433\u043E\u0434\u0438\u043D\u0430":"\u0433\u043E\u0434\u0438\u043D\u0443":s+" "+(l=+s,f={ss:_?"\u0441\u0435\u043A\u0443\u043D\u0434\u0430_\u0441\u0435\u043A\u0443\u043D\u0434\u0438_\u0441\u0435\u043A\u0443\u043D\u0434":"\u0441\u0435\u043A\u0443\u043D\u0434\u0443_\u0441\u0435\u043A\u0443\u043D\u0434\u0438_\u0441\u0435\u043A\u0443\u043D\u0434",mm:_?"\u0445\u0432\u0438\u043B\u0438\u043D\u0430_\u0445\u0432\u0438\u043B\u0438\u043D\u0438_\u0445\u0432\u0438\u043B\u0438\u043D":"\u0445\u0432\u0438\u043B\u0438\u043D\u0443_\u0445\u0432\u0438\u043B\u0438\u043D\u0438_\u0445\u0432\u0438\u043B\u0438\u043D",hh:_?"\u0433\u043E\u0434\u0438\u043D\u0430_\u0433\u043E\u0434\u0438\u043D\u0438_\u0433\u043E\u0434\u0438\u043D":"\u0433\u043E\u0434\u0438\u043D\u0443_\u0433\u043E\u0434\u0438\u043D\u0438_\u0433\u043E\u0434\u0438\u043D",dd:"\u0434\u0435\u043D\u044C_\u0434\u043D\u0456_\u0434\u043D\u0456\u0432",MM:"\u043C\u0456\u0441\u044F\u0446\u044C_\u043C\u0456\u0441\u044F\u0446\u0456_\u043C\u0456\u0441\u044F\u0446\u0456\u0432",yy:"\u0440\u0456\u043A_\u0440\u043E\u043A\u0438_\u0440\u043E\u043A\u0456\u0432"}[y].split("_"),l%10==1&&l%100!=11?f[0]:l%10>=2&&l%10<=4&&(l%100<10||l%100>=20)?f[1]:f[2])}var d=function(s,_){return r.test(_)?i[s.month()]:e[s.month()]};d.s=e,d.f=i;var o={name:"uk",weekdays:"\u043D\u0435\u0434\u0456\u043B\u044F_\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A_\u0432\u0456\u0432\u0442\u043E\u0440\u043E\u043A_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043F\u2019\u044F\u0442\u043D\u0438\u0446\u044F_\u0441\u0443\u0431\u043E\u0442\u0430".split("_"),weekdaysShort:"\u043D\u0434\u043B_\u043F\u043D\u0434_\u0432\u0442\u0440_\u0441\u0440\u0434_\u0447\u0442\u0432_\u043F\u0442\u043D_\u0441\u0431\u0442".split("_"),weekdaysMin:"\u043D\u0434_\u043F\u043D_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043F\u0442_\u0441\u0431".split("_"),months:d,monthsShort:"\u0441\u0456\u0447_\u043B\u044E\u0442_\u0431\u0435\u0440_\u043A\u0432\u0456\u0442_\u0442\u0440\u0430\u0432_\u0447\u0435\u0440\u0432_\u043B\u0438\u043F_\u0441\u0435\u0440\u043F_\u0432\u0435\u0440_\u0436\u043E\u0432\u0442_\u043B\u0438\u0441\u0442_\u0433\u0440\u0443\u0434".split("_"),weekStart:1,relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043E\u043C\u0443",s:"\u0434\u0435\u043A\u0456\u043B\u044C\u043A\u0430 \u0441\u0435\u043A\u0443\u043D\u0434",m:u,mm:u,h:u,hh:u,d:"\u0434\u0435\u043D\u044C",dd:u,M:"\u043C\u0456\u0441\u044F\u0446\u044C",MM:u,y:"\u0440\u0456\u043A",yy:u},ordinal:function(s){return s},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., HH:mm",LLLL:"dddd, D MMMM YYYY \u0440., HH:mm"}};return a.default.locale(o,null,!0),o})});var Ti=g((mn,cn)=>{(function(n,t){typeof mn=="object"&&typeof cn<"u"?cn.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ur=t(n.dayjs)})(mn,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"ur",weekdays:"\u0627\u062A\u0648\u0627\u0631_\u067E\u06CC\u0631_\u0645\u0646\u06AF\u0644_\u0628\u062F\u06BE_\u062C\u0645\u0639\u0631\u0627\u062A_\u062C\u0645\u0639\u06C1_\u06C1\u0641\u062A\u06C1".split("_"),months:"\u062C\u0646\u0648\u0631\u06CC_\u0641\u0631\u0648\u0631\u06CC_\u0645\u0627\u0631\u0686_\u0627\u067E\u0631\u06CC\u0644_\u0645\u0626\u06CC_\u062C\u0648\u0646_\u062C\u0648\u0644\u0627\u0626\u06CC_\u0627\u06AF\u0633\u062A_\u0633\u062A\u0645\u0628\u0631_\u0627\u06A9\u062A\u0648\u0628\u0631_\u0646\u0648\u0645\u0628\u0631_\u062F\u0633\u0645\u0628\u0631".split("_"),weekStart:1,weekdaysShort:"\u0627\u062A\u0648\u0627\u0631_\u067E\u06CC\u0631_\u0645\u0646\u06AF\u0644_\u0628\u062F\u06BE_\u062C\u0645\u0639\u0631\u0627\u062A_\u062C\u0645\u0639\u06C1_\u06C1\u0641\u062A\u06C1".split("_"),monthsShort:"\u062C\u0646\u0648\u0631\u06CC_\u0641\u0631\u0648\u0631\u06CC_\u0645\u0627\u0631\u0686_\u0627\u067E\u0631\u06CC\u0644_\u0645\u0626\u06CC_\u062C\u0648\u0646_\u062C\u0648\u0644\u0627\u0626\u06CC_\u0627\u06AF\u0633\u062A_\u0633\u062A\u0645\u0628\u0631_\u0627\u06A9\u062A\u0648\u0628\u0631_\u0646\u0648\u0645\u0628\u0631_\u062F\u0633\u0645\u0628\u0631".split("_"),weekdaysMin:"\u0627\u062A\u0648\u0627\u0631_\u067E\u06CC\u0631_\u0645\u0646\u06AF\u0644_\u0628\u062F\u06BE_\u062C\u0645\u0639\u0631\u0627\u062A_\u062C\u0645\u0639\u06C1_\u06C1\u0641\u062A\u06C1".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060C D MMMM YYYY HH:mm"},relativeTime:{future:"%s \u0628\u0639\u062F",past:"%s \u0642\u0628\u0644",s:"\u0686\u0646\u062F \u0633\u06CC\u06A9\u0646\u0688",m:"\u0627\u06CC\u06A9 \u0645\u0646\u0679",mm:"%d \u0645\u0646\u0679",h:"\u0627\u06CC\u06A9 \u06AF\u06BE\u0646\u0679\u06C1",hh:"%d \u06AF\u06BE\u0646\u0679\u06D2",d:"\u0627\u06CC\u06A9 \u062F\u0646",dd:"%d \u062F\u0646",M:"\u0627\u06CC\u06A9 \u0645\u0627\u06C1",MM:"%d \u0645\u0627\u06C1",y:"\u0627\u06CC\u06A9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"}};return a.default.locale(i,null,!0),i})});var wi=g((hn,Mn)=>{(function(n,t){typeof hn=="object"&&typeof Mn<"u"?Mn.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_vi=t(n.dayjs)})(hn,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"vi",weekdays:"ch\u1EE7 nh\u1EADt_th\u1EE9 hai_th\u1EE9 ba_th\u1EE9 t\u01B0_th\u1EE9 n\u0103m_th\u1EE9 s\xE1u_th\u1EE9 b\u1EA3y".split("_"),months:"th\xE1ng 1_th\xE1ng 2_th\xE1ng 3_th\xE1ng 4_th\xE1ng 5_th\xE1ng 6_th\xE1ng 7_th\xE1ng 8_th\xE1ng 9_th\xE1ng 10_th\xE1ng 11_th\xE1ng 12".split("_"),weekStart:1,weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},relativeTime:{future:"%s t\u1EDBi",past:"%s tr\u01B0\u1EDBc",s:"v\xE0i gi\xE2y",m:"m\u1ED9t ph\xFAt",mm:"%d ph\xFAt",h:"m\u1ED9t gi\u1EDD",hh:"%d gi\u1EDD",d:"m\u1ED9t ng\xE0y",dd:"%d ng\xE0y",M:"m\u1ED9t th\xE1ng",MM:"%d th\xE1ng",y:"m\u1ED9t n\u0103m",yy:"%d n\u0103m"}};return a.default.locale(i,null,!0),i})});var $i=g((yn,Yn)=>{(function(n,t){typeof yn=="object"&&typeof Yn<"u"?Yn.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_zh_cn=t(n.dayjs)})(yn,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"zh-cn",weekdays:"\u661F\u671F\u65E5_\u661F\u671F\u4E00_\u661F\u671F\u4E8C_\u661F\u671F\u4E09_\u661F\u671F\u56DB_\u661F\u671F\u4E94_\u661F\u671F\u516D".split("_"),weekdaysShort:"\u5468\u65E5_\u5468\u4E00_\u5468\u4E8C_\u5468\u4E09_\u5468\u56DB_\u5468\u4E94_\u5468\u516D".split("_"),weekdaysMin:"\u65E5_\u4E00_\u4E8C_\u4E09_\u56DB_\u4E94_\u516D".split("_"),months:"\u4E00\u6708_\u4E8C\u6708_\u4E09\u6708_\u56DB\u6708_\u4E94\u6708_\u516D\u6708_\u4E03\u6708_\u516B\u6708_\u4E5D\u6708_\u5341\u6708_\u5341\u4E00\u6708_\u5341\u4E8C\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),ordinal:function(e,r){return r==="W"?e+"\u5468":e+"\u65E5"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5E74M\u6708D\u65E5",LLL:"YYYY\u5E74M\u6708D\u65E5Ah\u70B9mm\u5206",LLLL:"YYYY\u5E74M\u6708D\u65E5ddddAh\u70B9mm\u5206",l:"YYYY/M/D",ll:"YYYY\u5E74M\u6708D\u65E5",lll:"YYYY\u5E74M\u6708D\u65E5 HH:mm",llll:"YYYY\u5E74M\u6708D\u65E5dddd HH:mm"},relativeTime:{future:"%s\u5185",past:"%s\u524D",s:"\u51E0\u79D2",m:"1 \u5206\u949F",mm:"%d \u5206\u949F",h:"1 \u5C0F\u65F6",hh:"%d \u5C0F\u65F6",d:"1 \u5929",dd:"%d \u5929",M:"1 \u4E2A\u6708",MM:"%d \u4E2A\u6708",y:"1 \u5E74",yy:"%d \u5E74"},meridiem:function(e,r){var u=100*e+r;return u<600?"\u51CC\u6668":u<900?"\u65E9\u4E0A":u<1100?"\u4E0A\u5348":u<1300?"\u4E2D\u5348":u<1800?"\u4E0B\u5348":"\u665A\u4E0A"}};return a.default.locale(i,null,!0),i})});var Ci=g((pn,Ln)=>{(function(n,t){typeof pn=="object"&&typeof Ln<"u"?Ln.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_zh_hk=t(n.dayjs)})(pn,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"zh-hk",months:"\u4E00\u6708_\u4E8C\u6708_\u4E09\u6708_\u56DB\u6708_\u4E94\u6708_\u516D\u6708_\u4E03\u6708_\u516B\u6708_\u4E5D\u6708_\u5341\u6708_\u5341\u4E00\u6708_\u5341\u4E8C\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661F\u671F\u65E5_\u661F\u671F\u4E00_\u661F\u671F\u4E8C_\u661F\u671F\u4E09_\u661F\u671F\u56DB_\u661F\u671F\u4E94_\u661F\u671F\u516D".split("_"),weekdaysShort:"\u9031\u65E5_\u9031\u4E00_\u9031\u4E8C_\u9031\u4E09_\u9031\u56DB_\u9031\u4E94_\u9031\u516D".split("_"),weekdaysMin:"\u65E5_\u4E00_\u4E8C_\u4E09_\u56DB_\u4E94_\u516D".split("_"),ordinal:function(e,r){return r==="W"?e+"\u9031":e+"\u65E5"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5E74M\u6708D\u65E5",LLL:"YYYY\u5E74M\u6708D\u65E5 HH:mm",LLLL:"YYYY\u5E74M\u6708D\u65E5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5E74M\u6708D\u65E5",lll:"YYYY\u5E74M\u6708D\u65E5 HH:mm",llll:"YYYY\u5E74M\u6708D\u65E5dddd HH:mm"},relativeTime:{future:"%s\u5167",past:"%s\u524D",s:"\u5E7E\u79D2",m:"\u4E00\u5206\u9418",mm:"%d \u5206\u9418",h:"\u4E00\u5C0F\u6642",hh:"%d \u5C0F\u6642",d:"\u4E00\u5929",dd:"%d \u5929",M:"\u4E00\u500B\u6708",MM:"%d \u500B\u6708",y:"\u4E00\u5E74",yy:"%d \u5E74"},meridiem:function(e,r){var u=100*e+r;return u<600?"\u51CC\u6668":u<900?"\u65E9\u4E0A":u<1100?"\u4E0A\u5348":u<1300?"\u4E2D\u5348":u<1800?"\u4E0B\u5348":"\u665A\u4E0A"}};return a.default.locale(i,null,!0),i})});var Oi=g((Dn,vn)=>{(function(n,t){typeof Dn=="object"&&typeof vn<"u"?vn.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_zh_tw=t(n.dayjs)})(Dn,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"zh-tw",weekdays:"\u661F\u671F\u65E5_\u661F\u671F\u4E00_\u661F\u671F\u4E8C_\u661F\u671F\u4E09_\u661F\u671F\u56DB_\u661F\u671F\u4E94_\u661F\u671F\u516D".split("_"),weekdaysShort:"\u9031\u65E5_\u9031\u4E00_\u9031\u4E8C_\u9031\u4E09_\u9031\u56DB_\u9031\u4E94_\u9031\u516D".split("_"),weekdaysMin:"\u65E5_\u4E00_\u4E8C_\u4E09_\u56DB_\u4E94_\u516D".split("_"),months:"\u4E00\u6708_\u4E8C\u6708_\u4E09\u6708_\u56DB\u6708_\u4E94\u6708_\u516D\u6708_\u4E03\u6708_\u516B\u6708_\u4E5D\u6708_\u5341\u6708_\u5341\u4E00\u6708_\u5341\u4E8C\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),ordinal:function(e,r){return r==="W"?e+"\u9031":e+"\u65E5"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5E74M\u6708D\u65E5",LLL:"YYYY\u5E74M\u6708D\u65E5 HH:mm",LLLL:"YYYY\u5E74M\u6708D\u65E5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5E74M\u6708D\u65E5",lll:"YYYY\u5E74M\u6708D\u65E5 HH:mm",llll:"YYYY\u5E74M\u6708D\u65E5dddd HH:mm"},relativeTime:{future:"%s\u5167",past:"%s\u524D",s:"\u5E7E\u79D2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5C0F\u6642",hh:"%d \u5C0F\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500B\u6708",MM:"%d \u500B\u6708",y:"1 \u5E74",yy:"%d \u5E74"},meridiem:function(e,r){var u=100*e+r;return u<600?"\u51CC\u6668":u<900?"\u65E9\u4E0A":u<1100?"\u4E0A\u5348":u<1300?"\u4E2D\u5348":u<1800?"\u4E0B\u5348":"\u665A\u4E0A"}};return a.default.locale(i,null,!0),i})});var Sn=60,bn=Sn*60,kn=bn*24,Gi=kn*7,se=1e3,ce=Sn*se,ge=bn*se,jn=kn*se,Hn=Gi*se,_e="millisecond",te="second",ne="minute",ie="hour",V="day",oe="week",G="month",he="quarter",K="year",re="date",Tn="YYYY-MM-DDTHH:mm:ssZ",Se="Invalid Date",wn=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,$n=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g;var On={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var a=["th","st","nd","rd"],i=t%100;return"["+t+(a[(i-20)%10]||a[i]||a[0])+"]"}};var be=function(t,a,i){var e=String(t);return!e||e.length>=a?t:""+Array(a+1-e.length).join(i)+t},Ri=function(t){var a=-t.utcOffset(),i=Math.abs(a),e=Math.floor(i/60),r=i%60;return(a<=0?"+":"-")+be(e,2,"0")+":"+be(r,2,"0")},Zi=function n(t,a){if(t.date()1)return n(u[0])}else{var d=t.name;ue[d]=t,e=d}return!i&&e&&(le=e),e||!i&&le},E=function(t,a){if(ke(t))return t.clone();var i=typeof a=="object"?a:{};return i.date=t,i.args=arguments,new ye(i)},Xi=function(t,a){return E(t,{locale:a.$L,utc:a.$u,x:a.$x,$offset:a.$offset})},z=zn;z.l=Me;z.i=ke;z.w=Xi;var Bi=function(t){var a=t.date,i=t.utc;if(a===null)return new Date(NaN);if(z.u(a))return new Date;if(a instanceof Date)return new Date(a);if(typeof a=="string"&&!/Z$/i.test(a)){var e=a.match(wn);if(e){var r=e[2]-1||0,u=(e[7]||"0").substring(0,3);return i?new Date(Date.UTC(e[1],r,e[3]||1,e[4]||0,e[5]||0,e[6]||0,u)):new Date(e[1],r,e[3]||1,e[4]||0,e[5]||0,e[6]||0,u)}}return new Date(a)},ye=function(){function n(a){this.$L=Me(a.locale,null,!0),this.parse(a),this.$x=this.$x||a.x||{},this[An]=!0}var t=n.prototype;return t.parse=function(i){this.$d=Bi(i),this.init()},t.init=function(){var i=this.$d;this.$y=i.getFullYear(),this.$M=i.getMonth(),this.$D=i.getDate(),this.$W=i.getDay(),this.$H=i.getHours(),this.$m=i.getMinutes(),this.$s=i.getSeconds(),this.$ms=i.getMilliseconds()},t.$utils=function(){return z},t.isValid=function(){return this.$d.toString()!==Se},t.isSame=function(i,e){var r=E(i);return this.startOf(e)<=r&&r<=this.endOf(e)},t.isAfter=function(i,e){return E(i){this.focusedDate??(this.focusedDate=(this.getDefaultFocusedDate()??O()).tz(d)),this.focusedMonth??(this.focusedMonth=this.focusedDate.month()),this.focusedYear??(this.focusedYear=this.focusedDate.year())});let o=this.getSelectedDate()??this.getDefaultFocusedDate()??O().tz(d).hour(0).minute(0).second(0);(this.getMaxDate()!==null&&o.isAfter(this.getMaxDate())||this.getMinDate()!==null&&o.isBefore(this.getMinDate()))&&(o=null),this.hour=o?.hour()??0,this.minute=o?.minute()??0,this.second=o?.second()??0,this.setDisplayText(),this.setMonths(),this.setDayLabels(),i&&this.$nextTick(()=>this.togglePanelVisibility(this.$refs.button)),this.$watch("focusedMonth",()=>{this.focusedMonth=+this.focusedMonth,this.focusedDate.month()!==this.focusedMonth&&(this.focusedDate=this.focusedDate.month(this.focusedMonth))}),this.$watch("focusedYear",()=>{if(this.focusedYear?.length>4&&(this.focusedYear=this.focusedYear.substring(0,4)),!this.focusedYear||this.focusedYear?.length!==4)return;let s=+this.focusedYear;Number.isInteger(s)||(s=O().tz(d).year(),this.focusedYear=s),this.focusedDate.year()!==s&&(this.focusedDate=this.focusedDate.year(s))}),this.$watch("focusedDate",()=>{let s=this.focusedDate.month(),_=this.focusedDate.year();this.focusedMonth!==s&&(this.focusedMonth=s),this.focusedYear!==_&&(this.focusedYear=_),this.setupDaysGrid()}),this.$watch("hour",()=>{let s=+this.hour;if(Number.isInteger(s)?s>23?this.hour=0:s<0?this.hour=23:this.hour=s:this.hour=0,this.isClearingState)return;let _=this.getSelectedDate()??this.focusedDate;this.setState(_.hour(this.hour??0))}),this.$watch("minute",()=>{let s=+this.minute;if(Number.isInteger(s)?s>59?this.minute=0:s<0?this.minute=59:this.minute=s:this.minute=0,this.isClearingState)return;let _=this.getSelectedDate()??this.focusedDate;this.setState(_.minute(this.minute??0))}),this.$watch("second",()=>{let s=+this.second;if(Number.isInteger(s)?s>59?this.second=0:s<0?this.second=59:this.second=s:this.second=0,this.isClearingState)return;let _=this.getSelectedDate()??this.focusedDate;this.setState(_.second(this.second??0))}),this.$watch("state",()=>{if(this.state===void 0)return;let s=this.getSelectedDate();if(s===null){this.clearState();return}this.getMaxDate()!==null&&s?.isAfter(this.getMaxDate())&&(s=null),this.getMinDate()!==null&&s?.isBefore(this.getMinDate())&&(s=null);let _=s?.hour()??0;this.hour!==_&&(this.hour=_);let y=s?.minute()??0;this.minute!==y&&(this.minute=y);let l=s?.second()??0;this.second!==l&&(this.second=l),this.setDisplayText()})},clearState(){this.isClearingState=!0,this.setState(null),this.hour=0,this.minute=0,this.second=0,this.$nextTick(()=>this.isClearingState=!1)},dateIsDisabled(o){return!!(this.$refs?.disabledDates&&JSON.parse(this.$refs.disabledDates.value??[]).some(s=>(s=O(s),s.isValid()?s.isSame(o,"day"):!1))||this.getMaxDate()&&o.isAfter(this.getMaxDate(),"day")||this.getMinDate()&&o.isBefore(this.getMinDate(),"day"))},dayIsDisabled(o){return this.focusedDate??(this.focusedDate=O().tz(d)),this.dateIsDisabled(this.focusedDate.date(o))},dayIsSelected(o){let s=this.getSelectedDate();return s===null?!1:(this.focusedDate??(this.focusedDate=O().tz(d)),s.date()===o&&s.month()===this.focusedDate.month()&&s.year()===this.focusedDate.year())},dayIsToday(o){let s=O().tz(d);return this.focusedDate??(this.focusedDate=s),s.date()===o&&s.month()===this.focusedDate.month()&&s.year()===this.focusedDate.year()},focusPreviousDay(){this.focusedDate??(this.focusedDate=O().tz(d)),this.focusedDate=this.focusedDate.subtract(1,"day")},focusPreviousWeek(){this.focusedDate??(this.focusedDate=O().tz(d)),this.focusedDate=this.focusedDate.subtract(1,"week")},focusNextDay(){this.focusedDate??(this.focusedDate=O().tz(d)),this.focusedDate=this.focusedDate.add(1,"day")},focusNextWeek(){this.focusedDate??(this.focusedDate=O().tz(d)),this.focusedDate=this.focusedDate.add(1,"week")},getDayLabels(){let o=O.weekdaysShort();return a===0?o:[...o.slice(a),...o.slice(0,a)]},getMaxDate(){let o=O(this.$refs.maxDate?.value);return o.isValid()?o:null},getMinDate(){let o=O(this.$refs.minDate?.value);return o.isValid()?o:null},getSelectedDate(){if(this.state===void 0||this.state===null)return null;let o=O(this.state);return o.isValid()?o:null},getDefaultFocusedDate(){if(this.defaultFocusedDate===null)return null;let o=O(this.defaultFocusedDate);return o.isValid()?o:null},togglePanelVisibility(){this.isOpen()||(this.focusedDate=this.getSelectedDate()??this.focusedDate??this.getMinDate()??O().tz(d),this.setupDaysGrid()),this.$refs.panel.toggle(this.$refs.button)},selectDate(o=null){o&&this.setFocusedDay(o),this.focusedDate??(this.focusedDate=O().tz(d)),this.setState(this.focusedDate),r&&this.togglePanelVisibility()},setDisplayText(){this.displayText=this.getSelectedDate()?this.getSelectedDate().format(t):""},setMonths(){this.months=O.months()},setDayLabels(){this.dayLabels=this.getDayLabels()},setupDaysGrid(){this.focusedDate??(this.focusedDate=O().tz(d)),this.emptyDaysInFocusedMonth=Array.from({length:this.focusedDate.date(8-a).day()},(o,s)=>s+1),this.daysInFocusedMonth=Array.from({length:this.focusedDate.daysInMonth()},(o,s)=>s+1)},setFocusedDay(o){this.focusedDate=(this.focusedDate??O().tz(d)).date(o)},setState(o){if(o===null){this.state=null,this.setDisplayText();return}this.dateIsDisabled(o)||(this.state=o.hour(this.hour??0).minute(this.minute??0).second(this.second??0).format("YYYY-MM-DD HH:mm:ss"),this.setDisplayText())},isOpen(){return this.$refs.panel?.style.display==="block"}}}var zi={am:Jn(),ar:Un(),bs:Wn(),ca:Pn(),ckb:Re(),cs:Rn(),cy:Zn(),da:Vn(),de:Kn(),el:Qn(),en:Xn(),es:Bn(),et:ei(),fa:ti(),fi:ni(),fr:ii(),hi:ri(),hu:ai(),hy:si(),id:ui(),it:oi(),ja:di(),ka:_i(),km:li(),ku:Re(),lt:fi(),lv:mi(),ms:ci(),my:hi(),nb:Mi(),nl:yi(),pl:Yi(),pt:pi(),pt_BR:Li(),ro:Di(),ru:vi(),sr_Cyrl:gi(),sr_Latn:Si(),sv:bi(),th:ki(),tr:ji(),uk:Hi(),ur:Ti(),vi:wi(),zh_CN:$i(),zh_HK:Ci(),zh_TW:Oi()};export{er as default}; diff --git a/public/js/filament/forms/components/file-upload.js b/public/js/filament/forms/components/file-upload.js new file mode 100644 index 0000000..7f0eba0 --- /dev/null +++ b/public/js/filament/forms/components/file-upload.js @@ -0,0 +1,123 @@ +var gr=Object.defineProperty;var fr=(e,t)=>{for(var i in t)gr(e,i,{get:t[i],enumerable:!0})};var na={};fr(na,{FileOrigin:()=>Ct,FileStatus:()=>Et,OptionTypes:()=>Gi,Status:()=>nl,create:()=>gt,destroy:()=>ft,find:()=>Wi,getOptions:()=>Hi,parse:()=>Ui,registerPlugin:()=>ve,setOptions:()=>Ft,supported:()=>Vi});var hr=e=>e instanceof HTMLElement,br=(e,t=[],i=[])=>{let a={...e},n=[],l=[],o=()=>({...a}),r=()=>{let g=[...n];return n.length=0,g},s=()=>{let g=[...l];l.length=0,g.forEach(({type:f,data:h})=>{p(f,h)})},p=(g,f,h)=>{if(h&&!document.hidden){l.push({type:g,data:f});return}u[g]&&u[g](f),n.push({type:g,data:f})},c=(g,...f)=>m[g]?m[g](...f):null,d={getState:o,processActionQueue:r,processDispatchQueue:s,dispatch:p,query:c},m={};t.forEach(g=>{m={...g(a),...m}});let u={};return i.forEach(g=>{u={...g(p,c,a),...u}}),d},Er=(e,t,i)=>{if(typeof i=="function"){e[t]=i;return}Object.defineProperty(e,t,{...i})},te=(e,t)=>{for(let i in e)e.hasOwnProperty(i)&&t(i,e[i])},We=e=>{let t={};return te(e,i=>{Er(t,i,e[i])}),t},se=(e,t,i=null)=>{if(i===null)return e.getAttribute(t)||e.hasAttribute(t);e.setAttribute(t,i)},Tr="http://www.w3.org/2000/svg",Ir=["svg","path"],Pa=e=>Ir.includes(e),li=(e,t,i={})=>{typeof t=="object"&&(i=t,t=null);let a=Pa(e)?document.createElementNS(Tr,e):document.createElement(e);return t&&(Pa(e)?se(a,"class",t):a.className=t),te(i,(n,l)=>{se(a,n,l)}),a},vr=e=>(t,i)=>{typeof i<"u"&&e.children[i]?e.insertBefore(t,e.children[i]):e.appendChild(t)},xr=(e,t)=>(i,a)=>(typeof a<"u"?t.splice(a,0,i):t.push(i),i),yr=(e,t)=>i=>(t.splice(t.indexOf(i),1),i.element.parentNode&&e.removeChild(i.element),i),Rr=typeof window<"u"&&typeof window.document<"u",bn=()=>Rr,Sr=bn()?li("svg"):{},_r="children"in Sr?e=>e.children.length:e=>e.childNodes.length,En=(e,t,i,a)=>{let n=i[0]||e.left,l=i[1]||e.top,o=n+e.width,r=l+e.height*(a[1]||1),s={element:{...e},inner:{left:e.left,top:e.top,right:e.right,bottom:e.bottom},outer:{left:n,top:l,right:o,bottom:r}};return t.filter(p=>!p.isRectIgnored()).map(p=>p.rect).forEach(p=>{za(s.inner,{...p.inner}),za(s.outer,{...p.outer})}),Oa(s.inner),s.outer.bottom+=s.element.marginBottom,s.outer.right+=s.element.marginRight,Oa(s.outer),s},za=(e,t)=>{t.top+=e.top,t.right+=e.left,t.bottom+=e.top,t.left+=e.left,t.bottom>e.bottom&&(e.bottom=t.bottom),t.right>e.right&&(e.right=t.right)},Oa=e=>{e.width=e.right-e.left,e.height=e.bottom-e.top},$e=e=>typeof e=="number",wr=(e,t,i,a=.001)=>Math.abs(e-t){let a=null,n=null,l=0,o=!1,p=We({interpolate:(c,d)=>{if(o)return;if(!($e(a)&&$e(n))){o=!0,l=0;return}let m=-(n-a)*e;l+=m/i,n+=l,l*=t,wr(n,a,l)||d?(n=a,l=0,o=!0,p.onupdate(n),p.oncomplete(n)):p.onupdate(n)},target:{set:c=>{if($e(c)&&!$e(n)&&(n=c),a===null&&(a=c,n=c),a=c,n===a||typeof a>"u"){o=!0,l=0,p.onupdate(n),p.oncomplete(n);return}o=!1},get:()=>a},resting:{get:()=>o},onupdate:c=>{},oncomplete:c=>{}});return p};var Mr=e=>e<.5?2*e*e:-1+(4-2*e)*e,Ar=({duration:e=500,easing:t=Mr,delay:i=0}={})=>{let a=null,n,l,o=!0,r=!1,s=null,c=We({interpolate:(d,m)=>{o||s===null||(a===null&&(a=d),!(d-a=e||m?(n=1,l=r?0:1,c.onupdate(l*s),c.oncomplete(l*s),o=!0):(l=n/e,c.onupdate((n>=0?t(r?1-l:l):0)*s))))},target:{get:()=>r?0:s,set:d=>{if(s===null){s=d,c.onupdate(d),c.oncomplete(d);return}do},onupdate:d=>{},oncomplete:d=>{}});return c},Fa={spring:Lr,tween:Ar},Pr=(e,t,i)=>{let a=e[t]&&typeof e[t][i]=="object"?e[t][i]:e[t]||e,n=typeof a=="string"?a:a.type,l=typeof a=="object"?{...a}:{};return Fa[n]?Fa[n](l):null},ji=(e,t,i,a=!1)=>{t=Array.isArray(t)?t:[t],t.forEach(n=>{e.forEach(l=>{let o=l,r=()=>i[l],s=p=>i[l]=p;typeof l=="object"&&(o=l.key,r=l.getter||r,s=l.setter||s),!(n[o]&&!a)&&(n[o]={get:r,set:s})})})},zr=({mixinConfig:e,viewProps:t,viewInternalAPI:i,viewExternalAPI:a})=>{let n={...t},l=[];return te(e,(o,r)=>{let s=Pr(r);if(!s)return;s.onupdate=c=>{t[o]=c},s.target=n[o],ji([{key:o,setter:c=>{s.target!==c&&(s.target=c)},getter:()=>t[o]}],[i,a],t,!0),l.push(s)}),{write:o=>{let r=document.hidden,s=!0;return l.forEach(p=>{p.resting||(s=!1),p.interpolate(o,r)}),s},destroy:()=>{}}},Or=e=>(t,i)=>{e.addEventListener(t,i)},Fr=e=>(t,i)=>{e.removeEventListener(t,i)},Dr=({mixinConfig:e,viewProps:t,viewInternalAPI:i,viewExternalAPI:a,viewState:n,view:l})=>{let o=[],r=Or(l.element),s=Fr(l.element);return a.on=(p,c)=>{o.push({type:p,fn:c}),r(p,c)},a.off=(p,c)=>{o.splice(o.findIndex(d=>d.type===p&&d.fn===c),1),s(p,c)},{write:()=>!0,destroy:()=>{o.forEach(p=>{s(p.type,p.fn)})}}},Cr=({mixinConfig:e,viewProps:t,viewExternalAPI:i})=>{ji(e,i,t)},ue=e=>e!=null,Br={opacity:1,scaleX:1,scaleY:1,translateX:0,translateY:0,rotateX:0,rotateY:0,rotateZ:0,originX:0,originY:0},Nr=({mixinConfig:e,viewProps:t,viewInternalAPI:i,viewExternalAPI:a,view:n})=>{let l={...t},o={};ji(e,[i,a],t);let r=()=>[t.translateX||0,t.translateY||0],s=()=>[t.scaleX||0,t.scaleY||0],p=()=>n.rect?En(n.rect,n.childViews,r(),s()):null;return i.rect={get:p},a.rect={get:p},e.forEach(c=>{t[c]=typeof l[c]>"u"?Br[c]:l[c]}),{write:()=>{if(kr(o,t))return Vr(n.element,t),Object.assign(o,{...t}),!0},destroy:()=>{}}},kr=(e,t)=>{if(Object.keys(e).length!==Object.keys(t).length)return!0;for(let i in t)if(t[i]!==e[i])return!0;return!1},Vr=(e,{opacity:t,perspective:i,translateX:a,translateY:n,scaleX:l,scaleY:o,rotateX:r,rotateY:s,rotateZ:p,originX:c,originY:d,width:m,height:u})=>{let g="",f="";(ue(c)||ue(d))&&(f+=`transform-origin: ${c||0}px ${d||0}px;`),ue(i)&&(g+=`perspective(${i}px) `),(ue(a)||ue(n))&&(g+=`translate3d(${a||0}px, ${n||0}px, 0) `),(ue(l)||ue(o))&&(g+=`scale3d(${ue(l)?l:1}, ${ue(o)?o:1}, 1) `),ue(p)&&(g+=`rotateZ(${p}rad) `),ue(r)&&(g+=`rotateX(${r}rad) `),ue(s)&&(g+=`rotateY(${s}rad) `),g.length&&(f+=`transform:${g};`),ue(t)&&(f+=`opacity:${t};`,t===0&&(f+="visibility:hidden;"),t<1&&(f+="pointer-events:none;")),ue(u)&&(f+=`height:${u}px;`),ue(m)&&(f+=`width:${m}px;`);let h=e.elementCurrentStyle||"";(f.length!==h.length||f!==h)&&(e.style.cssText=f,e.elementCurrentStyle=f)},Gr={styles:Nr,listeners:Dr,animations:zr,apis:Cr},Da=(e={},t={},i={})=>(t.layoutCalculated||(e.paddingTop=parseInt(i.paddingTop,10)||0,e.marginTop=parseInt(i.marginTop,10)||0,e.marginRight=parseInt(i.marginRight,10)||0,e.marginBottom=parseInt(i.marginBottom,10)||0,e.marginLeft=parseInt(i.marginLeft,10)||0,t.layoutCalculated=!0),e.left=t.offsetLeft||0,e.top=t.offsetTop||0,e.width=t.offsetWidth||0,e.height=t.offsetHeight||0,e.right=e.left+e.width,e.bottom=e.top+e.height,e.scrollTop=t.scrollTop,e.hidden=t.offsetParent===null,e),ne=({tag:e="div",name:t=null,attributes:i={},read:a=()=>{},write:n=()=>{},create:l=()=>{},destroy:o=()=>{},filterFrameActionsForChild:r=(u,g)=>g,didCreateView:s=()=>{},didWriteView:p=()=>{},ignoreRect:c=!1,ignoreRectUpdate:d=!1,mixins:m=[]}={})=>(u,g={})=>{let f=li(e,`filepond--${t}`,i),h=window.getComputedStyle(f,null),I=Da(),b=null,T=!1,v=[],y=[],E={},_={},x=[n],R=[a],z=[o],P=()=>f,A=()=>v.concat(),B=()=>E,w=k=>(H,Y)=>H(k,Y),O=()=>b||(b=En(I,v,[0,0],[1,1]),b),S=()=>h,L=()=>{b=null,v.forEach(Y=>Y._read()),!(d&&I.width&&I.height)&&Da(I,f,h);let H={root:K,props:g,rect:I};R.forEach(Y=>Y(H))},D=(k,H,Y)=>{let oe=H.length===0;return x.forEach(ee=>{ee({props:g,root:K,actions:H,timestamp:k,shouldOptimize:Y})===!1&&(oe=!1)}),y.forEach(ee=>{ee.write(k)===!1&&(oe=!1)}),v.filter(ee=>!!ee.element.parentNode).forEach(ee=>{ee._write(k,r(ee,H),Y)||(oe=!1)}),v.forEach((ee,dt)=>{ee.element.parentNode||(K.appendChild(ee.element,dt),ee._read(),ee._write(k,r(ee,H),Y),oe=!1)}),T=oe,p({props:g,root:K,actions:H,timestamp:k}),oe},F=()=>{y.forEach(k=>k.destroy()),z.forEach(k=>{k({root:K,props:g})}),v.forEach(k=>k._destroy())},G={element:{get:P},style:{get:S},childViews:{get:A}},C={...G,rect:{get:O},ref:{get:B},is:k=>t===k,appendChild:vr(f),createChildView:w(u),linkView:k=>(v.push(k),k),unlinkView:k=>{v.splice(v.indexOf(k),1)},appendChildView:xr(f,v),removeChildView:yr(f,v),registerWriter:k=>x.push(k),registerReader:k=>R.push(k),registerDestroyer:k=>z.push(k),invalidateLayout:()=>f.layoutCalculated=!1,dispatch:u.dispatch,query:u.query},q={element:{get:P},childViews:{get:A},rect:{get:O},resting:{get:()=>T},isRectIgnored:()=>c,_read:L,_write:D,_destroy:F},$={...G,rect:{get:()=>I}};Object.keys(m).sort((k,H)=>k==="styles"?1:H==="styles"?-1:0).forEach(k=>{let H=Gr[k]({mixinConfig:m[k],viewProps:g,viewState:_,viewInternalAPI:C,viewExternalAPI:q,view:We($)});H&&y.push(H)});let K=We(C);l({root:K,props:g});let pe=_r(f);return v.forEach((k,H)=>{K.appendChild(k.element,pe+H)}),s(K),We(q)},Ur=(e,t,i=60)=>{let a="__framePainter";if(window[a]){window[a].readers.push(e),window[a].writers.push(t);return}window[a]={readers:[e],writers:[t]};let n=window[a],l=1e3/i,o=null,r=null,s=null,p=null,c=()=>{document.hidden?(s=()=>window.setTimeout(()=>d(performance.now()),l),p=()=>window.clearTimeout(r)):(s=()=>window.requestAnimationFrame(d),p=()=>window.cancelAnimationFrame(r))};document.addEventListener("visibilitychange",()=>{p&&p(),c(),d(performance.now())});let d=m=>{r=s(d),o||(o=m);let u=m-o;u<=l||(o=m-u%l,n.readers.forEach(g=>g()),n.writers.forEach(g=>g(m)))};return c(),d(performance.now()),{pause:()=>{p(r)}}},fe=(e,t)=>({root:i,props:a,actions:n=[],timestamp:l,shouldOptimize:o})=>{n.filter(r=>e[r.type]).forEach(r=>e[r.type]({root:i,props:a,action:r.data,timestamp:l,shouldOptimize:o})),t&&t({root:i,props:a,actions:n,timestamp:l,shouldOptimize:o})},Ca=(e,t)=>t.parentNode.insertBefore(e,t),Ba=(e,t)=>t.parentNode.insertBefore(e,t.nextSibling),ci=e=>Array.isArray(e),ke=e=>e==null,Wr=e=>e.trim(),di=e=>""+e,Hr=(e,t=",")=>ke(e)?[]:ci(e)?e:di(e).split(t).map(Wr).filter(i=>i.length),Tn=e=>typeof e=="boolean",In=e=>Tn(e)?e:e==="true",ge=e=>typeof e=="string",vn=e=>$e(e)?e:ge(e)?di(e).replace(/[a-z]+/gi,""):0,ni=e=>parseInt(vn(e),10),Na=e=>parseFloat(vn(e)),bt=e=>$e(e)&&isFinite(e)&&Math.floor(e)===e,ka=(e,t=1e3)=>{if(bt(e))return e;let i=di(e).trim();return/MB$/i.test(i)?(i=i.replace(/MB$i/,"").trim(),ni(i)*t*t):/KB/i.test(i)?(i=i.replace(/KB$i/,"").trim(),ni(i)*t):ni(i)},Xe=e=>typeof e=="function",jr=e=>{let t=self,i=e.split("."),a=null;for(;a=i.shift();)if(t=t[a],!t)return null;return t},Va={process:"POST",patch:"PATCH",revert:"DELETE",fetch:"GET",restore:"GET",load:"GET"},Yr=e=>{let t={};return t.url=ge(e)?e:e.url||"",t.timeout=e.timeout?parseInt(e.timeout,10):0,t.headers=e.headers?e.headers:{},te(Va,i=>{t[i]=qr(i,e[i],Va[i],t.timeout,t.headers)}),t.process=e.process||ge(e)||e.url?t.process:null,t.remove=e.remove||null,delete t.headers,t},qr=(e,t,i,a,n)=>{if(t===null)return null;if(typeof t=="function")return t;let l={url:i==="GET"||i==="PATCH"?`?${e}=`:"",method:i,headers:n,withCredentials:!1,timeout:a,onload:null,ondata:null,onerror:null};if(ge(t))return l.url=t,l;if(Object.assign(l,t),ge(l.headers)){let o=l.headers.split(/:(.+)/);l.headers={header:o[0],value:o[1]}}return l.withCredentials=In(l.withCredentials),l},$r=e=>Yr(e),Xr=e=>e===null,ce=e=>typeof e=="object"&&e!==null,Kr=e=>ce(e)&&ge(e.url)&&ce(e.process)&&ce(e.revert)&&ce(e.restore)&&ce(e.fetch),zi=e=>ci(e)?"array":Xr(e)?"null":bt(e)?"int":/^[0-9]+ ?(?:GB|MB|KB)$/gi.test(e)?"bytes":Kr(e)?"api":typeof e,Qr=e=>e.replace(/{\s*'/g,'{"').replace(/'\s*}/g,'"}').replace(/'\s*:/g,'":').replace(/:\s*'/g,':"').replace(/,\s*'/g,',"').replace(/'\s*,/g,'",'),Zr={array:Hr,boolean:In,int:e=>zi(e)==="bytes"?ka(e):ni(e),number:Na,float:Na,bytes:ka,string:e=>Xe(e)?e:di(e),function:e=>jr(e),serverapi:$r,object:e=>{try{return JSON.parse(Qr(e))}catch{return null}}},Jr=(e,t)=>Zr[t](e),xn=(e,t,i)=>{if(e===t)return e;let a=zi(e);if(a!==i){let n=Jr(e,i);if(a=zi(n),n===null)throw`Trying to assign value with incorrect type to "${option}", allowed type: "${i}"`;e=n}return e},es=(e,t)=>{let i=e;return{enumerable:!0,get:()=>i,set:a=>{i=xn(a,e,t)}}},ts=e=>{let t={};return te(e,i=>{let a=e[i];t[i]=es(a[0],a[1])}),We(t)},is=e=>({items:[],listUpdateTimeout:null,itemUpdateTimeout:null,processingQueue:[],options:ts(e)}),pi=(e,t="-")=>e.split(/(?=[A-Z])/).map(i=>i.toLowerCase()).join(t),as=(e,t)=>{let i={};return te(t,a=>{i[a]={get:()=>e.getState().options[a],set:n=>{e.dispatch(`SET_${pi(a,"_").toUpperCase()}`,{value:n})}}}),i},ns=e=>(t,i,a)=>{let n={};return te(e,l=>{let o=pi(l,"_").toUpperCase();n[`SET_${o}`]=r=>{try{a.options[l]=r.value}catch{}t(`DID_SET_${o}`,{value:a.options[l]})}}),n},ls=e=>t=>{let i={};return te(e,a=>{i[`GET_${pi(a,"_").toUpperCase()}`]=n=>t.options[a]}),i},Re={API:1,DROP:2,BROWSE:3,PASTE:4,NONE:5},Yi=()=>Math.random().toString(36).substring(2,11),qi=(e,t)=>e.splice(t,1),os=(e,t)=>{t?e():document.hidden?Promise.resolve(1).then(e):setTimeout(e,0)},mi=()=>{let e=[],t=(a,n)=>{qi(e,e.findIndex(l=>l.event===a&&(l.cb===n||!n)))},i=(a,n,l)=>{e.filter(o=>o.event===a).map(o=>o.cb).forEach(o=>os(()=>o(...n),l))};return{fireSync:(a,...n)=>{i(a,n,!0)},fire:(a,...n)=>{i(a,n,!1)},on:(a,n)=>{e.push({event:a,cb:n})},onOnce:(a,n)=>{e.push({event:a,cb:(...l)=>{t(a,n),n(...l)}})},off:t}},yn=(e,t,i)=>{Object.getOwnPropertyNames(e).filter(a=>!i.includes(a)).forEach(a=>Object.defineProperty(t,a,Object.getOwnPropertyDescriptor(e,a)))},rs=["fire","process","revert","load","on","off","onOnce","retryLoad","extend","archive","archived","release","released","requestProcessing","freeze"],he=e=>{let t={};return yn(e,t,rs),t},ss=e=>{e.forEach((t,i)=>{t.released&&qi(e,i)})},U={INIT:1,IDLE:2,PROCESSING_QUEUED:9,PROCESSING:3,PROCESSING_COMPLETE:5,PROCESSING_ERROR:6,PROCESSING_REVERT_ERROR:10,LOADING:7,LOAD_ERROR:8},re={INPUT:1,LIMBO:2,LOCAL:3},Rn=e=>/[^0-9]+/.exec(e),Sn=()=>Rn(1.1.toLocaleString())[0],cs=()=>{let e=Sn(),t=1e3.toLocaleString();return t!=="1000"?Rn(t)[0]:e==="."?",":"."},M={BOOLEAN:"boolean",INT:"int",NUMBER:"number",STRING:"string",ARRAY:"array",OBJECT:"object",FUNCTION:"function",ACTION:"action",SERVER_API:"serverapi",REGEX:"regex"},$i=[],Ae=(e,t,i)=>new Promise((a,n)=>{let l=$i.filter(r=>r.key===e).map(r=>r.cb);if(l.length===0){a(t);return}let o=l.shift();l.reduce((r,s)=>r.then(p=>s(p,i)),o(t,i)).then(r=>a(r)).catch(r=>n(r))}),tt=(e,t,i)=>$i.filter(a=>a.key===e).map(a=>a.cb(t,i)),ds=(e,t)=>$i.push({key:e,cb:t}),ps=e=>Object.assign(pt,e),oi=()=>({...pt}),ms=e=>{te(e,(t,i)=>{pt[t]&&(pt[t][0]=xn(i,pt[t][0],pt[t][1]))})},pt={id:[null,M.STRING],name:["filepond",M.STRING],disabled:[!1,M.BOOLEAN],className:[null,M.STRING],required:[!1,M.BOOLEAN],captureMethod:[null,M.STRING],allowSyncAcceptAttribute:[!0,M.BOOLEAN],allowDrop:[!0,M.BOOLEAN],allowBrowse:[!0,M.BOOLEAN],allowPaste:[!0,M.BOOLEAN],allowMultiple:[!1,M.BOOLEAN],allowReplace:[!0,M.BOOLEAN],allowRevert:[!0,M.BOOLEAN],allowRemove:[!0,M.BOOLEAN],allowProcess:[!0,M.BOOLEAN],allowReorder:[!1,M.BOOLEAN],allowDirectoriesOnly:[!1,M.BOOLEAN],storeAsFile:[!1,M.BOOLEAN],forceRevert:[!1,M.BOOLEAN],maxFiles:[null,M.INT],checkValidity:[!1,M.BOOLEAN],itemInsertLocationFreedom:[!0,M.BOOLEAN],itemInsertLocation:["before",M.STRING],itemInsertInterval:[75,M.INT],dropOnPage:[!1,M.BOOLEAN],dropOnElement:[!0,M.BOOLEAN],dropValidation:[!1,M.BOOLEAN],ignoredFiles:[[".ds_store","thumbs.db","desktop.ini"],M.ARRAY],instantUpload:[!0,M.BOOLEAN],maxParallelUploads:[2,M.INT],allowMinimumUploadDuration:[!0,M.BOOLEAN],chunkUploads:[!1,M.BOOLEAN],chunkForce:[!1,M.BOOLEAN],chunkSize:[5e6,M.INT],chunkRetryDelays:[[500,1e3,3e3],M.ARRAY],server:[null,M.SERVER_API],fileSizeBase:[1e3,M.INT],labelFileSizeBytes:["bytes",M.STRING],labelFileSizeKilobytes:["KB",M.STRING],labelFileSizeMegabytes:["MB",M.STRING],labelFileSizeGigabytes:["GB",M.STRING],labelDecimalSeparator:[Sn(),M.STRING],labelThousandsSeparator:[cs(),M.STRING],labelIdle:['Drag & Drop your files or Browse',M.STRING],labelInvalidField:["Field contains invalid files",M.STRING],labelFileWaitingForSize:["Waiting for size",M.STRING],labelFileSizeNotAvailable:["Size not available",M.STRING],labelFileCountSingular:["file in list",M.STRING],labelFileCountPlural:["files in list",M.STRING],labelFileLoading:["Loading",M.STRING],labelFileAdded:["Added",M.STRING],labelFileLoadError:["Error during load",M.STRING],labelFileRemoved:["Removed",M.STRING],labelFileRemoveError:["Error during remove",M.STRING],labelFileProcessing:["Uploading",M.STRING],labelFileProcessingComplete:["Upload complete",M.STRING],labelFileProcessingAborted:["Upload cancelled",M.STRING],labelFileProcessingError:["Error during upload",M.STRING],labelFileProcessingRevertError:["Error during revert",M.STRING],labelTapToCancel:["tap to cancel",M.STRING],labelTapToRetry:["tap to retry",M.STRING],labelTapToUndo:["tap to undo",M.STRING],labelButtonRemoveItem:["Remove",M.STRING],labelButtonAbortItemLoad:["Abort",M.STRING],labelButtonRetryItemLoad:["Retry",M.STRING],labelButtonAbortItemProcessing:["Cancel",M.STRING],labelButtonUndoItemProcessing:["Undo",M.STRING],labelButtonRetryItemProcessing:["Retry",M.STRING],labelButtonProcessItem:["Upload",M.STRING],iconRemove:['',M.STRING],iconProcess:['',M.STRING],iconRetry:['',M.STRING],iconUndo:['',M.STRING],iconDone:['',M.STRING],oninit:[null,M.FUNCTION],onwarning:[null,M.FUNCTION],onerror:[null,M.FUNCTION],onactivatefile:[null,M.FUNCTION],oninitfile:[null,M.FUNCTION],onaddfilestart:[null,M.FUNCTION],onaddfileprogress:[null,M.FUNCTION],onaddfile:[null,M.FUNCTION],onprocessfilestart:[null,M.FUNCTION],onprocessfileprogress:[null,M.FUNCTION],onprocessfileabort:[null,M.FUNCTION],onprocessfilerevert:[null,M.FUNCTION],onprocessfile:[null,M.FUNCTION],onprocessfiles:[null,M.FUNCTION],onremovefile:[null,M.FUNCTION],onpreparefile:[null,M.FUNCTION],onupdatefiles:[null,M.FUNCTION],onreorderfiles:[null,M.FUNCTION],beforeDropFile:[null,M.FUNCTION],beforeAddFile:[null,M.FUNCTION],beforeRemoveFile:[null,M.FUNCTION],beforePrepareFile:[null,M.FUNCTION],stylePanelLayout:[null,M.STRING],stylePanelAspectRatio:[null,M.STRING],styleItemPanelAspectRatio:[null,M.STRING],styleButtonRemoveItemPosition:["left",M.STRING],styleButtonProcessItemPosition:["right",M.STRING],styleLoadIndicatorPosition:["right",M.STRING],styleProgressIndicatorPosition:["right",M.STRING],styleButtonRemoveItemAlign:[!1,M.BOOLEAN],files:[[],M.ARRAY],credits:[["https://pqina.nl/","Powered by PQINA"],M.ARRAY]},Ke=(e,t)=>ke(t)?e[0]||null:bt(t)?e[t]||null:(typeof t=="object"&&(t=t.id),e.find(i=>i.id===t)||null),_n=e=>{if(ke(e))return e;if(/:/.test(e)){let t=e.split(":");return t[1]/t[0]}return parseFloat(e)},Pe=e=>e.filter(t=>!t.archived),wn={EMPTY:0,IDLE:1,ERROR:2,BUSY:3,READY:4},Zt=null,us=()=>{if(Zt===null)try{let e=new DataTransfer;e.items.add(new File(["hello world"],"This_Works.txt"));let t=document.createElement("input");t.setAttribute("type","file"),t.files=e.files,Zt=t.files.length===1}catch{Zt=!1}return Zt},gs=[U.LOAD_ERROR,U.PROCESSING_ERROR,U.PROCESSING_REVERT_ERROR],fs=[U.LOADING,U.PROCESSING,U.PROCESSING_QUEUED,U.INIT],hs=[U.PROCESSING_COMPLETE],bs=e=>gs.includes(e.status),Es=e=>fs.includes(e.status),Ts=e=>hs.includes(e.status),Ga=e=>ce(e.options.server)&&(ce(e.options.server.process)||Xe(e.options.server.process)),Is=e=>({GET_STATUS:()=>{let t=Pe(e.items),{EMPTY:i,ERROR:a,BUSY:n,IDLE:l,READY:o}=wn;return t.length===0?i:t.some(bs)?a:t.some(Es)?n:t.some(Ts)?o:l},GET_ITEM:t=>Ke(e.items,t),GET_ACTIVE_ITEM:t=>Ke(Pe(e.items),t),GET_ACTIVE_ITEMS:()=>Pe(e.items),GET_ITEMS:()=>e.items,GET_ITEM_NAME:t=>{let i=Ke(e.items,t);return i?i.filename:null},GET_ITEM_SIZE:t=>{let i=Ke(e.items,t);return i?i.fileSize:null},GET_STYLES:()=>Object.keys(e.options).filter(t=>/^style/.test(t)).map(t=>({name:t,value:e.options[t]})),GET_PANEL_ASPECT_RATIO:()=>/circle/.test(e.options.stylePanelLayout)?1:_n(e.options.stylePanelAspectRatio),GET_ITEM_PANEL_ASPECT_RATIO:()=>e.options.styleItemPanelAspectRatio,GET_ITEMS_BY_STATUS:t=>Pe(e.items).filter(i=>i.status===t),GET_TOTAL_ITEMS:()=>Pe(e.items).length,SHOULD_UPDATE_FILE_INPUT:()=>e.options.storeAsFile&&us()&&!Ga(e),IS_ASYNC:()=>Ga(e),GET_FILE_SIZE_LABELS:t=>({labelBytes:t("GET_LABEL_FILE_SIZE_BYTES")||void 0,labelKilobytes:t("GET_LABEL_FILE_SIZE_KILOBYTES")||void 0,labelMegabytes:t("GET_LABEL_FILE_SIZE_MEGABYTES")||void 0,labelGigabytes:t("GET_LABEL_FILE_SIZE_GIGABYTES")||void 0})}),vs=e=>{let t=Pe(e.items).length;if(!e.options.allowMultiple)return t===0;let i=e.options.maxFiles;return i===null||tMath.max(Math.min(i,e),t),xs=(e,t,i)=>e.splice(t,0,i),ys=(e,t,i)=>ke(t)?null:typeof i>"u"?(e.push(t),t):(i=Ln(i,0,e.length),xs(e,i,t),t),Oi=e=>/^\s*data:([a-z]+\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s]*)\s*$/i.test(e),Dt=e=>`${e}`.split("/").pop().split("?").shift(),ui=e=>e.split(".").pop(),Rs=e=>{if(typeof e!="string")return"";let t=e.split("/").pop();return/svg/.test(t)?"svg":/zip|compressed/.test(t)?"zip":/plain/.test(t)?"txt":/msword/.test(t)?"doc":/[a-z]+/.test(t)?t==="jpeg"?"jpg":t:""},At=(e,t="")=>(t+e).slice(-t.length),Mn=(e=new Date)=>`${e.getFullYear()}-${At(e.getMonth()+1,"00")}-${At(e.getDate(),"00")}_${At(e.getHours(),"00")}-${At(e.getMinutes(),"00")}-${At(e.getSeconds(),"00")}`,ht=(e,t,i=null,a=null)=>{let n=typeof i=="string"?e.slice(0,e.size,i):e.slice(0,e.size,e.type);return n.lastModifiedDate=new Date,e._relativePath&&(n._relativePath=e._relativePath),ge(t)||(t=Mn()),t&&a===null&&ui(t)?n.name=t:(a=a||Rs(n.type),n.name=t+(a?"."+a:"")),n},Ss=()=>window.BlobBuilder=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,An=(e,t)=>{let i=Ss();if(i){let a=new i;return a.append(e),a.getBlob(t)}return new Blob([e],{type:t})},_s=(e,t)=>{let i=new ArrayBuffer(e.length),a=new Uint8Array(i);for(let n=0;n(/^data:(.+);/.exec(e)||[])[1]||null,ws=e=>e.split(",")[1].replace(/\s/g,""),Ls=e=>atob(ws(e)),Ms=e=>{let t=Pn(e),i=Ls(e);return _s(i,t)},As=(e,t,i)=>ht(Ms(e),t,null,i),Ps=e=>{if(!/^content-disposition:/i.test(e))return null;let t=e.split(/filename=|filename\*=.+''/).splice(1).map(i=>i.trim().replace(/^["']|[;"']{0,2}$/g,"")).filter(i=>i.length);return t.length?decodeURI(t[t.length-1]):null},zs=e=>{if(/content-length:/i.test(e)){let t=e.match(/[0-9]+/)[0];return t?parseInt(t,10):null}return null},Os=e=>/x-content-transfer-id:/i.test(e)&&(e.split(":")[1]||"").trim()||null,Xi=e=>{let t={source:null,name:null,size:null},i=e.split(` +`);for(let a of i){let n=Ps(a);if(n){t.name=n;continue}let l=zs(a);if(l){t.size=l;continue}let o=Os(a);if(o){t.source=o;continue}}return t},Fs=e=>{let t={source:null,complete:!1,progress:0,size:null,timestamp:null,duration:0,request:null},i=()=>t.progress,a=()=>{t.request&&t.request.abort&&t.request.abort()},n=()=>{let r=t.source;o.fire("init",r),r instanceof File?o.fire("load",r):r instanceof Blob?o.fire("load",ht(r,r.name)):Oi(r)?o.fire("load",As(r)):l(r)},l=r=>{if(!e){o.fire("error",{type:"error",body:"Can't load URL",code:400});return}t.timestamp=Date.now(),t.request=e(r,s=>{t.duration=Date.now()-t.timestamp,t.complete=!0,s instanceof Blob&&(s=ht(s,s.name||Dt(r))),o.fire("load",s instanceof Blob?s:s?s.body:null)},s=>{o.fire("error",typeof s=="string"?{type:"error",code:0,body:s}:s)},(s,p,c)=>{if(c&&(t.size=c),t.duration=Date.now()-t.timestamp,!s){t.progress=null;return}t.progress=p/c,o.fire("progress",t.progress)},()=>{o.fire("abort")},s=>{let p=Xi(typeof s=="string"?s:s.headers);o.fire("meta",{size:t.size||p.size,filename:p.name,source:p.source})})},o={...mi(),setSource:r=>t.source=r,getProgress:i,abort:a,load:n};return o},Ua=e=>/GET|HEAD/.test(e),Qe=(e,t,i)=>{let a={onheaders:()=>{},onprogress:()=>{},onload:()=>{},ontimeout:()=>{},onerror:()=>{},onabort:()=>{},abort:()=>{n=!0,o.abort()}},n=!1,l=!1;i={method:"POST",headers:{},withCredentials:!1,...i},t=encodeURI(t),Ua(i.method)&&e&&(t=`${t}${encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))}`);let o=new XMLHttpRequest,r=Ua(i.method)?o:o.upload;return r.onprogress=s=>{n||a.onprogress(s.lengthComputable,s.loaded,s.total)},o.onreadystatechange=()=>{o.readyState<2||o.readyState===4&&o.status===0||l||(l=!0,a.onheaders(o))},o.onload=()=>{o.status>=200&&o.status<300?a.onload(o):a.onerror(o)},o.onerror=()=>a.onerror(o),o.onabort=()=>{n=!0,a.onabort()},o.ontimeout=()=>a.ontimeout(o),o.open(i.method,t,!0),bt(i.timeout)&&(o.timeout=i.timeout),Object.keys(i.headers).forEach(s=>{let p=unescape(encodeURIComponent(i.headers[s]));o.setRequestHeader(s,p)}),i.responseType&&(o.responseType=i.responseType),i.withCredentials&&(o.withCredentials=!0),o.send(e),a},ie=(e,t,i,a)=>({type:e,code:t,body:i,headers:a}),Ze=e=>t=>{e(ie("error",0,"Timeout",t.getAllResponseHeaders()))},Wa=e=>/\?/.test(e),Ot=(...e)=>{let t="";return e.forEach(i=>{t+=Wa(t)&&Wa(i)?i.replace(/\?/,"&"):i}),t},_i=(e="",t)=>{if(typeof t=="function")return t;if(!t||!ge(t.url))return null;let i=t.onload||(n=>n),a=t.onerror||(n=>null);return(n,l,o,r,s,p)=>{let c=Qe(n,Ot(e,t.url),{...t,responseType:"blob"});return c.onload=d=>{let m=d.getAllResponseHeaders(),u=Xi(m).name||Dt(n);l(ie("load",d.status,t.method==="HEAD"?null:ht(i(d.response),u),m))},c.onerror=d=>{o(ie("error",d.status,a(d.response)||d.statusText,d.getAllResponseHeaders()))},c.onheaders=d=>{p(ie("headers",d.status,null,d.getAllResponseHeaders()))},c.ontimeout=Ze(o),c.onprogress=r,c.onabort=s,c}},xe={QUEUED:0,COMPLETE:1,PROCESSING:2,ERROR:3,WAITING:4},Ds=(e,t,i,a,n,l,o,r,s,p,c)=>{let d=[],{chunkTransferId:m,chunkServer:u,chunkSize:g,chunkRetryDelays:f}=c,h={serverId:m,aborted:!1},I=t.ondata||(w=>w),b=t.onload||((w,O)=>O==="HEAD"?w.getResponseHeader("Upload-Offset"):w.response),T=t.onerror||(w=>null),v=w=>{let O=new FormData;ce(n)&&O.append(i,JSON.stringify(n));let S=typeof t.headers=="function"?t.headers(a,n):{...t.headers,"Upload-Length":a.size},L={...t,headers:S},D=Qe(I(O),Ot(e,t.url),L);D.onload=F=>w(b(F,L.method)),D.onerror=F=>o(ie("error",F.status,T(F.response)||F.statusText,F.getAllResponseHeaders())),D.ontimeout=Ze(o)},y=w=>{let O=Ot(e,u.url,h.serverId),L={headers:typeof t.headers=="function"?t.headers(h.serverId):{...t.headers},method:"HEAD"},D=Qe(null,O,L);D.onload=F=>w(b(F,L.method)),D.onerror=F=>o(ie("error",F.status,T(F.response)||F.statusText,F.getAllResponseHeaders())),D.ontimeout=Ze(o)},E=Math.floor(a.size/g);for(let w=0;w<=E;w++){let O=w*g,S=a.slice(O,O+g,"application/offset+octet-stream");d[w]={index:w,size:S.size,offset:O,data:S,file:a,progress:0,retries:[...f],status:xe.QUEUED,error:null,request:null,timeout:null}}let _=()=>l(h.serverId),x=w=>w.status===xe.QUEUED||w.status===xe.ERROR,R=w=>{if(h.aborted)return;if(w=w||d.find(x),!w){d.every(C=>C.status===xe.COMPLETE)&&_();return}w.status=xe.PROCESSING,w.progress=null;let O=u.ondata||(C=>C),S=u.onerror||(C=>null),L=u.onload||(()=>{}),D=Ot(e,u.url,h.serverId),F=typeof u.headers=="function"?u.headers(w):{...u.headers,"Content-Type":"application/offset+octet-stream","Upload-Offset":w.offset,"Upload-Length":a.size,"Upload-Name":a.name},G=w.request=Qe(O(w.data),D,{...u,headers:F});G.onload=C=>{L(C,w.index,d.length),w.status=xe.COMPLETE,w.request=null,A()},G.onprogress=(C,q,$)=>{w.progress=C?q:null,P()},G.onerror=C=>{w.status=xe.ERROR,w.request=null,w.error=S(C.response)||C.statusText,z(w)||o(ie("error",C.status,S(C.response)||C.statusText,C.getAllResponseHeaders()))},G.ontimeout=C=>{w.status=xe.ERROR,w.request=null,z(w)||Ze(o)(C)},G.onabort=()=>{w.status=xe.QUEUED,w.request=null,s()}},z=w=>w.retries.length===0?!1:(w.status=xe.WAITING,clearTimeout(w.timeout),w.timeout=setTimeout(()=>{R(w)},w.retries.shift()),!0),P=()=>{let w=d.reduce((S,L)=>S===null||L.progress===null?null:S+L.progress,0);if(w===null)return r(!1,0,0);let O=d.reduce((S,L)=>S+L.size,0);r(!0,w,O)},A=()=>{d.filter(O=>O.status===xe.PROCESSING).length>=1||R()},B=()=>{d.forEach(w=>{clearTimeout(w.timeout),w.request&&w.request.abort()})};return h.serverId?y(w=>{h.aborted||(d.filter(O=>O.offset{O.status=xe.COMPLETE,O.progress=O.size}),A())}):v(w=>{h.aborted||(p(w),h.serverId=w,A())}),{abort:()=>{h.aborted=!0,B()}}},Cs=(e,t,i,a)=>(n,l,o,r,s,p,c)=>{if(!n)return;let d=a.chunkUploads,m=d&&n.size>a.chunkSize,u=d&&(m||a.chunkForce);if(n instanceof Blob&&u)return Ds(e,t,i,n,l,o,r,s,p,c,a);let g=t.ondata||(y=>y),f=t.onload||(y=>y),h=t.onerror||(y=>null),I=typeof t.headers=="function"?t.headers(n,l)||{}:{...t.headers},b={...t,headers:I};var T=new FormData;ce(l)&&T.append(i,JSON.stringify(l)),(n instanceof Blob?[{name:null,file:n}]:n).forEach(y=>{T.append(i,y.file,y.name===null?y.file.name:`${y.name}${y.file.name}`)});let v=Qe(g(T),Ot(e,t.url),b);return v.onload=y=>{o(ie("load",y.status,f(y.response),y.getAllResponseHeaders()))},v.onerror=y=>{r(ie("error",y.status,h(y.response)||y.statusText,y.getAllResponseHeaders()))},v.ontimeout=Ze(r),v.onprogress=s,v.onabort=p,v},Bs=(e="",t,i,a)=>typeof t=="function"?(...n)=>t(i,...n,a):!t||!ge(t.url)?null:Cs(e,t,i,a),Pt=(e="",t)=>{if(typeof t=="function")return t;if(!t||!ge(t.url))return(n,l)=>l();let i=t.onload||(n=>n),a=t.onerror||(n=>null);return(n,l,o)=>{let r=Qe(n,e+t.url,t);return r.onload=s=>{l(ie("load",s.status,i(s.response),s.getAllResponseHeaders()))},r.onerror=s=>{o(ie("error",s.status,a(s.response)||s.statusText,s.getAllResponseHeaders()))},r.ontimeout=Ze(o),r}},zn=(e=0,t=1)=>e+Math.random()*(t-e),Ns=(e,t=1e3,i=0,a=25,n=250)=>{let l=null,o=Date.now(),r=()=>{let s=Date.now()-o,p=zn(a,n);s+p>t&&(p=s+p-t);let c=s/t;if(c>=1||document.hidden){e(1);return}e(c),l=setTimeout(r,p)};return t>0&&r(),{clear:()=>{clearTimeout(l)}}},ks=(e,t)=>{let i={complete:!1,perceivedProgress:0,perceivedPerformanceUpdater:null,progress:null,timestamp:null,perceivedDuration:0,duration:0,request:null,response:null},{allowMinimumUploadDuration:a}=t,n=(c,d)=>{let m=()=>{i.duration===0||i.progress===null||p.fire("progress",p.getProgress())},u=()=>{i.complete=!0,p.fire("load-perceived",i.response.body)};p.fire("start"),i.timestamp=Date.now(),i.perceivedPerformanceUpdater=Ns(g=>{i.perceivedProgress=g,i.perceivedDuration=Date.now()-i.timestamp,m(),i.response&&i.perceivedProgress===1&&!i.complete&&u()},a?zn(750,1500):0),i.request=e(c,d,g=>{i.response=ce(g)?g:{type:"load",code:200,body:`${g}`,headers:{}},i.duration=Date.now()-i.timestamp,i.progress=1,p.fire("load",i.response.body),(!a||a&&i.perceivedProgress===1)&&u()},g=>{i.perceivedPerformanceUpdater.clear(),p.fire("error",ce(g)?g:{type:"error",code:0,body:`${g}`})},(g,f,h)=>{i.duration=Date.now()-i.timestamp,i.progress=g?f/h:null,m()},()=>{i.perceivedPerformanceUpdater.clear(),p.fire("abort",i.response?i.response.body:null)},g=>{p.fire("transfer",g)})},l=()=>{i.request&&(i.perceivedPerformanceUpdater.clear(),i.request.abort&&i.request.abort(),i.complete=!0)},o=()=>{l(),i.complete=!1,i.perceivedProgress=0,i.progress=0,i.timestamp=null,i.perceivedDuration=0,i.duration=0,i.request=null,i.response=null},r=a?()=>i.progress?Math.min(i.progress,i.perceivedProgress):null:()=>i.progress||null,s=a?()=>Math.min(i.duration,i.perceivedDuration):()=>i.duration,p={...mi(),process:n,abort:l,getProgress:r,getDuration:s,reset:o};return p},On=e=>e.substring(0,e.lastIndexOf("."))||e,Vs=e=>{let t=[e.name,e.size,e.type];return e instanceof Blob||Oi(e)?t[0]=e.name||Mn():Oi(e)?(t[1]=e.length,t[2]=Pn(e)):ge(e)&&(t[0]=Dt(e),t[1]=0,t[2]="application/octet-stream"),{name:t[0],size:t[1],type:t[2]}},Je=e=>!!(e instanceof File||e instanceof Blob&&e.name),Fn=e=>{if(!ce(e))return e;let t=ci(e)?[]:{};for(let i in e){if(!e.hasOwnProperty(i))continue;let a=e[i];t[i]=a&&ce(a)?Fn(a):a}return t},Gs=(e=null,t=null,i=null)=>{let a=Yi(),n={archived:!1,frozen:!1,released:!1,source:null,file:i,serverFileReference:t,transferId:null,processingAborted:!1,status:t?U.PROCESSING_COMPLETE:U.INIT,activeLoader:null,activeProcessor:null},l=null,o={},r=x=>n.status=x,s=(x,...R)=>{n.released||n.frozen||E.fire(x,...R)},p=()=>ui(n.file.name),c=()=>n.file.type,d=()=>n.file.size,m=()=>n.file,u=(x,R,z)=>{if(n.source=x,E.fireSync("init"),n.file){E.fireSync("load-skip");return}n.file=Vs(x),R.on("init",()=>{s("load-init")}),R.on("meta",P=>{n.file.size=P.size,n.file.filename=P.filename,P.source&&(e=re.LIMBO,n.serverFileReference=P.source,n.status=U.PROCESSING_COMPLETE),s("load-meta")}),R.on("progress",P=>{r(U.LOADING),s("load-progress",P)}),R.on("error",P=>{r(U.LOAD_ERROR),s("load-request-error",P)}),R.on("abort",()=>{r(U.INIT),s("load-abort")}),R.on("load",P=>{n.activeLoader=null;let A=w=>{n.file=Je(w)?w:n.file,e===re.LIMBO&&n.serverFileReference?r(U.PROCESSING_COMPLETE):r(U.IDLE),s("load")},B=w=>{n.file=P,s("load-meta"),r(U.LOAD_ERROR),s("load-file-error",w)};if(n.serverFileReference){A(P);return}z(P,A,B)}),R.setSource(x),n.activeLoader=R,R.load()},g=()=>{n.activeLoader&&n.activeLoader.load()},f=()=>{if(n.activeLoader){n.activeLoader.abort();return}r(U.INIT),s("load-abort")},h=(x,R)=>{if(n.processingAborted){n.processingAborted=!1;return}if(r(U.PROCESSING),l=null,!(n.file instanceof Blob)){E.on("load",()=>{h(x,R)});return}x.on("load",A=>{n.transferId=null,n.serverFileReference=A}),x.on("transfer",A=>{n.transferId=A}),x.on("load-perceived",A=>{n.activeProcessor=null,n.transferId=null,n.serverFileReference=A,r(U.PROCESSING_COMPLETE),s("process-complete",A)}),x.on("start",()=>{s("process-start")}),x.on("error",A=>{n.activeProcessor=null,r(U.PROCESSING_ERROR),s("process-error",A)}),x.on("abort",A=>{n.activeProcessor=null,n.serverFileReference=A,r(U.IDLE),s("process-abort"),l&&l()}),x.on("progress",A=>{s("process-progress",A)});let z=A=>{n.archived||x.process(A,{...o})},P=console.error;R(n.file,z,P),n.activeProcessor=x},I=()=>{n.processingAborted=!1,r(U.PROCESSING_QUEUED)},b=()=>new Promise(x=>{if(!n.activeProcessor){n.processingAborted=!0,r(U.IDLE),s("process-abort"),x();return}l=()=>{x()},n.activeProcessor.abort()}),T=(x,R)=>new Promise((z,P)=>{let A=n.serverFileReference!==null?n.serverFileReference:n.transferId;if(A===null){z();return}x(A,()=>{n.serverFileReference=null,n.transferId=null,z()},B=>{if(!R){z();return}r(U.PROCESSING_REVERT_ERROR),s("process-revert-error"),P(B)}),r(U.IDLE),s("process-revert")}),v=(x,R,z)=>{let P=x.split("."),A=P[0],B=P.pop(),w=o;P.forEach(O=>w=w[O]),JSON.stringify(w[B])!==JSON.stringify(R)&&(w[B]=R,s("metadata-update",{key:A,value:o[A],silent:z}))},E={id:{get:()=>a},origin:{get:()=>e,set:x=>e=x},serverId:{get:()=>n.serverFileReference},transferId:{get:()=>n.transferId},status:{get:()=>n.status},filename:{get:()=>n.file.name},filenameWithoutExtension:{get:()=>On(n.file.name)},fileExtension:{get:p},fileType:{get:c},fileSize:{get:d},file:{get:m},relativePath:{get:()=>n.file._relativePath},source:{get:()=>n.source},getMetadata:x=>Fn(x?o[x]:o),setMetadata:(x,R,z)=>{if(ce(x)){let P=x;return Object.keys(P).forEach(A=>{v(A,P[A],R)}),x}return v(x,R,z),R},extend:(x,R)=>_[x]=R,abortLoad:f,retryLoad:g,requestProcessing:I,abortProcessing:b,load:u,process:h,revert:T,...mi(),freeze:()=>n.frozen=!0,release:()=>n.released=!0,released:{get:()=>n.released},archive:()=>n.archived=!0,archived:{get:()=>n.archived},setFile:x=>n.file=x},_=We(E);return _},Us=(e,t)=>ke(t)?0:ge(t)?e.findIndex(i=>i.id===t):-1,Ha=(e,t)=>{let i=Us(e,t);if(!(i<0))return e[i]||null},ja=(e,t,i,a,n,l)=>{let o=Qe(null,e,{method:"GET",responseType:"blob"});return o.onload=r=>{let s=r.getAllResponseHeaders(),p=Xi(s).name||Dt(e);t(ie("load",r.status,ht(r.response,p),s))},o.onerror=r=>{i(ie("error",r.status,r.statusText,r.getAllResponseHeaders()))},o.onheaders=r=>{l(ie("headers",r.status,null,r.getAllResponseHeaders()))},o.ontimeout=Ze(i),o.onprogress=a,o.onabort=n,o},Ya=e=>(e.indexOf("//")===0&&(e=location.protocol+e),e.toLowerCase().replace("blob:","").replace(/([a-z])?:\/\//,"$1").split("/")[0]),Ws=e=>(e.indexOf(":")>-1||e.indexOf("//")>-1)&&Ya(location.href)!==Ya(e),Jt=e=>(...t)=>Xe(e)?e(...t):e,Hs=e=>!Je(e.file),wi=(e,t)=>{clearTimeout(t.listUpdateTimeout),t.listUpdateTimeout=setTimeout(()=>{e("DID_UPDATE_ITEMS",{items:Pe(t.items)})},0)},qa=(e,...t)=>new Promise(i=>{if(!e)return i(!0);let a=e(...t);if(a==null)return i(!0);if(typeof a=="boolean")return i(a);typeof a.then=="function"&&a.then(i)}),Li=(e,t)=>{e.items.sort((i,a)=>t(he(i),he(a)))},ye=(e,t)=>({query:i,success:a=()=>{},failure:n=()=>{},...l}={})=>{let o=Ke(e.items,i);if(!o){n({error:ie("error",0,"Item not found"),file:null});return}t(o,a,n,l||{})},js=(e,t,i)=>({ABORT_ALL:()=>{Pe(i.items).forEach(a=>{a.freeze(),a.abortLoad(),a.abortProcessing()})},DID_SET_FILES:({value:a=[]})=>{let n=a.map(o=>({source:o.source?o.source:o,options:o.options})),l=Pe(i.items);l.forEach(o=>{n.find(r=>r.source===o.source||r.source===o.file)||e("REMOVE_ITEM",{query:o,remove:!1})}),l=Pe(i.items),n.forEach((o,r)=>{l.find(s=>s.source===o.source||s.file===o.source)||e("ADD_ITEM",{...o,interactionMethod:Re.NONE,index:r})})},DID_UPDATE_ITEM_METADATA:({id:a,action:n,change:l})=>{l.silent||(clearTimeout(i.itemUpdateTimeout),i.itemUpdateTimeout=setTimeout(()=>{let o=Ha(i.items,a);if(!t("IS_ASYNC")){Ae("SHOULD_PREPARE_OUTPUT",!1,{item:o,query:t,action:n,change:l}).then(c=>{let d=t("GET_BEFORE_PREPARE_FILE");d&&(c=d(o,c)),c&&e("REQUEST_PREPARE_OUTPUT",{query:a,item:o,success:m=>{e("DID_PREPARE_OUTPUT",{id:a,file:m})}},!0)});return}o.origin===re.LOCAL&&e("DID_LOAD_ITEM",{id:o.id,error:null,serverFileReference:o.source});let r=()=>{setTimeout(()=>{e("REQUEST_ITEM_PROCESSING",{query:a})},32)},s=c=>{o.revert(Pt(i.options.server.url,i.options.server.revert),t("GET_FORCE_REVERT")).then(c?r:()=>{}).catch(()=>{})},p=c=>{o.abortProcessing().then(c?r:()=>{})};if(o.status===U.PROCESSING_COMPLETE)return s(i.options.instantUpload);if(o.status===U.PROCESSING)return p(i.options.instantUpload);i.options.instantUpload&&r()},0))},MOVE_ITEM:({query:a,index:n})=>{let l=Ke(i.items,a);if(!l)return;let o=i.items.indexOf(l);n=Ln(n,0,i.items.length-1),o!==n&&i.items.splice(n,0,i.items.splice(o,1)[0])},SORT:({compare:a})=>{Li(i,a),e("DID_SORT_ITEMS",{items:t("GET_ACTIVE_ITEMS")})},ADD_ITEMS:({items:a,index:n,interactionMethod:l,success:o=()=>{},failure:r=()=>{}})=>{let s=n;if(n===-1||typeof n>"u"){let u=t("GET_ITEM_INSERT_LOCATION"),g=t("GET_TOTAL_ITEMS");s=u==="before"?0:g}let p=t("GET_IGNORED_FILES"),c=u=>Je(u)?!p.includes(u.name.toLowerCase()):!ke(u),m=a.filter(c).map(u=>new Promise((g,f)=>{e("ADD_ITEM",{interactionMethod:l,source:u.source||u,success:g,failure:f,index:s++,options:u.options||{}})}));Promise.all(m).then(o).catch(r)},ADD_ITEM:({source:a,index:n=-1,interactionMethod:l,success:o=()=>{},failure:r=()=>{},options:s={}})=>{if(ke(a)){r({error:ie("error",0,"No source"),file:null});return}if(Je(a)&&i.options.ignoredFiles.includes(a.name.toLowerCase()))return;if(!vs(i)){if(i.options.allowMultiple||!i.options.allowMultiple&&!i.options.allowReplace){let b=ie("warning",0,"Max files");e("DID_THROW_MAX_FILES",{source:a,error:b}),r({error:b,file:null});return}let I=Pe(i.items)[0];if(I.status===U.PROCESSING_COMPLETE||I.status===U.PROCESSING_REVERT_ERROR){let b=t("GET_FORCE_REVERT");if(I.revert(Pt(i.options.server.url,i.options.server.revert),b).then(()=>{b&&e("ADD_ITEM",{source:a,index:n,interactionMethod:l,success:o,failure:r,options:s})}).catch(()=>{}),b)return}e("REMOVE_ITEM",{query:I.id})}let p=s.type==="local"?re.LOCAL:s.type==="limbo"?re.LIMBO:re.INPUT,c=Gs(p,p===re.INPUT?null:a,s.file);Object.keys(s.metadata||{}).forEach(I=>{c.setMetadata(I,s.metadata[I])}),tt("DID_CREATE_ITEM",c,{query:t,dispatch:e});let d=t("GET_ITEM_INSERT_LOCATION");i.options.itemInsertLocationFreedom||(n=d==="before"?-1:i.items.length),ys(i.items,c,n),Xe(d)&&a&&Li(i,d);let m=c.id;c.on("init",()=>{e("DID_INIT_ITEM",{id:m})}),c.on("load-init",()=>{e("DID_START_ITEM_LOAD",{id:m})}),c.on("load-meta",()=>{e("DID_UPDATE_ITEM_META",{id:m})}),c.on("load-progress",I=>{e("DID_UPDATE_ITEM_LOAD_PROGRESS",{id:m,progress:I})}),c.on("load-request-error",I=>{let b=Jt(i.options.labelFileLoadError)(I);if(I.code>=400&&I.code<500){e("DID_THROW_ITEM_INVALID",{id:m,error:I,status:{main:b,sub:`${I.code} (${I.body})`}}),r({error:I,file:he(c)});return}e("DID_THROW_ITEM_LOAD_ERROR",{id:m,error:I,status:{main:b,sub:i.options.labelTapToRetry}})}),c.on("load-file-error",I=>{e("DID_THROW_ITEM_INVALID",{id:m,error:I.status,status:I.status}),r({error:I.status,file:he(c)})}),c.on("load-abort",()=>{e("REMOVE_ITEM",{query:m})}),c.on("load-skip",()=>{c.on("metadata-update",I=>{Je(c.file)&&e("DID_UPDATE_ITEM_METADATA",{id:m,change:I})}),e("COMPLETE_LOAD_ITEM",{query:m,item:c,data:{source:a,success:o}})}),c.on("load",()=>{let I=b=>{if(!b){e("REMOVE_ITEM",{query:m});return}c.on("metadata-update",T=>{e("DID_UPDATE_ITEM_METADATA",{id:m,change:T})}),Ae("SHOULD_PREPARE_OUTPUT",!1,{item:c,query:t}).then(T=>{let v=t("GET_BEFORE_PREPARE_FILE");v&&(T=v(c,T));let y=()=>{e("COMPLETE_LOAD_ITEM",{query:m,item:c,data:{source:a,success:o}}),wi(e,i)};if(T){e("REQUEST_PREPARE_OUTPUT",{query:m,item:c,success:E=>{e("DID_PREPARE_OUTPUT",{id:m,file:E}),y()}},!0);return}y()})};Ae("DID_LOAD_ITEM",c,{query:t,dispatch:e}).then(()=>{qa(t("GET_BEFORE_ADD_FILE"),he(c)).then(I)}).catch(b=>{if(!b||!b.error||!b.status)return I(!1);e("DID_THROW_ITEM_INVALID",{id:m,error:b.error,status:b.status})})}),c.on("process-start",()=>{e("DID_START_ITEM_PROCESSING",{id:m})}),c.on("process-progress",I=>{e("DID_UPDATE_ITEM_PROCESS_PROGRESS",{id:m,progress:I})}),c.on("process-error",I=>{e("DID_THROW_ITEM_PROCESSING_ERROR",{id:m,error:I,status:{main:Jt(i.options.labelFileProcessingError)(I),sub:i.options.labelTapToRetry}})}),c.on("process-revert-error",I=>{e("DID_THROW_ITEM_PROCESSING_REVERT_ERROR",{id:m,error:I,status:{main:Jt(i.options.labelFileProcessingRevertError)(I),sub:i.options.labelTapToRetry}})}),c.on("process-complete",I=>{e("DID_COMPLETE_ITEM_PROCESSING",{id:m,error:null,serverFileReference:I}),e("DID_DEFINE_VALUE",{id:m,value:I})}),c.on("process-abort",()=>{e("DID_ABORT_ITEM_PROCESSING",{id:m})}),c.on("process-revert",()=>{e("DID_REVERT_ITEM_PROCESSING",{id:m}),e("DID_DEFINE_VALUE",{id:m,value:null})}),e("DID_ADD_ITEM",{id:m,index:n,interactionMethod:l}),wi(e,i);let{url:u,load:g,restore:f,fetch:h}=i.options.server||{};c.load(a,Fs(p===re.INPUT?ge(a)&&Ws(a)&&h?_i(u,h):ja:p===re.LIMBO?_i(u,f):_i(u,g)),(I,b,T)=>{Ae("LOAD_FILE",I,{query:t}).then(b).catch(T)})},REQUEST_PREPARE_OUTPUT:({item:a,success:n,failure:l=()=>{}})=>{let o={error:ie("error",0,"Item not found"),file:null};if(a.archived)return l(o);Ae("PREPARE_OUTPUT",a.file,{query:t,item:a}).then(r=>{Ae("COMPLETE_PREPARE_OUTPUT",r,{query:t,item:a}).then(s=>{if(a.archived)return l(o);n(s)})})},COMPLETE_LOAD_ITEM:({item:a,data:n})=>{let{success:l,source:o}=n,r=t("GET_ITEM_INSERT_LOCATION");if(Xe(r)&&o&&Li(i,r),e("DID_LOAD_ITEM",{id:a.id,error:null,serverFileReference:a.origin===re.INPUT?null:o}),l(he(a)),a.origin===re.LOCAL){e("DID_LOAD_LOCAL_ITEM",{id:a.id});return}if(a.origin===re.LIMBO){e("DID_COMPLETE_ITEM_PROCESSING",{id:a.id,error:null,serverFileReference:o}),e("DID_DEFINE_VALUE",{id:a.id,value:a.serverId||o});return}t("IS_ASYNC")&&i.options.instantUpload&&e("REQUEST_ITEM_PROCESSING",{query:a.id})},RETRY_ITEM_LOAD:ye(i,a=>{a.retryLoad()}),REQUEST_ITEM_PREPARE:ye(i,(a,n,l)=>{e("REQUEST_PREPARE_OUTPUT",{query:a.id,item:a,success:o=>{e("DID_PREPARE_OUTPUT",{id:a.id,file:o}),n({file:a,output:o})},failure:l},!0)}),REQUEST_ITEM_PROCESSING:ye(i,(a,n,l)=>{if(!(a.status===U.IDLE||a.status===U.PROCESSING_ERROR)){let r=()=>e("REQUEST_ITEM_PROCESSING",{query:a,success:n,failure:l}),s=()=>document.hidden?r():setTimeout(r,32);a.status===U.PROCESSING_COMPLETE||a.status===U.PROCESSING_REVERT_ERROR?a.revert(Pt(i.options.server.url,i.options.server.revert),t("GET_FORCE_REVERT")).then(s).catch(()=>{}):a.status===U.PROCESSING&&a.abortProcessing().then(s);return}a.status!==U.PROCESSING_QUEUED&&(a.requestProcessing(),e("DID_REQUEST_ITEM_PROCESSING",{id:a.id}),e("PROCESS_ITEM",{query:a,success:n,failure:l},!0))}),PROCESS_ITEM:ye(i,(a,n,l)=>{let o=t("GET_MAX_PARALLEL_UPLOADS");if(t("GET_ITEMS_BY_STATUS",U.PROCESSING).length===o){i.processingQueue.push({id:a.id,success:n,failure:l});return}if(a.status===U.PROCESSING)return;let s=()=>{let c=i.processingQueue.shift();if(!c)return;let{id:d,success:m,failure:u}=c,g=Ke(i.items,d);if(!g||g.archived){s();return}e("PROCESS_ITEM",{query:d,success:m,failure:u},!0)};a.onOnce("process-complete",()=>{n(he(a)),s();let c=i.options.server;if(i.options.instantUpload&&a.origin===re.LOCAL&&Xe(c.remove)){let u=()=>{};a.origin=re.LIMBO,i.options.server.remove(a.source,u,u)}t("GET_ITEMS_BY_STATUS",U.PROCESSING_COMPLETE).length===i.items.length&&e("DID_COMPLETE_ITEM_PROCESSING_ALL")}),a.onOnce("process-error",c=>{l({error:c,file:he(a)}),s()});let p=i.options;a.process(ks(Bs(p.server.url,p.server.process,p.name,{chunkTransferId:a.transferId,chunkServer:p.server.patch,chunkUploads:p.chunkUploads,chunkForce:p.chunkForce,chunkSize:p.chunkSize,chunkRetryDelays:p.chunkRetryDelays}),{allowMinimumUploadDuration:t("GET_ALLOW_MINIMUM_UPLOAD_DURATION")}),(c,d,m)=>{Ae("PREPARE_OUTPUT",c,{query:t,item:a}).then(u=>{e("DID_PREPARE_OUTPUT",{id:a.id,file:u}),d(u)}).catch(m)})}),RETRY_ITEM_PROCESSING:ye(i,a=>{e("REQUEST_ITEM_PROCESSING",{query:a})}),REQUEST_REMOVE_ITEM:ye(i,a=>{qa(t("GET_BEFORE_REMOVE_FILE"),he(a)).then(n=>{n&&e("REMOVE_ITEM",{query:a})})}),RELEASE_ITEM:ye(i,a=>{a.release()}),REMOVE_ITEM:ye(i,(a,n,l,o)=>{let r=()=>{let p=a.id;Ha(i.items,p).archive(),e("DID_REMOVE_ITEM",{error:null,id:p,item:a}),wi(e,i),n(he(a))},s=i.options.server;a.origin===re.LOCAL&&s&&Xe(s.remove)&&o.remove!==!1?(e("DID_START_ITEM_REMOVE",{id:a.id}),s.remove(a.source,()=>r(),p=>{e("DID_THROW_ITEM_REMOVE_ERROR",{id:a.id,error:ie("error",0,p,null),status:{main:Jt(i.options.labelFileRemoveError)(p),sub:i.options.labelTapToRetry}})})):((o.revert&&a.origin!==re.LOCAL&&a.serverId!==null||i.options.chunkUploads&&a.file.size>i.options.chunkSize||i.options.chunkUploads&&i.options.chunkForce)&&a.revert(Pt(i.options.server.url,i.options.server.revert),t("GET_FORCE_REVERT")),r())}),ABORT_ITEM_LOAD:ye(i,a=>{a.abortLoad()}),ABORT_ITEM_PROCESSING:ye(i,a=>{if(a.serverId){e("REVERT_ITEM_PROCESSING",{id:a.id});return}a.abortProcessing().then(()=>{i.options.instantUpload&&e("REMOVE_ITEM",{query:a.id})})}),REQUEST_REVERT_ITEM_PROCESSING:ye(i,a=>{if(!i.options.instantUpload){e("REVERT_ITEM_PROCESSING",{query:a});return}let n=r=>{r&&e("REVERT_ITEM_PROCESSING",{query:a})},l=t("GET_BEFORE_REMOVE_FILE");if(!l)return n(!0);let o=l(he(a));if(o==null)return n(!0);if(typeof o=="boolean")return n(o);typeof o.then=="function"&&o.then(n)}),REVERT_ITEM_PROCESSING:ye(i,a=>{a.revert(Pt(i.options.server.url,i.options.server.revert),t("GET_FORCE_REVERT")).then(()=>{(i.options.instantUpload||Hs(a))&&e("REMOVE_ITEM",{query:a.id})}).catch(()=>{})}),SET_OPTIONS:({options:a})=>{let n=Object.keys(a),l=Ys.filter(r=>n.includes(r));[...l,...Object.keys(a).filter(r=>!l.includes(r))].forEach(r=>{e(`SET_${pi(r,"_").toUpperCase()}`,{value:a[r]})})}}),Ys=["server"],Ki=e=>e,Ve=e=>document.createElement(e),ae=(e,t)=>{let i=e.childNodes[0];i?t!==i.nodeValue&&(i.nodeValue=t):(i=document.createTextNode(t),e.appendChild(i))},$a=(e,t,i,a)=>{let n=(a%360-90)*Math.PI/180;return{x:e+i*Math.cos(n),y:t+i*Math.sin(n)}},qs=(e,t,i,a,n,l)=>{let o=$a(e,t,i,n),r=$a(e,t,i,a);return["M",o.x,o.y,"A",i,i,0,l,0,r.x,r.y].join(" ")},$s=(e,t,i,a,n)=>{let l=1;return n>a&&n-a<=.5&&(l=0),a>n&&a-n>=.5&&(l=0),qs(e,t,i,Math.min(.9999,a)*360,Math.min(.9999,n)*360,l)},Xs=({root:e,props:t})=>{t.spin=!1,t.progress=0,t.opacity=0;let i=li("svg");e.ref.path=li("path",{"stroke-width":2,"stroke-linecap":"round"}),i.appendChild(e.ref.path),e.ref.svg=i,e.appendChild(i)},Ks=({root:e,props:t})=>{if(t.opacity===0)return;t.align&&(e.element.dataset.align=t.align);let i=parseInt(se(e.ref.path,"stroke-width"),10),a=e.rect.element.width*.5,n=0,l=0;t.spin?(n=0,l=.5):(n=0,l=t.progress);let o=$s(a,a,a-i,n,l);se(e.ref.path,"d",o),se(e.ref.path,"stroke-opacity",t.spin||t.progress>0?1:0)},Xa=ne({tag:"div",name:"progress-indicator",ignoreRectUpdate:!0,ignoreRect:!0,create:Xs,write:Ks,mixins:{apis:["progress","spin","align"],styles:["opacity"],animations:{opacity:{type:"tween",duration:500},progress:{type:"spring",stiffness:.95,damping:.65,mass:10}}}}),Qs=({root:e,props:t})=>{e.element.innerHTML=(t.icon||"")+`${t.label}`,t.isDisabled=!1},Zs=({root:e,props:t})=>{let{isDisabled:i}=t,a=e.query("GET_DISABLED")||t.opacity===0;a&&!i?(t.isDisabled=!0,se(e.element,"disabled","disabled")):!a&&i&&(t.isDisabled=!1,e.element.removeAttribute("disabled"))},Dn=ne({tag:"button",attributes:{type:"button"},ignoreRect:!0,ignoreRectUpdate:!0,name:"file-action-button",mixins:{apis:["label"],styles:["translateX","translateY","scaleX","scaleY","opacity"],animations:{scaleX:"spring",scaleY:"spring",translateX:"spring",translateY:"spring",opacity:{type:"tween",duration:250}},listeners:!0},create:Qs,write:Zs}),Cn=(e,t=".",i=1e3,a={})=>{let{labelBytes:n="bytes",labelKilobytes:l="KB",labelMegabytes:o="MB",labelGigabytes:r="GB"}=a;e=Math.round(Math.abs(e));let s=i,p=i*i,c=i*i*i;return ee.toFixed(t).split(".").filter(a=>a!=="0").join(i),Js=({root:e,props:t})=>{let i=Ve("span");i.className="filepond--file-info-main",se(i,"aria-hidden","true"),e.appendChild(i),e.ref.fileName=i;let a=Ve("span");a.className="filepond--file-info-sub",e.appendChild(a),e.ref.fileSize=a,ae(a,e.query("GET_LABEL_FILE_WAITING_FOR_SIZE")),ae(i,Ki(e.query("GET_ITEM_NAME",t.id)))},Fi=({root:e,props:t})=>{ae(e.ref.fileSize,Cn(e.query("GET_ITEM_SIZE",t.id),".",e.query("GET_FILE_SIZE_BASE"),e.query("GET_FILE_SIZE_LABELS",e.query))),ae(e.ref.fileName,Ki(e.query("GET_ITEM_NAME",t.id)))},Qa=({root:e,props:t})=>{if(bt(e.query("GET_ITEM_SIZE",t.id))){Fi({root:e,props:t});return}ae(e.ref.fileSize,e.query("GET_LABEL_FILE_SIZE_NOT_AVAILABLE"))},ec=ne({name:"file-info",ignoreRect:!0,ignoreRectUpdate:!0,write:fe({DID_LOAD_ITEM:Fi,DID_UPDATE_ITEM_META:Fi,DID_THROW_ITEM_LOAD_ERROR:Qa,DID_THROW_ITEM_INVALID:Qa}),didCreateView:e=>{tt("CREATE_VIEW",{...e,view:e})},create:Js,mixins:{styles:["translateX","translateY"],animations:{translateX:"spring",translateY:"spring"}}}),Bn=e=>Math.round(e*100),tc=({root:e})=>{let t=Ve("span");t.className="filepond--file-status-main",e.appendChild(t),e.ref.main=t;let i=Ve("span");i.className="filepond--file-status-sub",e.appendChild(i),e.ref.sub=i,Nn({root:e,action:{progress:null}})},Nn=({root:e,action:t})=>{let i=t.progress===null?e.query("GET_LABEL_FILE_LOADING"):`${e.query("GET_LABEL_FILE_LOADING")} ${Bn(t.progress)}%`;ae(e.ref.main,i),ae(e.ref.sub,e.query("GET_LABEL_TAP_TO_CANCEL"))},ic=({root:e,action:t})=>{let i=t.progress===null?e.query("GET_LABEL_FILE_PROCESSING"):`${e.query("GET_LABEL_FILE_PROCESSING")} ${Bn(t.progress)}%`;ae(e.ref.main,i),ae(e.ref.sub,e.query("GET_LABEL_TAP_TO_CANCEL"))},ac=({root:e})=>{ae(e.ref.main,e.query("GET_LABEL_FILE_PROCESSING")),ae(e.ref.sub,e.query("GET_LABEL_TAP_TO_CANCEL"))},nc=({root:e})=>{ae(e.ref.main,e.query("GET_LABEL_FILE_PROCESSING_ABORTED")),ae(e.ref.sub,e.query("GET_LABEL_TAP_TO_RETRY"))},lc=({root:e})=>{ae(e.ref.main,e.query("GET_LABEL_FILE_PROCESSING_COMPLETE")),ae(e.ref.sub,e.query("GET_LABEL_TAP_TO_UNDO"))},Za=({root:e})=>{ae(e.ref.main,""),ae(e.ref.sub,"")},zt=({root:e,action:t})=>{ae(e.ref.main,t.status.main),ae(e.ref.sub,t.status.sub)},oc=ne({name:"file-status",ignoreRect:!0,ignoreRectUpdate:!0,write:fe({DID_LOAD_ITEM:Za,DID_REVERT_ITEM_PROCESSING:Za,DID_REQUEST_ITEM_PROCESSING:ac,DID_ABORT_ITEM_PROCESSING:nc,DID_COMPLETE_ITEM_PROCESSING:lc,DID_UPDATE_ITEM_PROCESS_PROGRESS:ic,DID_UPDATE_ITEM_LOAD_PROGRESS:Nn,DID_THROW_ITEM_LOAD_ERROR:zt,DID_THROW_ITEM_INVALID:zt,DID_THROW_ITEM_PROCESSING_ERROR:zt,DID_THROW_ITEM_PROCESSING_REVERT_ERROR:zt,DID_THROW_ITEM_REMOVE_ERROR:zt}),didCreateView:e=>{tt("CREATE_VIEW",{...e,view:e})},create:tc,mixins:{styles:["translateX","translateY","opacity"],animations:{opacity:{type:"tween",duration:250},translateX:"spring",translateY:"spring"}}}),Di={AbortItemLoad:{label:"GET_LABEL_BUTTON_ABORT_ITEM_LOAD",action:"ABORT_ITEM_LOAD",className:"filepond--action-abort-item-load",align:"LOAD_INDICATOR_POSITION"},RetryItemLoad:{label:"GET_LABEL_BUTTON_RETRY_ITEM_LOAD",action:"RETRY_ITEM_LOAD",icon:"GET_ICON_RETRY",className:"filepond--action-retry-item-load",align:"BUTTON_PROCESS_ITEM_POSITION"},RemoveItem:{label:"GET_LABEL_BUTTON_REMOVE_ITEM",action:"REQUEST_REMOVE_ITEM",icon:"GET_ICON_REMOVE",className:"filepond--action-remove-item",align:"BUTTON_REMOVE_ITEM_POSITION"},ProcessItem:{label:"GET_LABEL_BUTTON_PROCESS_ITEM",action:"REQUEST_ITEM_PROCESSING",icon:"GET_ICON_PROCESS",className:"filepond--action-process-item",align:"BUTTON_PROCESS_ITEM_POSITION"},AbortItemProcessing:{label:"GET_LABEL_BUTTON_ABORT_ITEM_PROCESSING",action:"ABORT_ITEM_PROCESSING",className:"filepond--action-abort-item-processing",align:"BUTTON_PROCESS_ITEM_POSITION"},RetryItemProcessing:{label:"GET_LABEL_BUTTON_RETRY_ITEM_PROCESSING",action:"RETRY_ITEM_PROCESSING",icon:"GET_ICON_RETRY",className:"filepond--action-retry-item-processing",align:"BUTTON_PROCESS_ITEM_POSITION"},RevertItemProcessing:{label:"GET_LABEL_BUTTON_UNDO_ITEM_PROCESSING",action:"REQUEST_REVERT_ITEM_PROCESSING",icon:"GET_ICON_UNDO",className:"filepond--action-revert-item-processing",align:"BUTTON_PROCESS_ITEM_POSITION"}},Ci=[];te(Di,e=>{Ci.push(e)});var Ie=e=>{if(Bi(e)==="right")return 0;let t=e.ref.buttonRemoveItem.rect.element;return t.hidden?null:t.width+t.left},rc=e=>e.ref.buttonAbortItemLoad.rect.element.width,ei=e=>Math.floor(e.ref.buttonRemoveItem.rect.element.height/4),sc=e=>Math.floor(e.ref.buttonRemoveItem.rect.element.left/2),cc=e=>e.query("GET_STYLE_LOAD_INDICATOR_POSITION"),dc=e=>e.query("GET_STYLE_PROGRESS_INDICATOR_POSITION"),Bi=e=>e.query("GET_STYLE_BUTTON_REMOVE_ITEM_POSITION"),pc={buttonAbortItemLoad:{opacity:0},buttonRetryItemLoad:{opacity:0},buttonRemoveItem:{opacity:0},buttonProcessItem:{opacity:0},buttonAbortItemProcessing:{opacity:0},buttonRetryItemProcessing:{opacity:0},buttonRevertItemProcessing:{opacity:0},loadProgressIndicator:{opacity:0,align:cc},processProgressIndicator:{opacity:0,align:dc},processingCompleteIndicator:{opacity:0,scaleX:.75,scaleY:.75},info:{translateX:0,translateY:0,opacity:0},status:{translateX:0,translateY:0,opacity:0}},Ja={buttonRemoveItem:{opacity:1},buttonProcessItem:{opacity:1},info:{translateX:Ie},status:{translateX:Ie}},Mi={buttonAbortItemProcessing:{opacity:1},processProgressIndicator:{opacity:1},status:{opacity:1}},mt={DID_THROW_ITEM_INVALID:{buttonRemoveItem:{opacity:1},info:{translateX:Ie},status:{translateX:Ie,opacity:1}},DID_START_ITEM_LOAD:{buttonAbortItemLoad:{opacity:1},loadProgressIndicator:{opacity:1},status:{opacity:1}},DID_THROW_ITEM_LOAD_ERROR:{buttonRetryItemLoad:{opacity:1},buttonRemoveItem:{opacity:1},info:{translateX:Ie},status:{opacity:1}},DID_START_ITEM_REMOVE:{processProgressIndicator:{opacity:1,align:Bi},info:{translateX:Ie},status:{opacity:0}},DID_THROW_ITEM_REMOVE_ERROR:{processProgressIndicator:{opacity:0,align:Bi},buttonRemoveItem:{opacity:1},info:{translateX:Ie},status:{opacity:1,translateX:Ie}},DID_LOAD_ITEM:Ja,DID_LOAD_LOCAL_ITEM:{buttonRemoveItem:{opacity:1},info:{translateX:Ie},status:{translateX:Ie}},DID_START_ITEM_PROCESSING:Mi,DID_REQUEST_ITEM_PROCESSING:Mi,DID_UPDATE_ITEM_PROCESS_PROGRESS:Mi,DID_COMPLETE_ITEM_PROCESSING:{buttonRevertItemProcessing:{opacity:1},info:{opacity:1},status:{opacity:1}},DID_THROW_ITEM_PROCESSING_ERROR:{buttonRemoveItem:{opacity:1},buttonRetryItemProcessing:{opacity:1},status:{opacity:1},info:{translateX:Ie}},DID_THROW_ITEM_PROCESSING_REVERT_ERROR:{buttonRevertItemProcessing:{opacity:1},status:{opacity:1},info:{opacity:1}},DID_ABORT_ITEM_PROCESSING:{buttonRemoveItem:{opacity:1},buttonProcessItem:{opacity:1},info:{translateX:Ie},status:{opacity:1}},DID_REVERT_ITEM_PROCESSING:Ja},mc=ne({create:({root:e})=>{e.element.innerHTML=e.query("GET_ICON_DONE")},name:"processing-complete-indicator",ignoreRect:!0,mixins:{styles:["scaleX","scaleY","opacity"],animations:{scaleX:"spring",scaleY:"spring",opacity:{type:"tween",duration:250}}}}),uc=({root:e,props:t})=>{let i=Object.keys(Di).reduce((g,f)=>(g[f]={...Di[f]},g),{}),{id:a}=t,n=e.query("GET_ALLOW_REVERT"),l=e.query("GET_ALLOW_REMOVE"),o=e.query("GET_ALLOW_PROCESS"),r=e.query("GET_INSTANT_UPLOAD"),s=e.query("IS_ASYNC"),p=e.query("GET_STYLE_BUTTON_REMOVE_ITEM_ALIGN"),c;s?o&&!n?c=g=>!/RevertItemProcessing/.test(g):!o&&n?c=g=>!/ProcessItem|RetryItemProcessing|AbortItemProcessing/.test(g):!o&&!n&&(c=g=>!/Process/.test(g)):c=g=>!/Process/.test(g);let d=c?Ci.filter(c):Ci.concat();if(r&&n&&(i.RevertItemProcessing.label="GET_LABEL_BUTTON_REMOVE_ITEM",i.RevertItemProcessing.icon="GET_ICON_REMOVE"),s&&!n){let g=mt.DID_COMPLETE_ITEM_PROCESSING;g.info.translateX=sc,g.info.translateY=ei,g.status.translateY=ei,g.processingCompleteIndicator={opacity:1,scaleX:1,scaleY:1}}if(s&&!o&&(["DID_START_ITEM_PROCESSING","DID_REQUEST_ITEM_PROCESSING","DID_UPDATE_ITEM_PROCESS_PROGRESS","DID_THROW_ITEM_PROCESSING_ERROR"].forEach(g=>{mt[g].status.translateY=ei}),mt.DID_THROW_ITEM_PROCESSING_ERROR.status.translateX=rc),p&&n){i.RevertItemProcessing.align="BUTTON_REMOVE_ITEM_POSITION";let g=mt.DID_COMPLETE_ITEM_PROCESSING;g.info.translateX=Ie,g.status.translateY=ei,g.processingCompleteIndicator={opacity:1,scaleX:1,scaleY:1}}l||(i.RemoveItem.disabled=!0),te(i,(g,f)=>{let h=e.createChildView(Dn,{label:e.query(f.label),icon:e.query(f.icon),opacity:0});d.includes(g)&&e.appendChildView(h),f.disabled&&(h.element.setAttribute("disabled","disabled"),h.element.setAttribute("hidden","hidden")),h.element.dataset.align=e.query(`GET_STYLE_${f.align}`),h.element.classList.add(f.className),h.on("click",I=>{I.stopPropagation(),!f.disabled&&e.dispatch(f.action,{query:a})}),e.ref[`button${g}`]=h}),e.ref.processingCompleteIndicator=e.appendChildView(e.createChildView(mc)),e.ref.processingCompleteIndicator.element.dataset.align=e.query("GET_STYLE_BUTTON_PROCESS_ITEM_POSITION"),e.ref.info=e.appendChildView(e.createChildView(ec,{id:a})),e.ref.status=e.appendChildView(e.createChildView(oc,{id:a}));let m=e.appendChildView(e.createChildView(Xa,{opacity:0,align:e.query("GET_STYLE_LOAD_INDICATOR_POSITION")}));m.element.classList.add("filepond--load-indicator"),e.ref.loadProgressIndicator=m;let u=e.appendChildView(e.createChildView(Xa,{opacity:0,align:e.query("GET_STYLE_PROGRESS_INDICATOR_POSITION")}));u.element.classList.add("filepond--process-indicator"),e.ref.processProgressIndicator=u,e.ref.activeStyles=[]},gc=({root:e,actions:t,props:i})=>{fc({root:e,actions:t,props:i});let a=t.concat().filter(n=>/^DID_/.test(n.type)).reverse().find(n=>mt[n.type]);if(a){e.ref.activeStyles=[];let n=mt[a.type];te(pc,(l,o)=>{let r=e.ref[l];te(o,(s,p)=>{let c=n[l]&&typeof n[l][s]<"u"?n[l][s]:p;e.ref.activeStyles.push({control:r,key:s,value:c})})})}e.ref.activeStyles.forEach(({control:n,key:l,value:o})=>{n[l]=typeof o=="function"?o(e):o})},fc=fe({DID_SET_LABEL_BUTTON_ABORT_ITEM_PROCESSING:({root:e,action:t})=>{e.ref.buttonAbortItemProcessing.label=t.value},DID_SET_LABEL_BUTTON_ABORT_ITEM_LOAD:({root:e,action:t})=>{e.ref.buttonAbortItemLoad.label=t.value},DID_SET_LABEL_BUTTON_ABORT_ITEM_REMOVAL:({root:e,action:t})=>{e.ref.buttonAbortItemRemoval.label=t.value},DID_REQUEST_ITEM_PROCESSING:({root:e})=>{e.ref.processProgressIndicator.spin=!0,e.ref.processProgressIndicator.progress=0},DID_START_ITEM_LOAD:({root:e})=>{e.ref.loadProgressIndicator.spin=!0,e.ref.loadProgressIndicator.progress=0},DID_START_ITEM_REMOVE:({root:e})=>{e.ref.processProgressIndicator.spin=!0,e.ref.processProgressIndicator.progress=0},DID_UPDATE_ITEM_LOAD_PROGRESS:({root:e,action:t})=>{e.ref.loadProgressIndicator.spin=!1,e.ref.loadProgressIndicator.progress=t.progress},DID_UPDATE_ITEM_PROCESS_PROGRESS:({root:e,action:t})=>{e.ref.processProgressIndicator.spin=!1,e.ref.processProgressIndicator.progress=t.progress}}),hc=ne({create:uc,write:gc,didCreateView:e=>{tt("CREATE_VIEW",{...e,view:e})},name:"file"}),bc=({root:e,props:t})=>{e.ref.fileName=Ve("legend"),e.appendChild(e.ref.fileName),e.ref.file=e.appendChildView(e.createChildView(hc,{id:t.id})),e.ref.data=!1},Ec=({root:e,props:t})=>{ae(e.ref.fileName,Ki(e.query("GET_ITEM_NAME",t.id)))},Tc=ne({create:bc,ignoreRect:!0,write:fe({DID_LOAD_ITEM:Ec}),didCreateView:e=>{tt("CREATE_VIEW",{...e,view:e})},tag:"fieldset",name:"file-wrapper"}),en={type:"spring",damping:.6,mass:7},Ic=({root:e,props:t})=>{[{name:"top"},{name:"center",props:{translateY:null,scaleY:null},mixins:{animations:{scaleY:en},styles:["translateY","scaleY"]}},{name:"bottom",props:{translateY:null},mixins:{animations:{translateY:en},styles:["translateY"]}}].forEach(i=>{vc(e,i,t.name)}),e.element.classList.add(`filepond--${t.name}`),e.ref.scalable=null},vc=(e,t,i)=>{let a=ne({name:`panel-${t.name} filepond--${i}`,mixins:t.mixins,ignoreRectUpdate:!0}),n=e.createChildView(a,t.props);e.ref[t.name]=e.appendChildView(n)},xc=({root:e,props:t})=>{if((e.ref.scalable===null||t.scalable!==e.ref.scalable)&&(e.ref.scalable=Tn(t.scalable)?t.scalable:!0,e.element.dataset.scalable=e.ref.scalable),!t.height)return;let i=e.ref.top.rect.element,a=e.ref.bottom.rect.element,n=Math.max(i.height+a.height,t.height);e.ref.center.translateY=i.height,e.ref.center.scaleY=(n-i.height-a.height)/100,e.ref.bottom.translateY=n-a.height},kn=ne({name:"panel",read:({root:e,props:t})=>t.heightCurrent=e.ref.bottom.translateY,write:xc,create:Ic,ignoreRect:!0,mixins:{apis:["height","heightCurrent","scalable"]}}),yc=e=>{let t=e.map(a=>a.id),i;return{setIndex:a=>{i=a},getIndex:()=>i,getItemIndex:a=>t.indexOf(a.id)}},tn={type:"spring",stiffness:.75,damping:.45,mass:10},an="spring",nn={DID_START_ITEM_LOAD:"busy",DID_UPDATE_ITEM_LOAD_PROGRESS:"loading",DID_THROW_ITEM_INVALID:"load-invalid",DID_THROW_ITEM_LOAD_ERROR:"load-error",DID_LOAD_ITEM:"idle",DID_THROW_ITEM_REMOVE_ERROR:"remove-error",DID_START_ITEM_REMOVE:"busy",DID_START_ITEM_PROCESSING:"busy processing",DID_REQUEST_ITEM_PROCESSING:"busy processing",DID_UPDATE_ITEM_PROCESS_PROGRESS:"processing",DID_COMPLETE_ITEM_PROCESSING:"processing-complete",DID_THROW_ITEM_PROCESSING_ERROR:"processing-error",DID_THROW_ITEM_PROCESSING_REVERT_ERROR:"processing-revert-error",DID_ABORT_ITEM_PROCESSING:"cancelled",DID_REVERT_ITEM_PROCESSING:"idle"},Rc=({root:e,props:t})=>{if(e.ref.handleClick=a=>e.dispatch("DID_ACTIVATE_ITEM",{id:t.id}),e.element.id=`filepond--item-${t.id}`,e.element.addEventListener("click",e.ref.handleClick),e.ref.container=e.appendChildView(e.createChildView(Tc,{id:t.id})),e.ref.panel=e.appendChildView(e.createChildView(kn,{name:"item-panel"})),e.ref.panel.height=null,t.markedForRemoval=!1,!e.query("GET_ALLOW_REORDER"))return;e.element.dataset.dragState="idle";let i=a=>{if(!a.isPrimary)return;let n=!1,l={x:a.pageX,y:a.pageY};t.dragOrigin={x:e.translateX,y:e.translateY},t.dragCenter={x:a.offsetX,y:a.offsetY};let o=yc(e.query("GET_ACTIVE_ITEMS"));e.dispatch("DID_GRAB_ITEM",{id:t.id,dragState:o});let r=d=>{if(!d.isPrimary)return;d.stopPropagation(),d.preventDefault(),t.dragOffset={x:d.pageX-l.x,y:d.pageY-l.y},t.dragOffset.x*t.dragOffset.x+t.dragOffset.y*t.dragOffset.y>16&&!n&&(n=!0,e.element.removeEventListener("click",e.ref.handleClick)),e.dispatch("DID_DRAG_ITEM",{id:t.id,dragState:o})},s=d=>{d.isPrimary&&(t.dragOffset={x:d.pageX-l.x,y:d.pageY-l.y},c())},p=()=>{c()},c=()=>{document.removeEventListener("pointercancel",p),document.removeEventListener("pointermove",r),document.removeEventListener("pointerup",s),e.dispatch("DID_DROP_ITEM",{id:t.id,dragState:o}),n&&setTimeout(()=>e.element.addEventListener("click",e.ref.handleClick),0)};document.addEventListener("pointercancel",p),document.addEventListener("pointermove",r),document.addEventListener("pointerup",s)};e.element.addEventListener("pointerdown",i)},Sc=fe({DID_UPDATE_PANEL_HEIGHT:({root:e,action:t})=>{e.height=t.height}}),_c=fe({DID_GRAB_ITEM:({root:e,props:t})=>{t.dragOrigin={x:e.translateX,y:e.translateY}},DID_DRAG_ITEM:({root:e})=>{e.element.dataset.dragState="drag"},DID_DROP_ITEM:({root:e,props:t})=>{t.dragOffset=null,t.dragOrigin=null,e.element.dataset.dragState="drop"}},({root:e,actions:t,props:i,shouldOptimize:a})=>{e.element.dataset.dragState==="drop"&&e.scaleX<=1&&(e.element.dataset.dragState="idle");let n=t.concat().filter(o=>/^DID_/.test(o.type)).reverse().find(o=>nn[o.type]);n&&n.type!==i.currentState&&(i.currentState=n.type,e.element.dataset.filepondItemState=nn[i.currentState]||"");let l=e.query("GET_ITEM_PANEL_ASPECT_RATIO")||e.query("GET_PANEL_ASPECT_RATIO");l?a||(e.height=e.rect.element.width*l):(Sc({root:e,actions:t,props:i}),!e.height&&e.ref.container.rect.element.height>0&&(e.height=e.ref.container.rect.element.height)),a&&(e.ref.panel.height=null),e.ref.panel.height=e.height}),wc=ne({create:Rc,write:_c,destroy:({root:e,props:t})=>{e.element.removeEventListener("click",e.ref.handleClick),e.dispatch("RELEASE_ITEM",{query:t.id})},tag:"li",name:"item",mixins:{apis:["id","interactionMethod","markedForRemoval","spawnDate","dragCenter","dragOrigin","dragOffset"],styles:["translateX","translateY","scaleX","scaleY","opacity","height"],animations:{scaleX:an,scaleY:an,translateX:tn,translateY:tn,opacity:{type:"tween",duration:150}}}}),Qi=(e,t)=>Math.max(1,Math.floor((e+1)/t)),Zi=(e,t,i)=>{if(!i)return;let a=e.rect.element.width,n=t.length,l=null;if(n===0||i.topb){if(i.left{se(e.element,"role","list"),e.ref.lastItemSpanwDate=Date.now()},Mc=({root:e,action:t})=>{let{id:i,index:a,interactionMethod:n}=t;e.ref.addIndex=a;let l=Date.now(),o=l,r=1;if(n!==Re.NONE){r=0;let s=e.query("GET_ITEM_INSERT_INTERVAL"),p=l-e.ref.lastItemSpanwDate;o=p{e.dragOffset?(e.translateX=null,e.translateY=null,e.translateX=e.dragOrigin.x+e.dragOffset.x,e.translateY=e.dragOrigin.y+e.dragOffset.y,e.scaleX=1.025,e.scaleY=1.025):(e.translateX=t,e.translateY=i,Date.now()>e.spawnDate&&(e.opacity===0&&Ac(e,t,i,a,n),e.scaleX=1,e.scaleY=1,e.opacity=1))},Ac=(e,t,i,a,n)=>{e.interactionMethod===Re.NONE?(e.translateX=null,e.translateX=t,e.translateY=null,e.translateY=i):e.interactionMethod===Re.DROP?(e.translateX=null,e.translateX=t-a*20,e.translateY=null,e.translateY=i-n*10,e.scaleX=.8,e.scaleY=.8):e.interactionMethod===Re.BROWSE?(e.translateY=null,e.translateY=i-30):e.interactionMethod===Re.API&&(e.translateX=null,e.translateX=t-30,e.translateY=null)},Pc=({root:e,action:t})=>{let{id:i}=t,a=e.childViews.find(n=>n.id===i);a&&(a.scaleX=.9,a.scaleY=.9,a.opacity=0,a.markedForRemoval=!0)},Ai=e=>e.rect.element.height+e.rect.element.marginBottom*.5+e.rect.element.marginTop*.5,zc=e=>e.rect.element.width+e.rect.element.marginLeft*.5+e.rect.element.marginRight*.5,Oc=({root:e,action:t})=>{let{id:i,dragState:a}=t,n=e.query("GET_ITEM",{id:i}),l=e.childViews.find(h=>h.id===i),o=e.childViews.length,r=a.getItemIndex(n);if(!l)return;let s={x:l.dragOrigin.x+l.dragOffset.x+l.dragCenter.x,y:l.dragOrigin.y+l.dragOffset.y+l.dragCenter.y},p=Ai(l),c=zc(l),d=Math.floor(e.rect.outer.width/c);d>o&&(d=o);let m=Math.floor(o/d+1);ti.setHeight=p*m,ti.setWidth=c*d;var u={y:Math.floor(s.y/p),x:Math.floor(s.x/c),getGridIndex:function(){return s.y>ti.getHeight||s.y<0||s.x>ti.getWidth||s.x<0?r:this.y*d+this.x},getColIndex:function(){let I=e.query("GET_ACTIVE_ITEMS"),b=e.childViews.filter(P=>P.rect.element.height),T=I.map(P=>b.find(A=>A.id===P.id)),v=T.findIndex(P=>P===l),y=Ai(l),E=T.length,_=E,x=0,R=0,z=0;for(let P=0;PP){if(s.y1?u.getGridIndex():u.getColIndex();e.dispatch("MOVE_ITEM",{query:l,index:g});let f=a.getIndex();if(f===void 0||f!==g){if(a.setIndex(g),f===void 0)return;e.dispatch("DID_REORDER_ITEMS",{items:e.query("GET_ACTIVE_ITEMS"),origin:r,target:g})}},Fc=fe({DID_ADD_ITEM:Mc,DID_REMOVE_ITEM:Pc,DID_DRAG_ITEM:Oc}),Dc=({root:e,props:t,actions:i,shouldOptimize:a})=>{Fc({root:e,props:t,actions:i});let{dragCoordinates:n}=t,l=e.rect.element.width,o=e.childViews.filter(T=>T.rect.element.height),r=e.query("GET_ACTIVE_ITEMS").map(T=>o.find(v=>v.id===T.id)).filter(T=>T),s=n?Zi(e,r,n):null,p=e.ref.addIndex||null;e.ref.addIndex=null;let c=0,d=0,m=0;if(r.length===0)return;let u=r[0].rect.element,g=u.marginTop+u.marginBottom,f=u.marginLeft+u.marginRight,h=u.width+f,I=u.height+g,b=Qi(l,h);if(b===1){let T=0,v=0;r.forEach((y,E)=>{if(s){let R=E-s;R===-2?v=-g*.25:R===-1?v=-g*.75:R===0?v=g*.75:R===1?v=g*.25:v=0}a&&(y.translateX=null,y.translateY=null),y.markedForRemoval||ln(y,0,T+v);let x=(y.rect.element.height+g)*(y.markedForRemoval?y.opacity:1);T+=x})}else{let T=0,v=0;r.forEach((y,E)=>{E===s&&(c=1),E===p&&(m+=1),y.markedForRemoval&&y.opacity<.5&&(d-=1);let _=E+m+c+d,x=_%b,R=Math.floor(_/b),z=x*h,P=R*I,A=Math.sign(z-T),B=Math.sign(P-v);T=z,v=P,!y.markedForRemoval&&(a&&(y.translateX=null,y.translateY=null),ln(y,z,P,A,B))})}},Cc=(e,t)=>t.filter(i=>i.data&&i.data.id?e.id===i.data.id:!0),Bc=ne({create:Lc,write:Dc,tag:"ul",name:"list",didWriteView:({root:e})=>{e.childViews.filter(t=>t.markedForRemoval&&t.opacity===0&&t.resting).forEach(t=>{t._destroy(),e.removeChildView(t)})},filterFrameActionsForChild:Cc,mixins:{apis:["dragCoordinates"]}}),Nc=({root:e,props:t})=>{e.ref.list=e.appendChildView(e.createChildView(Bc)),t.dragCoordinates=null,t.overflowing=!1},kc=({root:e,props:t,action:i})=>{e.query("GET_ITEM_INSERT_LOCATION_FREEDOM")&&(t.dragCoordinates={left:i.position.scopeLeft-e.ref.list.rect.element.left,top:i.position.scopeTop-(e.rect.outer.top+e.rect.element.marginTop+e.rect.element.scrollTop)})},Vc=({props:e})=>{e.dragCoordinates=null},Gc=fe({DID_DRAG:kc,DID_END_DRAG:Vc}),Uc=({root:e,props:t,actions:i})=>{if(Gc({root:e,props:t,actions:i}),e.ref.list.dragCoordinates=t.dragCoordinates,t.overflowing&&!t.overflow&&(t.overflowing=!1,e.element.dataset.state="",e.height=null),t.overflow){let a=Math.round(t.overflow);a!==e.height&&(t.overflowing=!0,e.element.dataset.state="overflow",e.height=a)}},Wc=ne({create:Nc,write:Uc,name:"list-scroller",mixins:{apis:["overflow","dragCoordinates"],styles:["height","translateY"],animations:{translateY:"spring"}}}),ze=(e,t,i,a="")=>{i?se(e,t,a):e.removeAttribute(t)},Hc=e=>{if(!(!e||e.value==="")){try{e.value=""}catch{}if(e.value){let t=Ve("form"),i=e.parentNode,a=e.nextSibling;t.appendChild(e),t.reset(),a?i.insertBefore(e,a):i.appendChild(e)}}},jc=({root:e,props:t})=>{e.element.id=`filepond--browser-${t.id}`,se(e.element,"name",e.query("GET_NAME")),se(e.element,"aria-controls",`filepond--assistant-${t.id}`),se(e.element,"aria-labelledby",`filepond--drop-label-${t.id}`),Vn({root:e,action:{value:e.query("GET_ACCEPTED_FILE_TYPES")}}),Gn({root:e,action:{value:e.query("GET_ALLOW_MULTIPLE")}}),Un({root:e,action:{value:e.query("GET_ALLOW_DIRECTORIES_ONLY")}}),Ni({root:e}),Wn({root:e,action:{value:e.query("GET_REQUIRED")}}),Hn({root:e,action:{value:e.query("GET_CAPTURE_METHOD")}}),e.ref.handleChange=i=>{if(!e.element.value)return;let a=Array.from(e.element.files).map(n=>(n._relativePath=n.webkitRelativePath,n));setTimeout(()=>{t.onload(a),Hc(e.element)},250)},e.element.addEventListener("change",e.ref.handleChange)},Vn=({root:e,action:t})=>{e.query("GET_ALLOW_SYNC_ACCEPT_ATTRIBUTE")&&ze(e.element,"accept",!!t.value,t.value?t.value.join(","):"")},Gn=({root:e,action:t})=>{ze(e.element,"multiple",t.value)},Un=({root:e,action:t})=>{ze(e.element,"webkitdirectory",t.value)},Ni=({root:e})=>{let t=e.query("GET_DISABLED"),i=e.query("GET_ALLOW_BROWSE"),a=t||!i;ze(e.element,"disabled",a)},Wn=({root:e,action:t})=>{t.value?e.query("GET_TOTAL_ITEMS")===0&&ze(e.element,"required",!0):ze(e.element,"required",!1)},Hn=({root:e,action:t})=>{ze(e.element,"capture",!!t.value,t.value===!0?"":t.value)},on=({root:e})=>{let{element:t}=e;if(e.query("GET_TOTAL_ITEMS")>0){ze(t,"required",!1),ze(t,"name",!1);let i=e.query("GET_ACTIVE_ITEMS"),a=!1;for(let n=0;n{e.query("GET_CHECK_VALIDITY")&&e.element.setCustomValidity(e.query("GET_LABEL_INVALID_FIELD"))},qc=ne({tag:"input",name:"browser",ignoreRect:!0,ignoreRectUpdate:!0,attributes:{type:"file"},create:jc,destroy:({root:e})=>{e.element.removeEventListener("change",e.ref.handleChange)},write:fe({DID_LOAD_ITEM:on,DID_REMOVE_ITEM:on,DID_THROW_ITEM_INVALID:Yc,DID_SET_DISABLED:Ni,DID_SET_ALLOW_BROWSE:Ni,DID_SET_ALLOW_DIRECTORIES_ONLY:Un,DID_SET_ALLOW_MULTIPLE:Gn,DID_SET_ACCEPTED_FILE_TYPES:Vn,DID_SET_CAPTURE_METHOD:Hn,DID_SET_REQUIRED:Wn})}),rn={ENTER:13,SPACE:32},$c=({root:e,props:t})=>{let i=Ve("label");se(i,"for",`filepond--browser-${t.id}`),se(i,"id",`filepond--drop-label-${t.id}`),e.ref.handleKeyDown=a=>{(a.keyCode===rn.ENTER||a.keyCode===rn.SPACE)&&(a.preventDefault(),e.ref.label.click())},e.ref.handleClick=a=>{a.target===i||i.contains(a.target)||e.ref.label.click()},i.addEventListener("keydown",e.ref.handleKeyDown),e.element.addEventListener("click",e.ref.handleClick),jn(i,t.caption),e.appendChild(i),e.ref.label=i},jn=(e,t)=>{e.innerHTML=t;let i=e.querySelector(".filepond--label-action");return i&&se(i,"tabindex","0"),t},Xc=ne({name:"drop-label",ignoreRect:!0,create:$c,destroy:({root:e})=>{e.ref.label.addEventListener("keydown",e.ref.handleKeyDown),e.element.removeEventListener("click",e.ref.handleClick)},write:fe({DID_SET_LABEL_IDLE:({root:e,action:t})=>{jn(e.ref.label,t.value)}}),mixins:{styles:["opacity","translateX","translateY"],animations:{opacity:{type:"tween",duration:150},translateX:"spring",translateY:"spring"}}}),Kc=ne({name:"drip-blob",ignoreRect:!0,mixins:{styles:["translateX","translateY","scaleX","scaleY","opacity"],animations:{scaleX:"spring",scaleY:"spring",translateX:"spring",translateY:"spring",opacity:{type:"tween",duration:250}}}}),Qc=({root:e})=>{let t=e.rect.element.width*.5,i=e.rect.element.height*.5;e.ref.blob=e.appendChildView(e.createChildView(Kc,{opacity:0,scaleX:2.5,scaleY:2.5,translateX:t,translateY:i}))},Zc=({root:e,action:t})=>{if(!e.ref.blob){Qc({root:e});return}e.ref.blob.translateX=t.position.scopeLeft,e.ref.blob.translateY=t.position.scopeTop,e.ref.blob.scaleX=1,e.ref.blob.scaleY=1,e.ref.blob.opacity=1},Jc=({root:e})=>{e.ref.blob&&(e.ref.blob.opacity=0)},ed=({root:e})=>{e.ref.blob&&(e.ref.blob.scaleX=2.5,e.ref.blob.scaleY=2.5,e.ref.blob.opacity=0)},td=({root:e,props:t,actions:i})=>{id({root:e,props:t,actions:i});let{blob:a}=e.ref;i.length===0&&a&&a.opacity===0&&(e.removeChildView(a),e.ref.blob=null)},id=fe({DID_DRAG:Zc,DID_DROP:ed,DID_END_DRAG:Jc}),ad=ne({ignoreRect:!0,ignoreRectUpdate:!0,name:"drip",write:td}),Yn=(e,t)=>{try{let i=new DataTransfer;t.forEach(a=>{a instanceof File?i.items.add(a):i.items.add(new File([a],a.name,{type:a.type}))}),e.files=i.files}catch{return!1}return!0},nd=({root:e})=>{e.ref.fields={};let t=document.createElement("legend");t.textContent="Files",e.element.appendChild(t)},gi=(e,t)=>e.ref.fields[t],Ji=e=>{e.query("GET_ACTIVE_ITEMS").forEach(t=>{e.ref.fields[t.id]&&e.element.appendChild(e.ref.fields[t.id])})},sn=({root:e})=>Ji(e),ld=({root:e,action:t})=>{let n=!(e.query("GET_ITEM",t.id).origin===re.LOCAL)&&e.query("SHOULD_UPDATE_FILE_INPUT"),l=Ve("input");l.type=n?"file":"hidden",l.name=e.query("GET_NAME"),e.ref.fields[t.id]=l,Ji(e)},od=({root:e,action:t})=>{let i=gi(e,t.id);if(!i||(t.serverFileReference!==null&&(i.value=t.serverFileReference),!e.query("SHOULD_UPDATE_FILE_INPUT")))return;let a=e.query("GET_ITEM",t.id);Yn(i,[a.file])},rd=({root:e,action:t})=>{e.query("SHOULD_UPDATE_FILE_INPUT")&&setTimeout(()=>{let i=gi(e,t.id);i&&Yn(i,[t.file])},0)},sd=({root:e})=>{e.element.disabled=e.query("GET_DISABLED")},cd=({root:e,action:t})=>{let i=gi(e,t.id);i&&(i.parentNode&&i.parentNode.removeChild(i),delete e.ref.fields[t.id])},dd=({root:e,action:t})=>{let i=gi(e,t.id);i&&(t.value===null?i.removeAttribute("value"):i.type!="file"&&(i.value=t.value),Ji(e))},pd=fe({DID_SET_DISABLED:sd,DID_ADD_ITEM:ld,DID_LOAD_ITEM:od,DID_REMOVE_ITEM:cd,DID_DEFINE_VALUE:dd,DID_PREPARE_OUTPUT:rd,DID_REORDER_ITEMS:sn,DID_SORT_ITEMS:sn}),md=ne({tag:"fieldset",name:"data",create:nd,write:pd,ignoreRect:!0}),ud=e=>"getRootNode"in e?e.getRootNode():document,gd=["jpg","jpeg","png","gif","bmp","webp","svg","tiff"],fd=["css","csv","html","txt"],hd={zip:"zip|compressed",epub:"application/epub+zip"},qn=(e="")=>(e=e.toLowerCase(),gd.includes(e)?"image/"+(e==="jpg"?"jpeg":e==="svg"?"svg+xml":e):fd.includes(e)?"text/"+e:hd[e]||""),ea=e=>new Promise((t,i)=>{let a=Rd(e);if(a.length&&!bd(e))return t(a);Ed(e).then(t)}),bd=e=>e.files?e.files.length>0:!1,Ed=e=>new Promise((t,i)=>{let a=(e.items?Array.from(e.items):[]).filter(n=>Td(n)).map(n=>Id(n));if(!a.length){t(e.files?Array.from(e.files):[]);return}Promise.all(a).then(n=>{let l=[];n.forEach(o=>{l.push.apply(l,o)}),t(l.filter(o=>o).map(o=>(o._relativePath||(o._relativePath=o.webkitRelativePath),o)))}).catch(console.error)}),Td=e=>{if($n(e)){let t=ta(e);if(t)return t.isFile||t.isDirectory}return e.kind==="file"},Id=e=>new Promise((t,i)=>{if(yd(e)){vd(ta(e)).then(t).catch(i);return}t([e.getAsFile()])}),vd=e=>new Promise((t,i)=>{let a=[],n=0,l=0,o=()=>{l===0&&n===0&&t(a)},r=s=>{n++;let p=s.createReader(),c=()=>{p.readEntries(d=>{if(d.length===0){n--,o();return}d.forEach(m=>{m.isDirectory?r(m):(l++,m.file(u=>{let g=xd(u);m.fullPath&&(g._relativePath=m.fullPath),a.push(g),l--,o()}))}),c()},i)};c()};r(e)}),xd=e=>{if(e.type.length)return e;let t=e.lastModifiedDate,i=e.name,a=qn(ui(e.name));return a.length&&(e=e.slice(0,e.size,a),e.name=i,e.lastModifiedDate=t),e},yd=e=>$n(e)&&(ta(e)||{}).isDirectory,$n=e=>"webkitGetAsEntry"in e,ta=e=>e.webkitGetAsEntry(),Rd=e=>{let t=[];try{if(t=_d(e),t.length)return t;t=Sd(e)}catch{}return t},Sd=e=>{let t=e.getData("url");return typeof t=="string"&&t.length?[t]:[]},_d=e=>{let t=e.getData("text/html");if(typeof t=="string"&&t.length){let i=t.match(/src\s*=\s*"(.+?)"/);if(i)return[i[1]]}return[]},ri=[],et=e=>({pageLeft:e.pageX,pageTop:e.pageY,scopeLeft:e.offsetX||e.layerX,scopeTop:e.offsetY||e.layerY}),wd=(e,t,i)=>{let a=Ld(t),n={element:e,filterElement:i,state:null,ondrop:()=>{},onenter:()=>{},ondrag:()=>{},onexit:()=>{},onload:()=>{},allowdrop:()=>{}};return n.destroy=a.addListener(n),n},Ld=e=>{let t=ri.find(a=>a.element===e);if(t)return t;let i=Md(e);return ri.push(i),i},Md=e=>{let t=[],i={dragenter:Pd,dragover:zd,dragleave:Fd,drop:Od},a={};te(i,(l,o)=>{a[l]=o(e,t),e.addEventListener(l,a[l],!1)});let n={element:e,addListener:l=>(t.push(l),()=>{t.splice(t.indexOf(l),1),t.length===0&&(ri.splice(ri.indexOf(n),1),te(i,o=>{e.removeEventListener(o,a[o],!1)}))})};return n},Ad=(e,t)=>("elementFromPoint"in e||(e=document),e.elementFromPoint(t.x,t.y)),ia=(e,t)=>{let i=ud(t),a=Ad(i,{x:e.pageX-window.pageXOffset,y:e.pageY-window.pageYOffset});return a===t||t.contains(a)},Xn=null,ii=(e,t)=>{try{e.dropEffect=t}catch{}},Pd=(e,t)=>i=>{i.preventDefault(),Xn=i.target,t.forEach(a=>{let{element:n,onenter:l}=a;ia(i,n)&&(a.state="enter",l(et(i)))})},zd=(e,t)=>i=>{i.preventDefault();let a=i.dataTransfer;ea(a).then(n=>{let l=!1;t.some(o=>{let{filterElement:r,element:s,onenter:p,onexit:c,ondrag:d,allowdrop:m}=o;ii(a,"copy");let u=m(n);if(!u){ii(a,"none");return}if(ia(i,s)){if(l=!0,o.state===null){o.state="enter",p(et(i));return}if(o.state="over",r&&!u){ii(a,"none");return}d(et(i))}else r&&!l&&ii(a,"none"),o.state&&(o.state=null,c(et(i)))})})},Od=(e,t)=>i=>{i.preventDefault();let a=i.dataTransfer;ea(a).then(n=>{t.forEach(l=>{let{filterElement:o,element:r,ondrop:s,onexit:p,allowdrop:c}=l;if(l.state=null,!(o&&!ia(i,r))){if(!c(n))return p(et(i));s(et(i),n)}})})},Fd=(e,t)=>i=>{Xn===i.target&&t.forEach(a=>{let{onexit:n}=a;a.state=null,n(et(i))})},Dd=(e,t,i)=>{e.classList.add("filepond--hopper");let{catchesDropsOnPage:a,requiresDropOnElement:n,filterItems:l=c=>c}=i,o=wd(e,a?document.documentElement:e,n),r="",s="";o.allowdrop=c=>t(l(c)),o.ondrop=(c,d)=>{let m=l(d);if(!t(m)){p.ondragend(c);return}s="drag-drop",p.onload(m,c)},o.ondrag=c=>{p.ondrag(c)},o.onenter=c=>{s="drag-over",p.ondragstart(c)},o.onexit=c=>{s="drag-exit",p.ondragend(c)};let p={updateHopperState:()=>{r!==s&&(e.dataset.hopperState=s,r=s)},onload:()=>{},ondragstart:()=>{},ondrag:()=>{},ondragend:()=>{},destroy:()=>{o.destroy()}};return p},ki=!1,ut=[],Kn=e=>{let t=document.activeElement;if(t&&(/textarea|input/i.test(t.nodeName)||t.getAttribute("contenteditable")==="true"||t.getAttribute("contenteditable")==="")){let a=!1,n=t;for(;n!==document.body;){if(n.classList.contains("filepond--root")){a=!0;break}n=n.parentNode}if(!a)return}ea(e.clipboardData).then(a=>{a.length&&ut.forEach(n=>n(a))})},Cd=e=>{ut.includes(e)||(ut.push(e),!ki&&(ki=!0,document.addEventListener("paste",Kn)))},Bd=e=>{qi(ut,ut.indexOf(e)),ut.length===0&&(document.removeEventListener("paste",Kn),ki=!1)},Nd=()=>{let e=i=>{t.onload(i)},t={destroy:()=>{Bd(e)},onload:()=>{}};return Cd(e),t},kd=({root:e,props:t})=>{e.element.id=`filepond--assistant-${t.id}`,se(e.element,"role","alert"),se(e.element,"aria-live","polite"),se(e.element,"aria-relevant","additions")},cn=null,dn=null,Pi=[],fi=(e,t)=>{e.element.textContent=t},Vd=e=>{e.element.textContent=""},Qn=(e,t,i)=>{let a=e.query("GET_TOTAL_ITEMS");fi(e,`${i} ${t}, ${a} ${a===1?e.query("GET_LABEL_FILE_COUNT_SINGULAR"):e.query("GET_LABEL_FILE_COUNT_PLURAL")}`),clearTimeout(dn),dn=setTimeout(()=>{Vd(e)},1500)},Zn=e=>e.element.parentNode.contains(document.activeElement),Gd=({root:e,action:t})=>{if(!Zn(e))return;e.element.textContent="";let i=e.query("GET_ITEM",t.id);Pi.push(i.filename),clearTimeout(cn),cn=setTimeout(()=>{Qn(e,Pi.join(", "),e.query("GET_LABEL_FILE_ADDED")),Pi.length=0},750)},Ud=({root:e,action:t})=>{if(!Zn(e))return;let i=t.item;Qn(e,i.filename,e.query("GET_LABEL_FILE_REMOVED"))},Wd=({root:e,action:t})=>{let a=e.query("GET_ITEM",t.id).filename,n=e.query("GET_LABEL_FILE_PROCESSING_COMPLETE");fi(e,`${a} ${n}`)},pn=({root:e,action:t})=>{let a=e.query("GET_ITEM",t.id).filename,n=e.query("GET_LABEL_FILE_PROCESSING_ABORTED");fi(e,`${a} ${n}`)},ai=({root:e,action:t})=>{let a=e.query("GET_ITEM",t.id).filename;fi(e,`${t.status.main} ${a} ${t.status.sub}`)},Hd=ne({create:kd,ignoreRect:!0,ignoreRectUpdate:!0,write:fe({DID_LOAD_ITEM:Gd,DID_REMOVE_ITEM:Ud,DID_COMPLETE_ITEM_PROCESSING:Wd,DID_ABORT_ITEM_PROCESSING:pn,DID_REVERT_ITEM_PROCESSING:pn,DID_THROW_ITEM_REMOVE_ERROR:ai,DID_THROW_ITEM_LOAD_ERROR:ai,DID_THROW_ITEM_INVALID:ai,DID_THROW_ITEM_PROCESSING_ERROR:ai}),tag:"span",name:"assistant"}),Jn=(e,t="-")=>e.replace(new RegExp(`${t}.`,"g"),i=>i.charAt(1).toUpperCase()),el=(e,t=16,i=!0)=>{let a=Date.now(),n=null;return(...l)=>{clearTimeout(n);let o=Date.now()-a,r=()=>{a=Date.now(),e(...l)};oe.preventDefault(),Yd=({root:e,props:t})=>{let i=e.query("GET_ID");i&&(e.element.id=i);let a=e.query("GET_CLASS_NAME");a&&a.split(" ").filter(s=>s.length).forEach(s=>{e.element.classList.add(s)}),e.ref.label=e.appendChildView(e.createChildView(Xc,{...t,translateY:null,caption:e.query("GET_LABEL_IDLE")})),e.ref.list=e.appendChildView(e.createChildView(Wc,{translateY:null})),e.ref.panel=e.appendChildView(e.createChildView(kn,{name:"panel-root"})),e.ref.assistant=e.appendChildView(e.createChildView(Hd,{...t})),e.ref.data=e.appendChildView(e.createChildView(md,{...t})),e.ref.measure=Ve("div"),e.ref.measure.style.height="100%",e.element.appendChild(e.ref.measure),e.ref.bounds=null,e.query("GET_STYLES").filter(s=>!ke(s.value)).map(({name:s,value:p})=>{e.element.dataset[s]=p}),e.ref.widthPrevious=null,e.ref.widthUpdated=el(()=>{e.ref.updateHistory=[],e.dispatch("DID_RESIZE_ROOT")},250),e.ref.previousAspectRatio=null,e.ref.updateHistory=[];let n=window.matchMedia("(pointer: fine) and (hover: hover)").matches,l="PointerEvent"in window;e.query("GET_ALLOW_REORDER")&&l&&!n&&(e.element.addEventListener("touchmove",si,{passive:!1}),e.element.addEventListener("gesturestart",si));let o=e.query("GET_CREDITS");if(o.length===2){let s=document.createElement("a");s.className="filepond--credits",s.href=o[0],s.tabIndex=-1,s.target="_blank",s.rel="noopener noreferrer nofollow",s.textContent=o[1],e.element.appendChild(s),e.ref.credits=s}},qd=({root:e,props:t,actions:i})=>{if(Zd({root:e,props:t,actions:i}),i.filter(E=>/^DID_SET_STYLE_/.test(E.type)).filter(E=>!ke(E.data.value)).map(({type:E,data:_})=>{let x=Jn(E.substring(8).toLowerCase(),"_");e.element.dataset[x]=_.value,e.invalidateLayout()}),e.rect.element.hidden)return;e.rect.element.width!==e.ref.widthPrevious&&(e.ref.widthPrevious=e.rect.element.width,e.ref.widthUpdated());let a=e.ref.bounds;a||(a=e.ref.bounds=Kd(e),e.element.removeChild(e.ref.measure),e.ref.measure=null);let{hopper:n,label:l,list:o,panel:r}=e.ref;n&&n.updateHopperState();let s=e.query("GET_PANEL_ASPECT_RATIO"),p=e.query("GET_ALLOW_MULTIPLE"),c=e.query("GET_TOTAL_ITEMS"),d=p?e.query("GET_MAX_FILES")||jd:1,m=c===d,u=i.find(E=>E.type==="DID_ADD_ITEM");if(m&&u){let E=u.data.interactionMethod;l.opacity=0,p?l.translateY=-40:E===Re.API?l.translateX=40:E===Re.BROWSE?l.translateY=40:l.translateY=30}else m||(l.opacity=1,l.translateX=0,l.translateY=0);let g=$d(e),f=Xd(e),h=l.rect.element.height,I=!p||m?0:h,b=m?o.rect.element.marginTop:0,T=c===0?0:o.rect.element.marginBottom,v=I+b+f.visual+T,y=I+b+f.bounds+T;if(o.translateY=Math.max(0,I-o.rect.element.marginTop)-g.top,s){let E=e.rect.element.width,_=E*s;s!==e.ref.previousAspectRatio&&(e.ref.previousAspectRatio=s,e.ref.updateHistory=[]);let x=e.ref.updateHistory;x.push(E);let R=2;if(x.length>R*2){let P=x.length,A=P-10,B=0;for(let w=P;w>=A;w--)if(x[w]===x[w-2]&&B++,B>=R)return}r.scalable=!1,r.height=_;let z=_-I-(T-g.bottom)-(m?b:0);f.visual>z?o.overflow=z:o.overflow=null,e.height=_}else if(a.fixedHeight){r.scalable=!1;let E=a.fixedHeight-I-(T-g.bottom)-(m?b:0);f.visual>E?o.overflow=E:o.overflow=null}else if(a.cappedHeight){let E=v>=a.cappedHeight,_=Math.min(a.cappedHeight,v);r.scalable=!0,r.height=E?_:_-g.top-g.bottom;let x=_-I-(T-g.bottom)-(m?b:0);v>a.cappedHeight&&f.visual>x?o.overflow=x:o.overflow=null,e.height=Math.min(a.cappedHeight,y-g.top-g.bottom)}else{let E=c>0?g.top+g.bottom:0;r.scalable=!0,r.height=Math.max(h,v-E),e.height=Math.max(h,y-E)}e.ref.credits&&r.heightCurrent&&(e.ref.credits.style.transform=`translateY(${r.heightCurrent}px)`)},$d=e=>{let t=e.ref.list.childViews[0].childViews[0];return t?{top:t.rect.element.marginTop,bottom:t.rect.element.marginBottom}:{top:0,bottom:0}},Xd=e=>{let t=0,i=0,a=e.ref.list,n=a.childViews[0],l=n.childViews.filter(b=>b.rect.element.height),o=e.query("GET_ACTIVE_ITEMS").map(b=>l.find(T=>T.id===b.id)).filter(b=>b);if(o.length===0)return{visual:t,bounds:i};let r=n.rect.element.width,s=Zi(n,o,a.dragCoordinates),p=o[0].rect.element,c=p.marginTop+p.marginBottom,d=p.marginLeft+p.marginRight,m=p.width+d,u=p.height+c,g=typeof s<"u"&&s>=0?1:0,f=o.find(b=>b.markedForRemoval&&b.opacity<.45)?-1:0,h=o.length+g+f,I=Qi(r,m);return I===1?o.forEach(b=>{let T=b.rect.element.height+c;i+=T,t+=T*b.opacity}):(i=Math.ceil(h/I)*u,t=i),{visual:t,bounds:i}},Kd=e=>{let t=e.ref.measureHeight||null;return{cappedHeight:parseInt(e.style.maxHeight,10)||null,fixedHeight:t===0?null:t}},aa=(e,t)=>{let i=e.query("GET_ALLOW_REPLACE"),a=e.query("GET_ALLOW_MULTIPLE"),n=e.query("GET_TOTAL_ITEMS"),l=e.query("GET_MAX_FILES"),o=t.length;return!a&&o>1?(e.dispatch("DID_THROW_MAX_FILES",{source:t,error:ie("warning",0,"Max files")}),!0):(l=a?l:1,!a&&i?!1:bt(l)&&n+o>l?(e.dispatch("DID_THROW_MAX_FILES",{source:t,error:ie("warning",0,"Max files")}),!0):!1)},Qd=(e,t,i)=>{let a=e.childViews[0];return Zi(a,t,{left:i.scopeLeft-a.rect.element.left,top:i.scopeTop-(e.rect.outer.top+e.rect.element.marginTop+e.rect.element.scrollTop)})},mn=e=>{let t=e.query("GET_ALLOW_DROP"),i=e.query("GET_DISABLED"),a=t&&!i;if(a&&!e.ref.hopper){let n=Dd(e.element,l=>{let o=e.query("GET_BEFORE_DROP_FILE")||(()=>!0);return e.query("GET_DROP_VALIDATION")?l.every(s=>tt("ALLOW_HOPPER_ITEM",s,{query:e.query}).every(p=>p===!0)&&o(s)):!0},{filterItems:l=>{let o=e.query("GET_IGNORED_FILES");return l.filter(r=>Je(r)?!o.includes(r.name.toLowerCase()):!0)},catchesDropsOnPage:e.query("GET_DROP_ON_PAGE"),requiresDropOnElement:e.query("GET_DROP_ON_ELEMENT")});n.onload=(l,o)=>{let s=e.ref.list.childViews[0].childViews.filter(c=>c.rect.element.height),p=e.query("GET_ACTIVE_ITEMS").map(c=>s.find(d=>d.id===c.id)).filter(c=>c);Ae("ADD_ITEMS",l,{dispatch:e.dispatch}).then(c=>{if(aa(e,c))return!1;e.dispatch("ADD_ITEMS",{items:c,index:Qd(e.ref.list,p,o),interactionMethod:Re.DROP})}),e.dispatch("DID_DROP",{position:o}),e.dispatch("DID_END_DRAG",{position:o})},n.ondragstart=l=>{e.dispatch("DID_START_DRAG",{position:l})},n.ondrag=el(l=>{e.dispatch("DID_DRAG",{position:l})}),n.ondragend=l=>{e.dispatch("DID_END_DRAG",{position:l})},e.ref.hopper=n,e.ref.drip=e.appendChildView(e.createChildView(ad))}else!a&&e.ref.hopper&&(e.ref.hopper.destroy(),e.ref.hopper=null,e.removeChildView(e.ref.drip))},un=(e,t)=>{let i=e.query("GET_ALLOW_BROWSE"),a=e.query("GET_DISABLED"),n=i&&!a;n&&!e.ref.browser?e.ref.browser=e.appendChildView(e.createChildView(qc,{...t,onload:l=>{Ae("ADD_ITEMS",l,{dispatch:e.dispatch}).then(o=>{if(aa(e,o))return!1;e.dispatch("ADD_ITEMS",{items:o,index:-1,interactionMethod:Re.BROWSE})})}}),0):!n&&e.ref.browser&&(e.removeChildView(e.ref.browser),e.ref.browser=null)},gn=e=>{let t=e.query("GET_ALLOW_PASTE"),i=e.query("GET_DISABLED"),a=t&&!i;a&&!e.ref.paster?(e.ref.paster=Nd(),e.ref.paster.onload=n=>{Ae("ADD_ITEMS",n,{dispatch:e.dispatch}).then(l=>{if(aa(e,l))return!1;e.dispatch("ADD_ITEMS",{items:l,index:-1,interactionMethod:Re.PASTE})})}):!a&&e.ref.paster&&(e.ref.paster.destroy(),e.ref.paster=null)},Zd=fe({DID_SET_ALLOW_BROWSE:({root:e,props:t})=>{un(e,t)},DID_SET_ALLOW_DROP:({root:e})=>{mn(e)},DID_SET_ALLOW_PASTE:({root:e})=>{gn(e)},DID_SET_DISABLED:({root:e,props:t})=>{mn(e),gn(e),un(e,t),e.query("GET_DISABLED")?e.element.dataset.disabled="disabled":e.element.removeAttribute("data-disabled")}}),Jd=ne({name:"root",read:({root:e})=>{e.ref.measure&&(e.ref.measureHeight=e.ref.measure.offsetHeight)},create:Yd,write:qd,destroy:({root:e})=>{e.ref.paster&&e.ref.paster.destroy(),e.ref.hopper&&e.ref.hopper.destroy(),e.element.removeEventListener("touchmove",si),e.element.removeEventListener("gesturestart",si)},mixins:{styles:["height"]}}),ep=(e={})=>{let t=null,i=oi(),a=br(is(i),[Is,ls(i)],[js,ns(i)]);a.dispatch("SET_OPTIONS",{options:e});let n=()=>{document.hidden||a.dispatch("KICK")};document.addEventListener("visibilitychange",n);let l=null,o=!1,r=!1,s=null,p=null,c=()=>{o||(o=!0),clearTimeout(l),l=setTimeout(()=>{o=!1,s=null,p=null,r&&(r=!1,a.dispatch("DID_STOP_RESIZE"))},500)};window.addEventListener("resize",c);let d=Jd(a,{id:Yi()}),m=!1,u=!1,g={_read:()=>{o&&(p=window.innerWidth,s||(s=p),!r&&p!==s&&(a.dispatch("DID_START_RESIZE"),r=!0)),u&&m&&(m=d.element.offsetParent===null),!m&&(d._read(),u=d.rect.element.hidden)},_write:S=>{let L=a.processActionQueue().filter(D=>!/^SET_/.test(D.type));m&&!L.length||(b(L),m=d._write(S,L,r),ss(a.query("GET_ITEMS")),m&&a.processDispatchQueue())}},f=S=>L=>{let D={type:S};if(!L)return D;if(L.hasOwnProperty("error")&&(D.error=L.error?{...L.error}:null),L.status&&(D.status={...L.status}),L.file&&(D.output=L.file),L.source)D.file=L.source;else if(L.item||L.id){let F=L.item?L.item:a.query("GET_ITEM",L.id);D.file=F?he(F):null}return L.items&&(D.items=L.items.map(he)),/progress/.test(S)&&(D.progress=L.progress),L.hasOwnProperty("origin")&&L.hasOwnProperty("target")&&(D.origin=L.origin,D.target=L.target),D},h={DID_DESTROY:f("destroy"),DID_INIT:f("init"),DID_THROW_MAX_FILES:f("warning"),DID_INIT_ITEM:f("initfile"),DID_START_ITEM_LOAD:f("addfilestart"),DID_UPDATE_ITEM_LOAD_PROGRESS:f("addfileprogress"),DID_LOAD_ITEM:f("addfile"),DID_THROW_ITEM_INVALID:[f("error"),f("addfile")],DID_THROW_ITEM_LOAD_ERROR:[f("error"),f("addfile")],DID_THROW_ITEM_REMOVE_ERROR:[f("error"),f("removefile")],DID_PREPARE_OUTPUT:f("preparefile"),DID_START_ITEM_PROCESSING:f("processfilestart"),DID_UPDATE_ITEM_PROCESS_PROGRESS:f("processfileprogress"),DID_ABORT_ITEM_PROCESSING:f("processfileabort"),DID_COMPLETE_ITEM_PROCESSING:f("processfile"),DID_COMPLETE_ITEM_PROCESSING_ALL:f("processfiles"),DID_REVERT_ITEM_PROCESSING:f("processfilerevert"),DID_THROW_ITEM_PROCESSING_ERROR:[f("error"),f("processfile")],DID_REMOVE_ITEM:f("removefile"),DID_UPDATE_ITEMS:f("updatefiles"),DID_ACTIVATE_ITEM:f("activatefile"),DID_REORDER_ITEMS:f("reorderfiles")},I=S=>{let L={pond:O,...S};delete L.type,d.element.dispatchEvent(new CustomEvent(`FilePond:${S.type}`,{detail:L,bubbles:!0,cancelable:!0,composed:!0}));let D=[];S.hasOwnProperty("error")&&D.push(S.error),S.hasOwnProperty("file")&&D.push(S.file);let F=["type","error","file"];Object.keys(S).filter(C=>!F.includes(C)).forEach(C=>D.push(S[C])),O.fire(S.type,...D);let G=a.query(`GET_ON${S.type.toUpperCase()}`);G&&G(...D)},b=S=>{S.length&&S.filter(L=>h[L.type]).forEach(L=>{let D=h[L.type];(Array.isArray(D)?D:[D]).forEach(F=>{L.type==="DID_INIT_ITEM"?I(F(L.data)):setTimeout(()=>{I(F(L.data))},0)})})},T=S=>a.dispatch("SET_OPTIONS",{options:S}),v=S=>a.query("GET_ACTIVE_ITEM",S),y=S=>new Promise((L,D)=>{a.dispatch("REQUEST_ITEM_PREPARE",{query:S,success:F=>{L(F)},failure:F=>{D(F)}})}),E=(S,L={})=>new Promise((D,F)=>{R([{source:S,options:L}],{index:L.index}).then(G=>D(G&&G[0])).catch(F)}),_=S=>S.file&&S.id,x=(S,L)=>(typeof S=="object"&&!_(S)&&!L&&(L=S,S=void 0),a.dispatch("REMOVE_ITEM",{...L,query:S}),a.query("GET_ACTIVE_ITEM",S)===null),R=(...S)=>new Promise((L,D)=>{let F=[],G={};if(ci(S[0]))F.push.apply(F,S[0]),Object.assign(G,S[1]||{});else{let C=S[S.length-1];typeof C=="object"&&!(C instanceof Blob)&&Object.assign(G,S.pop()),F.push(...S)}a.dispatch("ADD_ITEMS",{items:F,index:G.index,interactionMethod:Re.API,success:L,failure:D})}),z=()=>a.query("GET_ACTIVE_ITEMS"),P=S=>new Promise((L,D)=>{a.dispatch("REQUEST_ITEM_PROCESSING",{query:S,success:F=>{L(F)},failure:F=>{D(F)}})}),A=(...S)=>{let L=Array.isArray(S[0])?S[0]:S,D=L.length?L:z();return Promise.all(D.map(y))},B=(...S)=>{let L=Array.isArray(S[0])?S[0]:S;if(!L.length){let D=z().filter(F=>!(F.status===U.IDLE&&F.origin===re.LOCAL)&&F.status!==U.PROCESSING&&F.status!==U.PROCESSING_COMPLETE&&F.status!==U.PROCESSING_REVERT_ERROR);return Promise.all(D.map(P))}return Promise.all(L.map(P))},w=(...S)=>{let L=Array.isArray(S[0])?S[0]:S,D;typeof L[L.length-1]=="object"?D=L.pop():Array.isArray(S[0])&&(D=S[1]);let F=z();return L.length?L.map(C=>$e(C)?F[C]?F[C].id:null:C).filter(C=>C).map(C=>x(C,D)):Promise.all(F.map(C=>x(C,D)))},O={...mi(),...g,...as(a,i),setOptions:T,addFile:E,addFiles:R,getFile:v,processFile:P,prepareFile:y,removeFile:x,moveFile:(S,L)=>a.dispatch("MOVE_ITEM",{query:S,index:L}),getFiles:z,processFiles:B,removeFiles:w,prepareFiles:A,sort:S=>a.dispatch("SORT",{compare:S}),browse:()=>{var S=d.element.querySelector("input[type=file]");S&&S.click()},destroy:()=>{O.fire("destroy",d.element),a.dispatch("ABORT_ALL"),d._destroy(),window.removeEventListener("resize",c),document.removeEventListener("visibilitychange",n),a.dispatch("DID_DESTROY")},insertBefore:S=>Ca(d.element,S),insertAfter:S=>Ba(d.element,S),appendTo:S=>S.appendChild(d.element),replaceElement:S=>{Ca(d.element,S),S.parentNode.removeChild(S),t=S},restoreElement:()=>{t&&(Ba(t,d.element),d.element.parentNode.removeChild(d.element),t=null)},isAttachedTo:S=>d.element===S||t===S,element:{get:()=>d.element},status:{get:()=>a.query("GET_STATUS")}};return a.dispatch("DID_INIT"),We(O)},tl=(e={})=>{let t={};return te(oi(),(a,n)=>{t[a]=n[0]}),ep({...t,...e})},tp=e=>e.charAt(0).toLowerCase()+e.slice(1),ip=e=>Jn(e.replace(/^data-/,"")),il=(e,t)=>{te(t,(i,a)=>{te(e,(n,l)=>{let o=new RegExp(i);if(!o.test(n)||(delete e[n],a===!1))return;if(ge(a)){e[a]=l;return}let s=a.group;ce(a)&&!e[s]&&(e[s]={}),e[s][tp(n.replace(o,""))]=l}),a.mapping&&il(e[a.group],a.mapping)})},ap=(e,t={})=>{let i=[];te(e.attributes,n=>{i.push(e.attributes[n])});let a=i.filter(n=>n.name).reduce((n,l)=>{let o=se(e,l.name);return n[ip(l.name)]=o===l.name?!0:o,n},{});return il(a,t),a},np=(e,t={})=>{let i={"^class$":"className","^multiple$":"allowMultiple","^capture$":"captureMethod","^webkitdirectory$":"allowDirectoriesOnly","^server":{group:"server",mapping:{"^process":{group:"process"},"^revert":{group:"revert"},"^fetch":{group:"fetch"},"^restore":{group:"restore"},"^load":{group:"load"}}},"^type$":!1,"^files$":!1};tt("SET_ATTRIBUTE_TO_OPTION_MAP",i);let a={...t},n=ap(e.nodeName==="FIELDSET"?e.querySelector("input[type=file]"):e,i);Object.keys(n).forEach(o=>{ce(n[o])?(ce(a[o])||(a[o]={}),Object.assign(a[o],n[o])):a[o]=n[o]}),a.files=(t.files||[]).concat(Array.from(e.querySelectorAll("input:not([type=file])")).map(o=>({source:o.value,options:{type:o.dataset.type}})));let l=tl(a);return e.files&&Array.from(e.files).forEach(o=>{l.addFile(o)}),l.replaceElement(e),l},lp=(...e)=>hr(e[0])?np(...e):tl(...e),op=["fire","_read","_write"],fn=e=>{let t={};return yn(e,t,op),t},rp=(e,t)=>e.replace(/(?:{([a-zA-Z]+)})/g,(i,a)=>t[a]),sp=e=>{let t=new Blob(["(",e.toString(),")()"],{type:"application/javascript"}),i=URL.createObjectURL(t),a=new Worker(i);return{transfer:(n,l)=>{},post:(n,l,o)=>{let r=Yi();a.onmessage=s=>{s.data.id===r&&l(s.data.message)},a.postMessage({id:r,message:n},o)},terminate:()=>{a.terminate(),URL.revokeObjectURL(i)}}},cp=e=>new Promise((t,i)=>{let a=new Image;a.onload=()=>{t(a)},a.onerror=n=>{i(n)},a.src=e}),al=(e,t)=>{let i=e.slice(0,e.size,e.type);return i.lastModifiedDate=e.lastModifiedDate,i.name=t,i},dp=e=>al(e,e.name),hn=[],pp=e=>{if(hn.includes(e))return;hn.push(e);let t=e({addFilter:ds,utils:{Type:M,forin:te,isString:ge,isFile:Je,toNaturalFileSize:Cn,replaceInString:rp,getExtensionFromFilename:ui,getFilenameWithoutExtension:On,guesstimateMimeType:qn,getFileFromBlob:ht,getFilenameFromURL:Dt,createRoute:fe,createWorker:sp,createView:ne,createItemAPI:he,loadImage:cp,copyFile:dp,renameFile:al,createBlob:An,applyFilterChain:Ae,text:ae,getNumericAspectRatioFromString:_n},views:{fileActionButton:Dn}});ps(t.options)},mp=()=>Object.prototype.toString.call(window.operamini)==="[object OperaMini]",up=()=>"Promise"in window,gp=()=>"slice"in Blob.prototype,fp=()=>"URL"in window&&"createObjectURL"in window.URL,hp=()=>"visibilityState"in document,bp=()=>"performance"in window,Ep=()=>"supports"in(window.CSS||{}),Tp=()=>/MSIE|Trident/.test(window.navigator.userAgent),Vi=(()=>{let e=bn()&&!mp()&&hp()&&up()&&gp()&&fp()&&bp()&&(Ep()||Tp());return()=>e})(),Ue={apps:[]},Ip="filepond",it=()=>{},nl={},Et={},Ct={},Gi={},gt=it,ft=it,Ui=it,Wi=it,ve=it,Hi=it,Ft=it;if(Vi()){Ur(()=>{Ue.apps.forEach(i=>i._read())},i=>{Ue.apps.forEach(a=>a._write(i))});let e=()=>{document.dispatchEvent(new CustomEvent("FilePond:loaded",{detail:{supported:Vi,create:gt,destroy:ft,parse:Ui,find:Wi,registerPlugin:ve,setOptions:Ft}})),document.removeEventListener("DOMContentLoaded",e)};document.readyState!=="loading"?setTimeout(()=>e(),0):document.addEventListener("DOMContentLoaded",e);let t=()=>te(oi(),(i,a)=>{Gi[i]=a[1]});nl={...wn},Ct={...re},Et={...U},Gi={},t(),gt=(...i)=>{let a=lp(...i);return a.on("destroy",ft),Ue.apps.push(a),fn(a)},ft=i=>{let a=Ue.apps.findIndex(n=>n.isAttachedTo(i));return a>=0?(Ue.apps.splice(a,1)[0].restoreElement(),!0):!1},Ui=i=>Array.from(i.querySelectorAll(`.${Ip}`)).filter(l=>!Ue.apps.find(o=>o.isAttachedTo(l))).map(l=>gt(l)),Wi=i=>{let a=Ue.apps.find(n=>n.isAttachedTo(i));return a?fn(a):null},ve=(...i)=>{i.forEach(pp),t()},Hi=()=>{let i={};return te(oi(),(a,n)=>{i[a]=n[0]}),i},Ft=i=>(ce(i)&&(Ue.apps.forEach(a=>{a.setOptions(i)}),ms(i)),Hi())}function ll(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),i.push.apply(i,a)}return i}function vl(e){for(var t=1;te.length)&&(t=e.length);for(var i=0,a=new Array(t);i
    ',Np=Number.isNaN||De.isNaN;function j(e){return typeof e=="number"&&!Np(e)}var El=function(t){return t>0&&t<1/0};function la(e){return typeof e>"u"}function lt(e){return ra(e)==="object"&&e!==null}var kp=Object.prototype.hasOwnProperty;function It(e){if(!lt(e))return!1;try{var t=e.constructor,i=t.prototype;return t&&i&&kp.call(i,"isPrototypeOf")}catch{return!1}}function be(e){return typeof e=="function"}var Vp=Array.prototype.slice;function Pl(e){return Array.from?Array.from(e):Vp.call(e)}function le(e,t){return e&&be(t)&&(Array.isArray(e)||j(e.length)?Pl(e).forEach(function(i,a){t.call(e,i,a,e)}):lt(e)&&Object.keys(e).forEach(function(i){t.call(e,e[i],i,e)})),e}var J=Object.assign||function(t){for(var i=arguments.length,a=new Array(i>1?i-1:0),n=1;n0&&a.forEach(function(l){lt(l)&&Object.keys(l).forEach(function(o){t[o]=l[o]})}),t},Gp=/\.\d*(?:0|9){12}\d*$/;function xt(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return Gp.test(e)?Math.round(e*t)/t:e}var Up=/^width|height|left|top|marginLeft|marginTop$/;function je(e,t){var i=e.style;le(t,function(a,n){Up.test(n)&&j(a)&&(a="".concat(a,"px")),i[n]=a})}function Wp(e,t){return e.classList?e.classList.contains(t):e.className.indexOf(t)>-1}function de(e,t){if(t){if(j(e.length)){le(e,function(a){de(a,t)});return}if(e.classList){e.classList.add(t);return}var i=e.className.trim();i?i.indexOf(t)<0&&(e.className="".concat(i," ").concat(t)):e.className=t}}function Fe(e,t){if(t){if(j(e.length)){le(e,function(i){Fe(i,t)});return}if(e.classList){e.classList.remove(t);return}e.className.indexOf(t)>=0&&(e.className=e.className.replace(t,""))}}function vt(e,t,i){if(t){if(j(e.length)){le(e,function(a){vt(a,t,i)});return}i?de(e,t):Fe(e,t)}}var Hp=/([a-z\d])([A-Z])/g;function va(e){return e.replace(Hp,"$1-$2").toLowerCase()}function ha(e,t){return lt(e[t])?e[t]:e.dataset?e.dataset[t]:e.getAttribute("data-".concat(va(t)))}function Wt(e,t,i){lt(i)?e[t]=i:e.dataset?e.dataset[t]=i:e.setAttribute("data-".concat(va(t)),i)}function jp(e,t){if(lt(e[t]))try{delete e[t]}catch{e[t]=void 0}else if(e.dataset)try{delete e.dataset[t]}catch{e.dataset[t]=void 0}else e.removeAttribute("data-".concat(va(t)))}var zl=/\s\s*/,Ol=function(){var e=!1;if(Ti){var t=!1,i=function(){},a=Object.defineProperty({},"once",{get:function(){return e=!0,t},set:function(l){t=l}});De.addEventListener("test",i,a),De.removeEventListener("test",i,a)}return e}();function Oe(e,t,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},n=i;t.trim().split(zl).forEach(function(l){if(!Ol){var o=e.listeners;o&&o[l]&&o[l][i]&&(n=o[l][i],delete o[l][i],Object.keys(o[l]).length===0&&delete o[l],Object.keys(o).length===0&&delete e.listeners)}e.removeEventListener(l,n,a)})}function Se(e,t,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},n=i;t.trim().split(zl).forEach(function(l){if(a.once&&!Ol){var o=e.listeners,r=o===void 0?{}:o;n=function(){delete r[l][i],e.removeEventListener(l,n,a);for(var p=arguments.length,c=new Array(p),d=0;dMath.abs(i)&&(i=m)})}),i}function bi(e,t){var i=e.pageX,a=e.pageY,n={endX:i,endY:a};return t?n:vl({startX:i,startY:a},n)}function $p(e){var t=0,i=0,a=0;return le(e,function(n){var l=n.startX,o=n.startY;t+=l,i+=o,a+=1}),t/=a,i/=a,{pageX:t,pageY:i}}function Ye(e){var t=e.aspectRatio,i=e.height,a=e.width,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"contain",l=El(a),o=El(i);if(l&&o){var r=i*t;n==="contain"&&r>a||n==="cover"&&r90?{width:s,height:r}:{width:r,height:s}}function Kp(e,t,i,a){var n=t.aspectRatio,l=t.naturalWidth,o=t.naturalHeight,r=t.rotate,s=r===void 0?0:r,p=t.scaleX,c=p===void 0?1:p,d=t.scaleY,m=d===void 0?1:d,u=i.aspectRatio,g=i.naturalWidth,f=i.naturalHeight,h=a.fillColor,I=h===void 0?"transparent":h,b=a.imageSmoothingEnabled,T=b===void 0?!0:b,v=a.imageSmoothingQuality,y=v===void 0?"low":v,E=a.maxWidth,_=E===void 0?1/0:E,x=a.maxHeight,R=x===void 0?1/0:x,z=a.minWidth,P=z===void 0?0:z,A=a.minHeight,B=A===void 0?0:A,w=document.createElement("canvas"),O=w.getContext("2d"),S=Ye({aspectRatio:u,width:_,height:R}),L=Ye({aspectRatio:u,width:P,height:B},"cover"),D=Math.min(S.width,Math.max(L.width,g)),F=Math.min(S.height,Math.max(L.height,f)),G=Ye({aspectRatio:n,width:_,height:R}),C=Ye({aspectRatio:n,width:P,height:B},"cover"),q=Math.min(G.width,Math.max(C.width,l)),$=Math.min(G.height,Math.max(C.height,o)),K=[-q/2,-$/2,q,$];return w.width=xt(D),w.height=xt(F),O.fillStyle=I,O.fillRect(0,0,D,F),O.save(),O.translate(D/2,F/2),O.rotate(s*Math.PI/180),O.scale(c,m),O.imageSmoothingEnabled=T,O.imageSmoothingQuality=y,O.drawImage.apply(O,[e].concat(yl(K.map(function(pe){return Math.floor(xt(pe))})))),O.restore(),w}var Dl=String.fromCharCode;function Qp(e,t,i){var a="";i+=t;for(var n=t;n0;)i.push(Dl.apply(null,Pl(n.subarray(0,a)))),n=n.subarray(a);return"data:".concat(t,";base64,").concat(btoa(i.join("")))}function tm(e){var t=new DataView(e),i;try{var a,n,l;if(t.getUint8(0)===255&&t.getUint8(1)===216)for(var o=t.byteLength,r=2;r+1=8&&(l=p+d)}}}if(l){var m=t.getUint16(l,a),u,g;for(g=0;g=0?l:Ml),height:Math.max(a.offsetHeight,o>=0?o:Al)};this.containerData=r,je(n,{width:r.width,height:r.height}),de(t,Ee),Fe(n,Ee)},initCanvas:function(){var t=this.containerData,i=this.imageData,a=this.options.viewMode,n=Math.abs(i.rotate)%180===90,l=n?i.naturalHeight:i.naturalWidth,o=n?i.naturalWidth:i.naturalHeight,r=l/o,s=t.width,p=t.height;t.height*r>t.width?a===3?s=t.height*r:p=t.width/r:a===3?p=t.width/r:s=t.height*r;var c={aspectRatio:r,naturalWidth:l,naturalHeight:o,width:s,height:p};this.canvasData=c,this.limited=a===1||a===2,this.limitCanvas(!0,!0),c.width=Math.min(Math.max(c.width,c.minWidth),c.maxWidth),c.height=Math.min(Math.max(c.height,c.minHeight),c.maxHeight),c.left=(t.width-c.width)/2,c.top=(t.height-c.height)/2,c.oldLeft=c.left,c.oldTop=c.top,this.initialCanvasData=J({},c)},limitCanvas:function(t,i){var a=this.options,n=this.containerData,l=this.canvasData,o=this.cropBoxData,r=a.viewMode,s=l.aspectRatio,p=this.cropped&&o;if(t){var c=Number(a.minCanvasWidth)||0,d=Number(a.minCanvasHeight)||0;r>1?(c=Math.max(c,n.width),d=Math.max(d,n.height),r===3&&(d*s>c?c=d*s:d=c/s)):r>0&&(c?c=Math.max(c,p?o.width:0):d?d=Math.max(d,p?o.height:0):p&&(c=o.width,d=o.height,d*s>c?c=d*s:d=c/s));var m=Ye({aspectRatio:s,width:c,height:d});c=m.width,d=m.height,l.minWidth=c,l.minHeight=d,l.maxWidth=1/0,l.maxHeight=1/0}if(i)if(r>(p?0:1)){var u=n.width-l.width,g=n.height-l.height;l.minLeft=Math.min(0,u),l.minTop=Math.min(0,g),l.maxLeft=Math.max(0,u),l.maxTop=Math.max(0,g),p&&this.limited&&(l.minLeft=Math.min(o.left,o.left+(o.width-l.width)),l.minTop=Math.min(o.top,o.top+(o.height-l.height)),l.maxLeft=o.left,l.maxTop=o.top,r===2&&(l.width>=n.width&&(l.minLeft=Math.min(0,u),l.maxLeft=Math.max(0,u)),l.height>=n.height&&(l.minTop=Math.min(0,g),l.maxTop=Math.max(0,g))))}else l.minLeft=-l.width,l.minTop=-l.height,l.maxLeft=n.width,l.maxTop=n.height},renderCanvas:function(t,i){var a=this.canvasData,n=this.imageData;if(i){var l=Xp({width:n.naturalWidth*Math.abs(n.scaleX||1),height:n.naturalHeight*Math.abs(n.scaleY||1),degree:n.rotate||0}),o=l.width,r=l.height,s=a.width*(o/a.naturalWidth),p=a.height*(r/a.naturalHeight);a.left-=(s-a.width)/2,a.top-=(p-a.height)/2,a.width=s,a.height=p,a.aspectRatio=o/r,a.naturalWidth=o,a.naturalHeight=r,this.limitCanvas(!0,!1)}(a.width>a.maxWidth||a.widtha.maxHeight||a.heighti.width?l.height=l.width/a:l.width=l.height*a),this.cropBoxData=l,this.limitCropBox(!0,!0),l.width=Math.min(Math.max(l.width,l.minWidth),l.maxWidth),l.height=Math.min(Math.max(l.height,l.minHeight),l.maxHeight),l.width=Math.max(l.minWidth,l.width*n),l.height=Math.max(l.minHeight,l.height*n),l.left=i.left+(i.width-l.width)/2,l.top=i.top+(i.height-l.height)/2,l.oldLeft=l.left,l.oldTop=l.top,this.initialCropBoxData=J({},l)},limitCropBox:function(t,i){var a=this.options,n=this.containerData,l=this.canvasData,o=this.cropBoxData,r=this.limited,s=a.aspectRatio;if(t){var p=Number(a.minCropBoxWidth)||0,c=Number(a.minCropBoxHeight)||0,d=r?Math.min(n.width,l.width,l.width+l.left,n.width-l.left):n.width,m=r?Math.min(n.height,l.height,l.height+l.top,n.height-l.top):n.height;p=Math.min(p,n.width),c=Math.min(c,n.height),s&&(p&&c?c*s>p?c=p/s:p=c*s:p?c=p/s:c&&(p=c*s),m*s>d?m=d/s:d=m*s),o.minWidth=Math.min(p,d),o.minHeight=Math.min(c,m),o.maxWidth=d,o.maxHeight=m}i&&(r?(o.minLeft=Math.max(0,l.left),o.minTop=Math.max(0,l.top),o.maxLeft=Math.min(n.width,l.left+l.width)-o.width,o.maxTop=Math.min(n.height,l.top+l.height)-o.height):(o.minLeft=0,o.minTop=0,o.maxLeft=n.width-o.width,o.maxTop=n.height-o.height))},renderCropBox:function(){var t=this.options,i=this.containerData,a=this.cropBoxData;(a.width>a.maxWidth||a.widtha.maxHeight||a.height=i.width&&a.height>=i.height?Sl:Ta),je(this.cropBox,J({width:a.width,height:a.height},Gt({translateX:a.left,translateY:a.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),yt(this.element,pa,this.getData())}},nm={initPreview:function(){var t=this.element,i=this.crossOrigin,a=this.options.preview,n=i?this.crossOriginUrl:this.url,l=t.alt||"The image to preview",o=document.createElement("img");if(i&&(o.crossOrigin=i),o.src=n,o.alt=l,this.viewBox.appendChild(o),this.viewBoxImage=o,!!a){var r=a;typeof a=="string"?r=t.ownerDocument.querySelectorAll(a):a.querySelector&&(r=[a]),this.previews=r,le(r,function(s){var p=document.createElement("img");Wt(s,hi,{width:s.offsetWidth,height:s.offsetHeight,html:s.innerHTML}),i&&(p.crossOrigin=i),p.src=n,p.alt=l,p.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',s.innerHTML="",s.appendChild(p)})}},resetPreview:function(){le(this.previews,function(t){var i=ha(t,hi);je(t,{width:i.width,height:i.height}),t.innerHTML=i.html,jp(t,hi)})},preview:function(){var t=this.imageData,i=this.canvasData,a=this.cropBoxData,n=a.width,l=a.height,o=t.width,r=t.height,s=a.left-i.left-t.left,p=a.top-i.top-t.top;!this.cropped||this.disabled||(je(this.viewBoxImage,J({width:o,height:r},Gt(J({translateX:-s,translateY:-p},t)))),le(this.previews,function(c){var d=ha(c,hi),m=d.width,u=d.height,g=m,f=u,h=1;n&&(h=m/n,f=l*h),l&&f>u&&(h=u/l,g=n*h,f=u),je(c,{width:g,height:f}),je(c.getElementsByTagName("img")[0],J({width:o*h,height:r*h},Gt(J({translateX:-s*h,translateY:-p*h},t))))}))}},lm={bind:function(){var t=this.element,i=this.options,a=this.cropper;be(i.cropstart)&&Se(t,ga,i.cropstart),be(i.cropmove)&&Se(t,ua,i.cropmove),be(i.cropend)&&Se(t,ma,i.cropend),be(i.crop)&&Se(t,pa,i.crop),be(i.zoom)&&Se(t,fa,i.zoom),Se(a,dl,this.onCropStart=this.cropStart.bind(this)),i.zoomable&&i.zoomOnWheel&&Se(a,fl,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),i.toggleDragModeOnDblclick&&Se(a,cl,this.onDblclick=this.dblclick.bind(this)),Se(t.ownerDocument,pl,this.onCropMove=this.cropMove.bind(this)),Se(t.ownerDocument,ml,this.onCropEnd=this.cropEnd.bind(this)),i.responsive&&Se(window,gl,this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,i=this.options,a=this.cropper;be(i.cropstart)&&Oe(t,ga,i.cropstart),be(i.cropmove)&&Oe(t,ua,i.cropmove),be(i.cropend)&&Oe(t,ma,i.cropend),be(i.crop)&&Oe(t,pa,i.crop),be(i.zoom)&&Oe(t,fa,i.zoom),Oe(a,dl,this.onCropStart),i.zoomable&&i.zoomOnWheel&&Oe(a,fl,this.onWheel,{passive:!1,capture:!0}),i.toggleDragModeOnDblclick&&Oe(a,cl,this.onDblclick),Oe(t.ownerDocument,pl,this.onCropMove),Oe(t.ownerDocument,ml,this.onCropEnd),i.responsive&&Oe(window,gl,this.onResize)}},om={resize:function(){if(!this.disabled){var t=this.options,i=this.container,a=this.containerData,n=i.offsetWidth/a.width,l=i.offsetHeight/a.height,o=Math.abs(n-1)>Math.abs(l-1)?n:l;if(o!==1){var r,s;t.restore&&(r=this.getCanvasData(),s=this.getCropBoxData()),this.render(),t.restore&&(this.setCanvasData(le(r,function(p,c){r[c]=p*o})),this.setCropBoxData(le(s,function(p,c){s[c]=p*o})))}}},dblclick:function(){this.disabled||this.options.dragMode===Ll||this.setDragMode(Wp(this.dragBox,ca)?wl:Ia)},wheel:function(t){var i=this,a=Number(this.options.wheelZoomRatio)||.1,n=1;this.disabled||(t.preventDefault(),!this.wheeling&&(this.wheeling=!0,setTimeout(function(){i.wheeling=!1},50),t.deltaY?n=t.deltaY>0?1:-1:t.wheelDelta?n=-t.wheelDelta/120:t.detail&&(n=t.detail>0?1:-1),this.zoom(-n*a,t)))},cropStart:function(t){var i=t.buttons,a=t.button;if(!(this.disabled||(t.type==="mousedown"||t.type==="pointerdown"&&t.pointerType==="mouse")&&(j(i)&&i!==1||j(a)&&a!==0||t.ctrlKey))){var n=this.options,l=this.pointers,o;t.changedTouches?le(t.changedTouches,function(r){l[r.identifier]=bi(r)}):l[t.pointerId||0]=bi(t),Object.keys(l).length>1&&n.zoomable&&n.zoomOnTouch?o=_l:o=ha(t.target,Ut),Op.test(o)&&yt(this.element,ga,{originalEvent:t,action:o})!==!1&&(t.preventDefault(),this.action=o,this.cropping=!1,o===Rl&&(this.cropping=!0,de(this.dragBox,Ei)))}},cropMove:function(t){var i=this.action;if(!(this.disabled||!i)){var a=this.pointers;t.preventDefault(),yt(this.element,ua,{originalEvent:t,action:i})!==!1&&(t.changedTouches?le(t.changedTouches,function(n){J(a[n.identifier]||{},bi(n,!0))}):J(a[t.pointerId||0]||{},bi(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var i=this.action,a=this.pointers;t.changedTouches?le(t.changedTouches,function(n){delete a[n.identifier]}):delete a[t.pointerId||0],i&&(t.preventDefault(),Object.keys(a).length||(this.action=""),this.cropping&&(this.cropping=!1,vt(this.dragBox,Ei,this.cropped&&this.options.modal)),yt(this.element,ma,{originalEvent:t,action:i}))}}},rm={change:function(t){var i=this.options,a=this.canvasData,n=this.containerData,l=this.cropBoxData,o=this.pointers,r=this.action,s=i.aspectRatio,p=l.left,c=l.top,d=l.width,m=l.height,u=p+d,g=c+m,f=0,h=0,I=n.width,b=n.height,T=!0,v;!s&&t.shiftKey&&(s=d&&m?d/m:1),this.limited&&(f=l.minLeft,h=l.minTop,I=f+Math.min(n.width,a.width,a.left+a.width),b=h+Math.min(n.height,a.height,a.top+a.height));var y=o[Object.keys(o)[0]],E={x:y.endX-y.startX,y:y.endY-y.startY},_=function(R){switch(R){case at:u+E.x>I&&(E.x=I-u);break;case nt:p+E.xb&&(E.y=b-g);break}};switch(r){case Ta:p+=E.x,c+=E.y;break;case at:if(E.x>=0&&(u>=I||s&&(c<=h||g>=b))){T=!1;break}_(at),d+=E.x,d<0&&(r=nt,d=-d,p-=d),s&&(m=d/s,c+=(l.height-m)/2);break;case He:if(E.y<=0&&(c<=h||s&&(p<=f||u>=I))){T=!1;break}_(He),m-=E.y,c+=E.y,m<0&&(r=Tt,m=-m,c-=m),s&&(d=m*s,p+=(l.width-d)/2);break;case nt:if(E.x<=0&&(p<=f||s&&(c<=h||g>=b))){T=!1;break}_(nt),d-=E.x,p+=E.x,d<0&&(r=at,d=-d,p-=d),s&&(m=d/s,c+=(l.height-m)/2);break;case Tt:if(E.y>=0&&(g>=b||s&&(p<=f||u>=I))){T=!1;break}_(Tt),m+=E.y,m<0&&(r=He,m=-m,c-=m),s&&(d=m*s,p+=(l.width-d)/2);break;case Bt:if(s){if(E.y<=0&&(c<=h||u>=I)){T=!1;break}_(He),m-=E.y,c+=E.y,d=m*s}else _(He),_(at),E.x>=0?uh&&(m-=E.y,c+=E.y):(m-=E.y,c+=E.y);d<0&&m<0?(r=Vt,m=-m,d=-d,c-=m,p-=d):d<0?(r=Nt,d=-d,p-=d):m<0&&(r=kt,m=-m,c-=m);break;case Nt:if(s){if(E.y<=0&&(c<=h||p<=f)){T=!1;break}_(He),m-=E.y,c+=E.y,d=m*s,p+=l.width-d}else _(He),_(nt),E.x<=0?p>f?(d-=E.x,p+=E.x):E.y<=0&&c<=h&&(T=!1):(d-=E.x,p+=E.x),E.y<=0?c>h&&(m-=E.y,c+=E.y):(m-=E.y,c+=E.y);d<0&&m<0?(r=kt,m=-m,d=-d,c-=m,p-=d):d<0?(r=Bt,d=-d,p-=d):m<0&&(r=Vt,m=-m,c-=m);break;case Vt:if(s){if(E.x<=0&&(p<=f||g>=b)){T=!1;break}_(nt),d-=E.x,p+=E.x,m=d/s}else _(Tt),_(nt),E.x<=0?p>f?(d-=E.x,p+=E.x):E.y>=0&&g>=b&&(T=!1):(d-=E.x,p+=E.x),E.y>=0?g=0&&(u>=I||g>=b)){T=!1;break}_(at),d+=E.x,m=d/s}else _(Tt),_(at),E.x>=0?u=0&&g>=b&&(T=!1):d+=E.x,E.y>=0?g0?r=E.y>0?kt:Bt:E.x<0&&(p-=d,r=E.y>0?Vt:Nt),E.y<0&&(c-=m),this.cropped||(Fe(this.cropBox,Ee),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break}T&&(l.width=d,l.height=m,l.left=p,l.top=c,this.action=r,this.renderCropBox()),le(o,function(x){x.startX=x.endX,x.startY=x.endY})}},sm={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&de(this.dragBox,Ei),Fe(this.cropBox,Ee),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=J({},this.initialImageData),this.canvasData=J({},this.initialCanvasData),this.cropBoxData=J({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(J(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),Fe(this.dragBox,Ei),de(this.cropBox,Ee)),this},replace:function(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return!this.disabled&&t&&(this.isImg&&(this.element.src=t),i?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,le(this.previews,function(a){a.getElementsByTagName("img")[0].src=t}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(t))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,Fe(this.cropper,rl)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,de(this.cropper,rl)),this},destroy:function(){var t=this.element;return t[Z]?(t[Z]=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,a=this.canvasData,n=a.left,l=a.top;return this.moveTo(la(t)?t:n+Number(t),la(i)?i:l+Number(i))},moveTo:function(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,a=this.canvasData,n=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.movable&&(j(t)&&(a.left=t,n=!0),j(i)&&(a.top=i,n=!0),n&&this.renderCanvas(!0)),this},zoom:function(t,i){var a=this.canvasData;return t=Number(t),t<0?t=1/(1-t):t=1+t,this.zoomTo(a.width*t/a.naturalWidth,null,i)},zoomTo:function(t,i,a){var n=this.options,l=this.canvasData,o=l.width,r=l.height,s=l.naturalWidth,p=l.naturalHeight;if(t=Number(t),t>=0&&this.ready&&!this.disabled&&n.zoomable){var c=s*t,d=p*t;if(yt(this.element,fa,{ratio:t,oldRatio:o/s,originalEvent:a})===!1)return this;if(a){var m=this.pointers,u=Fl(this.cropper),g=m&&Object.keys(m).length?$p(m):{pageX:a.pageX,pageY:a.pageY};l.left-=(c-o)*((g.pageX-u.left-l.left)/o),l.top-=(d-r)*((g.pageY-u.top-l.top)/r)}else It(i)&&j(i.x)&&j(i.y)?(l.left-=(c-o)*((i.x-l.left)/o),l.top-=(d-r)*((i.y-l.top)/r)):(l.left-=(c-o)/2,l.top-=(d-r)/2);l.width=c,l.height=d,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return t=Number(t),j(t)&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var i=this.imageData.scaleY;return this.scale(t,j(i)?i:1)},scaleY:function(t){var i=this.imageData.scaleX;return this.scale(j(i)?i:1,t)},scale:function(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,a=this.imageData,n=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.scalable&&(j(t)&&(a.scaleX=t,n=!0),j(i)&&(a.scaleY=i,n=!0),n&&this.renderCanvas(!0,!0)),this},getData:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,i=this.options,a=this.imageData,n=this.canvasData,l=this.cropBoxData,o;if(this.ready&&this.cropped){o={x:l.left-n.left,y:l.top-n.top,width:l.width,height:l.height};var r=a.width/a.naturalWidth;if(le(o,function(c,d){o[d]=c/r}),t){var s=Math.round(o.y+o.height),p=Math.round(o.x+o.width);o.x=Math.round(o.x),o.y=Math.round(o.y),o.width=p-o.x,o.height=s-o.y}}else o={x:0,y:0,width:0,height:0};return i.rotatable&&(o.rotate=a.rotate||0),i.scalable&&(o.scaleX=a.scaleX||1,o.scaleY=a.scaleY||1),o},setData:function(t){var i=this.options,a=this.imageData,n=this.canvasData,l={};if(this.ready&&!this.disabled&&It(t)){var o=!1;i.rotatable&&j(t.rotate)&&t.rotate!==a.rotate&&(a.rotate=t.rotate,o=!0),i.scalable&&(j(t.scaleX)&&t.scaleX!==a.scaleX&&(a.scaleX=t.scaleX,o=!0),j(t.scaleY)&&t.scaleY!==a.scaleY&&(a.scaleY=t.scaleY,o=!0)),o&&this.renderCanvas(!0,!0);var r=a.width/a.naturalWidth;j(t.x)&&(l.left=t.x*r+n.left),j(t.y)&&(l.top=t.y*r+n.top),j(t.width)&&(l.width=t.width*r),j(t.height)&&(l.height=t.height*r),this.setCropBoxData(l)}return this},getContainerData:function(){return this.ready?J({},this.containerData):{}},getImageData:function(){return this.sized?J({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,i={};return this.ready&&le(["left","top","width","height","naturalWidth","naturalHeight"],function(a){i[a]=t[a]}),i},setCanvasData:function(t){var i=this.canvasData,a=i.aspectRatio;return this.ready&&!this.disabled&&It(t)&&(j(t.left)&&(i.left=t.left),j(t.top)&&(i.top=t.top),j(t.width)?(i.width=t.width,i.height=t.width/a):j(t.height)&&(i.height=t.height,i.width=t.height*a),this.renderCanvas(!0)),this},getCropBoxData:function(){var t=this.cropBoxData,i;return this.ready&&this.cropped&&(i={left:t.left,top:t.top,width:t.width,height:t.height}),i||{}},setCropBoxData:function(t){var i=this.cropBoxData,a=this.options.aspectRatio,n,l;return this.ready&&this.cropped&&!this.disabled&&It(t)&&(j(t.left)&&(i.left=t.left),j(t.top)&&(i.top=t.top),j(t.width)&&t.width!==i.width&&(n=!0,i.width=t.width),j(t.height)&&t.height!==i.height&&(l=!0,i.height=t.height),a&&(n?i.height=i.width/a:l&&(i.width=i.height*a)),this.renderCropBox()),this},getCroppedCanvas:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var i=this.canvasData,a=Kp(this.image,this.imageData,i,t);if(!this.cropped)return a;var n=this.getData(t.rounded),l=n.x,o=n.y,r=n.width,s=n.height,p=a.width/Math.floor(i.naturalWidth);p!==1&&(l*=p,o*=p,r*=p,s*=p);var c=r/s,d=Ye({aspectRatio:c,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),m=Ye({aspectRatio:c,width:t.minWidth||0,height:t.minHeight||0},"cover"),u=Ye({aspectRatio:c,width:t.width||(p!==1?a.width:r),height:t.height||(p!==1?a.height:s)}),g=u.width,f=u.height;g=Math.min(d.width,Math.max(m.width,g)),f=Math.min(d.height,Math.max(m.height,f));var h=document.createElement("canvas"),I=h.getContext("2d");h.width=xt(g),h.height=xt(f),I.fillStyle=t.fillColor||"transparent",I.fillRect(0,0,g,f);var b=t.imageSmoothingEnabled,T=b===void 0?!0:b,v=t.imageSmoothingQuality;I.imageSmoothingEnabled=T,v&&(I.imageSmoothingQuality=v);var y=a.width,E=a.height,_=l,x=o,R,z,P,A,B,w;_<=-r||_>y?(_=0,R=0,P=0,B=0):_<=0?(P=-_,_=0,R=Math.min(y,r+_),B=R):_<=y&&(P=0,R=Math.min(r,y-_),B=R),R<=0||x<=-s||x>E?(x=0,z=0,A=0,w=0):x<=0?(A=-x,x=0,z=Math.min(E,s+x),w=z):x<=E&&(A=0,z=Math.min(s,E-x),w=z);var O=[_,x,R,z];if(B>0&&w>0){var S=g/r;O.push(P*S,A*S,B*S,w*S)}return I.drawImage.apply(I,[a].concat(yl(O.map(function(L){return Math.floor(xt(L))})))),h},setAspectRatio:function(t){var i=this.options;return!this.disabled&&!la(t)&&(i.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var i=this.options,a=this.dragBox,n=this.face;if(this.ready&&!this.disabled){var l=t===Ia,o=i.movable&&t===wl;t=l||o?t:Ll,i.dragMode=t,Wt(a,Ut,t),vt(a,ca,l),vt(a,da,o),i.cropBoxMovable||(Wt(n,Ut,t),vt(n,ca,l),vt(n,da,o))}return this}},cm=De.Cropper,xa=function(){function e(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(xp(this,e),!t||!Cp.test(t.tagName))throw new Error("The first argument is required and must be an or element.");this.element=t,this.options=J({},bl,It(i)&&i),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return yp(e,[{key:"init",value:function(){var i=this.element,a=i.tagName.toLowerCase(),n;if(!i[Z]){if(i[Z]=this,a==="img"){if(this.isImg=!0,n=i.getAttribute("src")||"",this.originalUrl=n,!n)return;n=i.src}else a==="canvas"&&window.HTMLCanvasElement&&(n=i.toDataURL());this.load(n)}}},{key:"load",value:function(i){var a=this;if(i){this.url=i,this.imageData={};var n=this.element,l=this.options;if(!l.rotatable&&!l.scalable&&(l.checkOrientation=!1),!l.checkOrientation||!window.ArrayBuffer){this.clone();return}if(Fp.test(i)){Dp.test(i)?this.read(Jp(i)):this.clone();return}var o=new XMLHttpRequest,r=this.clone.bind(this);this.reloading=!0,this.xhr=o,o.onabort=r,o.onerror=r,o.ontimeout=r,o.onprogress=function(){o.getResponseHeader("content-type")!==hl&&o.abort()},o.onload=function(){a.read(o.response)},o.onloadend=function(){a.reloading=!1,a.xhr=null},l.checkCrossOrigin&&Tl(i)&&n.crossOrigin&&(i=Il(i)),o.open("GET",i,!0),o.responseType="arraybuffer",o.withCredentials=n.crossOrigin==="use-credentials",o.send()}}},{key:"read",value:function(i){var a=this.options,n=this.imageData,l=tm(i),o=0,r=1,s=1;if(l>1){this.url=em(i,hl);var p=im(l);o=p.rotate,r=p.scaleX,s=p.scaleY}a.rotatable&&(n.rotate=o),a.scalable&&(n.scaleX=r,n.scaleY=s),this.clone()}},{key:"clone",value:function(){var i=this.element,a=this.url,n=i.crossOrigin,l=a;this.options.checkCrossOrigin&&Tl(a)&&(n||(n="anonymous"),l=Il(a)),this.crossOrigin=n,this.crossOriginUrl=l;var o=document.createElement("img");n&&(o.crossOrigin=n),o.src=l||a,o.alt=i.alt||"The image to crop",this.image=o,o.onload=this.start.bind(this),o.onerror=this.stop.bind(this),de(o,sl),i.parentNode.insertBefore(o,i.nextSibling)}},{key:"start",value:function(){var i=this,a=this.image;a.onload=null,a.onerror=null,this.sizing=!0;var n=De.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(De.navigator.userAgent),l=function(p,c){J(i.imageData,{naturalWidth:p,naturalHeight:c,aspectRatio:p/c}),i.initialImageData=J({},i.imageData),i.sizing=!1,i.sized=!0,i.build()};if(a.naturalWidth&&!n){l(a.naturalWidth,a.naturalHeight);return}var o=document.createElement("img"),r=document.body||document.documentElement;this.sizingImage=o,o.onload=function(){l(o.width,o.height),n||r.removeChild(o)},o.src=a.src,n||(o.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",r.appendChild(o))}},{key:"stop",value:function(){var i=this.image;i.onload=null,i.onerror=null,i.parentNode.removeChild(i),this.image=null}},{key:"build",value:function(){if(!(!this.sized||this.ready)){var i=this.element,a=this.options,n=this.image,l=i.parentNode,o=document.createElement("div");o.innerHTML=Bp;var r=o.querySelector(".".concat(Z,"-container")),s=r.querySelector(".".concat(Z,"-canvas")),p=r.querySelector(".".concat(Z,"-drag-box")),c=r.querySelector(".".concat(Z,"-crop-box")),d=c.querySelector(".".concat(Z,"-face"));this.container=l,this.cropper=r,this.canvas=s,this.dragBox=p,this.cropBox=c,this.viewBox=r.querySelector(".".concat(Z,"-view-box")),this.face=d,s.appendChild(n),de(i,Ee),l.insertBefore(r,i.nextSibling),Fe(n,sl),this.initPreview(),this.bind(),a.initialAspectRatio=Math.max(0,a.initialAspectRatio)||NaN,a.aspectRatio=Math.max(0,a.aspectRatio)||NaN,a.viewMode=Math.max(0,Math.min(3,Math.round(a.viewMode)))||0,de(c,Ee),a.guides||de(c.getElementsByClassName("".concat(Z,"-dashed")),Ee),a.center||de(c.getElementsByClassName("".concat(Z,"-center")),Ee),a.background&&de(r,"".concat(Z,"-bg")),a.highlight||de(d,Mp),a.cropBoxMovable&&(de(d,da),Wt(d,Ut,Ta)),a.cropBoxResizable||(de(c.getElementsByClassName("".concat(Z,"-line")),Ee),de(c.getElementsByClassName("".concat(Z,"-point")),Ee)),this.render(),this.ready=!0,this.setDragMode(a.dragMode),a.autoCrop&&this.crop(),this.setData(a.data),be(a.ready)&&Se(i,ul,a.ready,{once:!0}),yt(i,ul)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var i=this.cropper.parentNode;i&&i.removeChild(this.cropper),Fe(this.element,Ee)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],[{key:"noConflict",value:function(){return window.Cropper=cm,e}},{key:"setDefaults",value:function(i){J(bl,It(i)&&i)}}])}();J(xa.prototype,am,nm,lm,om,rm,sm);var Cl={"application/prs.cww":["cww"],"application/prs.xsf+xml":["xsf"],"application/vnd.1000minds.decision-model+xml":["1km"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["*xfdf"],"application/vnd.age":["age"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.keynote":["key"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.autodesk.fbx":["fbx"],"application/vnd.balsamiq.bmml+xml":["bmml"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.citationstyles.style+xml":["csl"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dbf":["dbf"],"application/vnd.dcmp+xml":["dcmp"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["*fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.slides":["ggs"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.drawing":["gdraw"],"application/vnd.google-apps.form":["gform"],"application/vnd.google-apps.jam":["gjam"],"application/vnd.google-apps.map":["gmap"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.script":["gscript"],"application/vnd.google-apps.site":["gsite"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.gov.sk.xmldatacontainer+xml":["xdcf"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mapbox-vector-tile":["mvt"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["*stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["*mpp","mpt"],"application/vnd.ms-visio.viewer":["vdx"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.nato.bindingdataobject+xml":["bdo"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.ac+xml":["*ac"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openblox.game+xml":["obgx"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openstreetmap.data+xml":["osm"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.procrate.brushset":["brushset"],"application/vnd.procreate.brush":["brush"],"application/vnd.procreate.dream":["drm"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.pwg-xhtml-print+xml":["xhtm"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.rar":["rar"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.software602.filler.form+xml":["fo"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.syncml.dmddf+xml":["ddf"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml","uo"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw","vsdx","vtx"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["*dmg"],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":["*bdoc"],"application/x-bittorrent":["torrent"],"application/x-blender":["blend"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-compressed":["*rar"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["*deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-ipynb+json":["ipynb"],"application/x-iso9660-image":["*iso"],"application/x-iwork-keynote-sffkey":["*key"],"application/x-iwork-numbers-sffnumbers":["*numbers"],"application/x-iwork-pages-sffpages":["*pages"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-keepass2":["kdbx"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["*prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":["*exe"],"application/x-msdownload":["*exe","*dll","com","bat","*msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["*wmf","*wmz","*emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":["*prc","*pdb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["*rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["*sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["*obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["*xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zip-compressed":["*zip"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/x-aac":["*aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":["*m4a"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":["*ra"],"audio/x-wav":["*wav"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"image/prs.btif":["btif","btf"],"image/prs.pti":["pti"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.airzip.accelerator.azv":["azv"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["*sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.microsoft.icon":["ico"],"image/vnd.ms-dds":["dds"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.pco.b16":["b16"],"image/vnd.tencent.tap":["tap"],"image/vnd.valve.source.texture":["vtf"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/vnd.zbrush.pcx":["pcx"],"image/x-3ds":["3ds"],"image/x-adobe-dng":["dng"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["*ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":["*bmp"],"image/x-pcx":["*pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/vnd.wfa.wsc":["wsc"],"model/vnd.bary":["bary"],"model/vnd.cld":["cld"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["*mts"],"model/vnd.opengex":["ogex"],"model/vnd.parasolid.transmit.binary":["x_b"],"model/vnd.parasolid.transmit.text":["x_t"],"model/vnd.pytha.pyox":["pyo","pyox"],"model/vnd.sap.vds":["vds"],"model/vnd.usda":["usda"],"model/vnd.usdz+zip":["usdz"],"model/vnd.valve.source.compiled-map":["bsp"],"model/vnd.vtu":["vtu"],"text/prs.lines.tag":["dsc"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.familysearch.gedcom":["ged"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":["*org"],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]};Object.freeze(Cl);var Bl=Cl;var Nl={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/dicom":["dcm"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg","one","onea"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"application/zip+dotlottie":["lottie"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a","m4b"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/ief":["ief"],"image/jaii":["jaii"],"image/jais":["jais"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpg","jpeg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxl":["jxl"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/pjpeg":["jfif"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime","mht","mhtml"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step":["step","stp","stpnc","p21","210"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts","m2t","m2ts","mts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze(Nl);var kl=Nl;var _e=function(e,t,i,a){if(i==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?a:i==="a"?a.call(e):a?a.value:t.get(e)},Rt,Ht,ot,ya=class{constructor(...t){Rt.set(this,new Map),Ht.set(this,new Map),ot.set(this,new Map);for(let i of t)this.define(i)}define(t,i=!1){for(let[a,n]of Object.entries(t)){a=a.toLowerCase(),n=n.map(r=>r.toLowerCase()),_e(this,ot,"f").has(a)||_e(this,ot,"f").set(a,new Set);let l=_e(this,ot,"f").get(a),o=!0;for(let r of n){let s=r.startsWith("*");if(r=s?r.slice(1):r,l?.add(r),o&&_e(this,Ht,"f").set(a,r),o=!1,s)continue;let p=_e(this,Rt,"f").get(r);if(p&&p!=a&&!i)throw new Error(`"${a} -> ${r}" conflicts with "${p} -> ${r}". Pass \`force=true\` to override this definition.`);_e(this,Rt,"f").set(r,a)}}return this}getType(t){if(typeof t!="string")return null;let i=t.replace(/^.*[/\\]/s,"").toLowerCase(),a=i.replace(/^.*\./s,"").toLowerCase(),n=i.length{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(let t of _e(this,ot,"f").values())Object.freeze(t);return this}_getTestState(){return{types:_e(this,Rt,"f"),extensions:_e(this,Ht,"f")}}};Rt=new WeakMap,Ht=new WeakMap,ot=new WeakMap;var Ra=ya;var Vl=new Ra(kl,Bl)._freeze();var Gl=({addFilter:e,utils:t})=>{let{Type:i,replaceInString:a,toNaturalFileSize:n}=t;return e("ALLOW_HOPPER_ITEM",(l,{query:o})=>{if(!o("GET_ALLOW_FILE_SIZE_VALIDATION"))return!0;let r=o("GET_MAX_FILE_SIZE");if(r!==null&&l.size>r)return!1;let s=o("GET_MIN_FILE_SIZE");return!(s!==null&&l.sizenew Promise((r,s)=>{if(!o("GET_ALLOW_FILE_SIZE_VALIDATION"))return r(l);let p=o("GET_FILE_VALIDATE_SIZE_FILTER");if(p&&!p(l))return r(l);let c=o("GET_MAX_FILE_SIZE");if(c!==null&&l.size>c){s({status:{main:o("GET_LABEL_MAX_FILE_SIZE_EXCEEDED"),sub:a(o("GET_LABEL_MAX_FILE_SIZE"),{filesize:n(c,".",o("GET_FILE_SIZE_BASE"),o("GET_FILE_SIZE_LABELS",o))})}});return}let d=o("GET_MIN_FILE_SIZE");if(d!==null&&l.sizeg+f.fileSize,0)>m){s({status:{main:o("GET_LABEL_MAX_TOTAL_FILE_SIZE_EXCEEDED"),sub:a(o("GET_LABEL_MAX_TOTAL_FILE_SIZE"),{filesize:n(m,".",o("GET_FILE_SIZE_BASE"),o("GET_FILE_SIZE_LABELS",o))})}});return}r(l)})),{options:{allowFileSizeValidation:[!0,i.BOOLEAN],maxFileSize:[null,i.INT],minFileSize:[null,i.INT],maxTotalFileSize:[null,i.INT],fileValidateSizeFilter:[null,i.FUNCTION],labelMinFileSizeExceeded:["File is too small",i.STRING],labelMinFileSize:["Minimum file size is {filesize}",i.STRING],labelMaxFileSizeExceeded:["File is too large",i.STRING],labelMaxFileSize:["Maximum file size is {filesize}",i.STRING],labelMaxTotalFileSizeExceeded:["Maximum total size exceeded",i.STRING],labelMaxTotalFileSize:["Maximum total file size is {filesize}",i.STRING]}}},dm=typeof window<"u"&&typeof window.document<"u";dm&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:Gl}));var Ul=Gl;var Wl=({addFilter:e,utils:t})=>{let{Type:i,isString:a,replaceInString:n,guesstimateMimeType:l,getExtensionFromFilename:o,getFilenameFromURL:r}=t,s=(u,g)=>{let f=(/^[^/]+/.exec(u)||[]).pop(),h=g.slice(0,-2);return f===h},p=(u,g)=>u.some(f=>/\*$/.test(f)?s(g,f):f===g),c=u=>{let g="";if(a(u)){let f=r(u),h=o(f);h&&(g=l(h))}else g=u.type;return g},d=(u,g,f)=>{if(g.length===0)return!0;let h=c(u);return f?new Promise((I,b)=>{f(u,h).then(T=>{p(g,T)?I():b()}).catch(b)}):p(g,h)},m=u=>g=>u[g]===null?!1:u[g]||g;return e("SET_ATTRIBUTE_TO_OPTION_MAP",u=>Object.assign(u,{accept:"acceptedFileTypes"})),e("ALLOW_HOPPER_ITEM",(u,{query:g})=>g("GET_ALLOW_FILE_TYPE_VALIDATION")?d(u,g("GET_ACCEPTED_FILE_TYPES")):!0),e("LOAD_FILE",(u,{query:g})=>new Promise((f,h)=>{if(!g("GET_ALLOW_FILE_TYPE_VALIDATION")){f(u);return}let I=g("GET_ACCEPTED_FILE_TYPES"),b=g("GET_FILE_VALIDATE_TYPE_DETECT_TYPE"),T=d(u,I,b),v=()=>{let y=I.map(m(g("GET_FILE_VALIDATE_TYPE_LABEL_EXPECTED_TYPES_MAP"))).filter(_=>_!==!1),E=y.filter((_,x)=>y.indexOf(_)===x);h({status:{main:g("GET_LABEL_FILE_TYPE_NOT_ALLOWED"),sub:n(g("GET_FILE_VALIDATE_TYPE_LABEL_EXPECTED_TYPES"),{allTypes:E.join(", "),allButLastType:E.slice(0,-1).join(", "),lastType:E[E.length-1]})}})};if(typeof T=="boolean")return T?f(u):v();T.then(()=>{f(u)}).catch(v)})),{options:{allowFileTypeValidation:[!0,i.BOOLEAN],acceptedFileTypes:[[],i.ARRAY],labelFileTypeNotAllowed:["File is of invalid type",i.STRING],fileValidateTypeLabelExpectedTypes:["Expects {allButLastType} or {lastType}",i.STRING],fileValidateTypeLabelExpectedTypesMap:[{},i.OBJECT],fileValidateTypeDetectType:[null,i.FUNCTION]}}},pm=typeof window<"u"&&typeof window.document<"u";pm&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:Wl}));var Hl=Wl;var jl=e=>/^image/.test(e.type),Yl=({addFilter:e,utils:t})=>{let{Type:i,isFile:a,getNumericAspectRatioFromString:n}=t,l=(p,c)=>!(!jl(p.file)||!c("GET_ALLOW_IMAGE_CROP")),o=p=>typeof p=="object",r=p=>typeof p=="number",s=(p,c)=>p.setMetadata("crop",Object.assign({},p.getMetadata("crop"),c));return e("DID_CREATE_ITEM",(p,{query:c})=>{p.extend("setImageCrop",d=>{if(!(!l(p,c)||!o(center)))return p.setMetadata("crop",d),d}),p.extend("setImageCropCenter",d=>{if(!(!l(p,c)||!o(d)))return s(p,{center:d})}),p.extend("setImageCropZoom",d=>{if(!(!l(p,c)||!r(d)))return s(p,{zoom:Math.max(1,d)})}),p.extend("setImageCropRotation",d=>{if(!(!l(p,c)||!r(d)))return s(p,{rotation:d})}),p.extend("setImageCropFlip",d=>{if(!(!l(p,c)||!o(d)))return s(p,{flip:d})}),p.extend("setImageCropAspectRatio",d=>{if(!l(p,c)||typeof d>"u")return;let m=p.getMetadata("crop"),u=n(d),g={center:{x:.5,y:.5},flip:m?Object.assign({},m.flip):{horizontal:!1,vertical:!1},rotation:0,zoom:1,aspectRatio:u};return p.setMetadata("crop",g),g})}),e("DID_LOAD_ITEM",(p,{query:c})=>new Promise((d,m)=>{let u=p.file;if(!a(u)||!jl(u)||!c("GET_ALLOW_IMAGE_CROP")||p.getMetadata("crop"))return d(p);let f=c("GET_IMAGE_CROP_ASPECT_RATIO");p.setMetadata("crop",{center:{x:.5,y:.5},flip:{horizontal:!1,vertical:!1},rotation:0,zoom:1,aspectRatio:f?n(f):null}),d(p)})),{options:{allowImageCrop:[!0,i.BOOLEAN],imageCropAspectRatio:[null,i.STRING]}}},mm=typeof window<"u"&&typeof window.document<"u";mm&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:Yl}));var ql=Yl;var Sa=e=>/^image/.test(e.type),$l=e=>{let{addFilter:t,utils:i,views:a}=e,{Type:n,createRoute:l,createItemAPI:o=c=>c}=i,{fileActionButton:r}=a;t("SHOULD_REMOVE_ON_REVERT",(c,{item:d,query:m})=>new Promise(u=>{let{file:g}=d,f=m("GET_ALLOW_IMAGE_EDIT")&&m("GET_IMAGE_EDIT_ALLOW_EDIT")&&Sa(g);u(!f)})),t("DID_LOAD_ITEM",(c,{query:d,dispatch:m})=>new Promise((u,g)=>{if(c.origin>1){u(c);return}let{file:f}=c;if(!d("GET_ALLOW_IMAGE_EDIT")||!d("GET_IMAGE_EDIT_INSTANT_EDIT")){u(c);return}if(!Sa(f)){u(c);return}let h=(b,T,v)=>y=>{s.shift(),y?T(b):v(b),m("KICK"),I()},I=()=>{if(!s.length)return;let{item:b,resolve:T,reject:v}=s[0];m("EDIT_ITEM",{id:b.id,handleEditorResponse:h(b,T,v)})};p({item:c,resolve:u,reject:g}),s.length===1&&I()})),t("DID_CREATE_ITEM",(c,{query:d,dispatch:m})=>{c.extend("edit",()=>{m("EDIT_ITEM",{id:c.id})})});let s=[],p=c=>(s.push(c),c);return t("CREATE_VIEW",c=>{let{is:d,view:m,query:u}=c;if(!u("GET_ALLOW_IMAGE_EDIT"))return;let g=u("GET_ALLOW_IMAGE_PREVIEW");if(!(d("file-info")&&!g||d("file")&&g))return;let h=u("GET_IMAGE_EDIT_EDITOR");if(!h)return;h.filepondCallbackBridge||(h.outputData=!0,h.outputFile=!1,h.filepondCallbackBridge={onconfirm:h.onconfirm||(()=>{}),oncancel:h.oncancel||(()=>{})});let I=({root:v,props:y,action:E})=>{let{id:_}=y,{handleEditorResponse:x}=E;h.cropAspectRatio=v.query("GET_IMAGE_CROP_ASPECT_RATIO")||h.cropAspectRatio,h.outputCanvasBackgroundColor=v.query("GET_IMAGE_TRANSFORM_CANVAS_BACKGROUND_COLOR")||h.outputCanvasBackgroundColor;let R=v.query("GET_ITEM",_);if(!R)return;let z=R.file,P=R.getMetadata("crop"),A={center:{x:.5,y:.5},flip:{horizontal:!1,vertical:!1},zoom:1,rotation:0,aspectRatio:null},B=R.getMetadata("resize"),w=R.getMetadata("filter")||null,O=R.getMetadata("filters")||null,S=R.getMetadata("colors")||null,L=R.getMetadata("markup")||null,D={crop:P||A,size:B?{upscale:B.upscale,mode:B.mode,width:B.size.width,height:B.size.height}:null,filter:O?O.id||O.matrix:v.query("GET_ALLOW_IMAGE_FILTER")&&v.query("GET_IMAGE_FILTER_COLOR_MATRIX")&&!S?w:null,color:S,markup:L};h.onconfirm=({data:F})=>{let{crop:G,size:C,filter:q,color:$,colorMatrix:K,markup:pe}=F,k={};if(G&&(k.crop=G),C){let H=(R.getMetadata("resize")||{}).size,Y={width:C.width,height:C.height};!(Y.width&&Y.height)&&H&&(Y.width=H.width,Y.height=H.height),(Y.width||Y.height)&&(k.resize={upscale:C.upscale,mode:C.mode,size:Y})}pe&&(k.markup=pe),k.colors=$,k.filters=q,k.filter=K,R.setMetadata(k),h.filepondCallbackBridge.onconfirm(F,o(R)),x&&(h.onclose=()=>{x(!0),h.onclose=null})},h.oncancel=()=>{h.filepondCallbackBridge.oncancel(o(R)),x&&(h.onclose=()=>{x(!1),h.onclose=null})},h.open(z,D)},b=({root:v,props:y})=>{if(!u("GET_IMAGE_EDIT_ALLOW_EDIT"))return;let{id:E}=y,_=u("GET_ITEM",E);if(!_)return;let x=_.file;if(Sa(x))if(v.ref.handleEdit=R=>{R.stopPropagation(),v.dispatch("EDIT_ITEM",{id:E})},g){let R=m.createChildView(r,{label:"edit",icon:u("GET_IMAGE_EDIT_ICON_EDIT"),opacity:0});R.element.classList.add("filepond--action-edit-item"),R.element.dataset.align=u("GET_STYLE_IMAGE_EDIT_BUTTON_EDIT_ITEM_POSITION"),R.on("click",v.ref.handleEdit),v.ref.buttonEditItem=m.appendChildView(R)}else{let R=m.element.querySelector(".filepond--file-info-main"),z=document.createElement("button");z.className="filepond--action-edit-item-alt",z.innerHTML=u("GET_IMAGE_EDIT_ICON_EDIT")+"edit",z.addEventListener("click",v.ref.handleEdit),R.appendChild(z),v.ref.editButton=z}};m.registerDestroyer(({root:v})=>{v.ref.buttonEditItem&&v.ref.buttonEditItem.off("click",v.ref.handleEdit),v.ref.editButton&&v.ref.editButton.removeEventListener("click",v.ref.handleEdit)});let T={EDIT_ITEM:I,DID_LOAD_ITEM:b};if(g){let v=({root:y})=>{y.ref.buttonEditItem&&(y.ref.buttonEditItem.opacity=1)};T.DID_IMAGE_PREVIEW_SHOW=v}m.registerWriter(l(T))}),{options:{allowImageEdit:[!0,n.BOOLEAN],styleImageEditButtonEditItemPosition:["bottom center",n.STRING],imageEditInstantEdit:[!1,n.BOOLEAN],imageEditAllowEdit:[!0,n.BOOLEAN],imageEditIconEdit:['',n.STRING],imageEditEditor:[null,n.OBJECT]}}},um=typeof window<"u"&&typeof window.document<"u";um&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:$l}));var Xl=$l;var gm=e=>/^image\/jpeg/.test(e.type),rt={JPEG:65496,APP1:65505,EXIF:1165519206,TIFF:18761,Orientation:274,Unknown:65280},st=(e,t,i=!1)=>e.getUint16(t,i),Kl=(e,t,i=!1)=>e.getUint32(t,i),fm=e=>new Promise((t,i)=>{let a=new FileReader;a.onload=function(n){let l=new DataView(n.target.result);if(st(l,0)!==rt.JPEG){t(-1);return}let o=l.byteLength,r=2;for(;rhm,Em="data:image/jpg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4QA6RXhpZgAATU0AKgAAAAgAAwESAAMAAAABAAYAAAEoAAMAAAABAAIAAAITAAMAAAABAAEAAAAAAAD/2wBDAP//////////////////////////////////////////////////////////////////////////////////////wAALCAABAAIBASIA/8QAJgABAAAAAAAAAAAAAAAAAAAAAxABAAAAAAAAAAAAAAAAAAAAAP/aAAgBAQAAPwBH/9k=",Ql,Ii=bm()?new Image:{};Ii.onload=()=>Ql=Ii.naturalWidth>Ii.naturalHeight;Ii.src=Em;var Tm=()=>Ql,Zl=({addFilter:e,utils:t})=>{let{Type:i,isFile:a}=t;return e("DID_LOAD_ITEM",(n,{query:l})=>new Promise((o,r)=>{let s=n.file;if(!a(s)||!gm(s)||!l("GET_ALLOW_IMAGE_EXIF_ORIENTATION")||!Tm())return o(n);fm(s).then(p=>{n.setMetadata("exif",{orientation:p}),o(n)})})),{options:{allowImageExifOrientation:[!0,i.BOOLEAN]}}},Im=typeof window<"u"&&typeof window.document<"u";Im&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:Zl}));var Jl=Zl;var vm=e=>/^image/.test(e.type),eo=(e,t)=>Yt(e.x*t,e.y*t),to=(e,t)=>Yt(e.x+t.x,e.y+t.y),xm=e=>{let t=Math.sqrt(e.x*e.x+e.y*e.y);return t===0?{x:0,y:0}:Yt(e.x/t,e.y/t)},vi=(e,t,i)=>{let a=Math.cos(t),n=Math.sin(t),l=Yt(e.x-i.x,e.y-i.y);return Yt(i.x+a*l.x-n*l.y,i.y+n*l.x+a*l.y)},Yt=(e=0,t=0)=>({x:e,y:t}),Te=(e,t,i=1,a)=>{if(typeof e=="string")return parseFloat(e)*i;if(typeof e=="number")return e*(a?t[a]:Math.min(t.width,t.height))},ym=(e,t,i)=>{let a=e.borderStyle||e.lineStyle||"solid",n=e.backgroundColor||e.fontColor||"transparent",l=e.borderColor||e.lineColor||"transparent",o=Te(e.borderWidth||e.lineWidth,t,i),r=e.lineCap||"round",s=e.lineJoin||"round",p=typeof a=="string"?"":a.map(d=>Te(d,t,i)).join(","),c=e.opacity||1;return{"stroke-linecap":r,"stroke-linejoin":s,"stroke-width":o||0,"stroke-dasharray":p,stroke:l,fill:n,opacity:c}},we=e=>e!=null,Rm=(e,t,i=1)=>{let a=Te(e.x,t,i,"width")||Te(e.left,t,i,"width"),n=Te(e.y,t,i,"height")||Te(e.top,t,i,"height"),l=Te(e.width,t,i,"width"),o=Te(e.height,t,i,"height"),r=Te(e.right,t,i,"width"),s=Te(e.bottom,t,i,"height");return we(n)||(we(o)&&we(s)?n=t.height-o-s:n=s),we(a)||(we(l)&&we(r)?a=t.width-l-r:a=r),we(l)||(we(a)&&we(r)?l=t.width-a-r:l=0),we(o)||(we(n)&&we(s)?o=t.height-n-s:o=0),{x:a||0,y:n||0,width:l||0,height:o||0}},Sm=e=>e.map((t,i)=>`${i===0?"M":"L"} ${t.x} ${t.y}`).join(" "),Be=(e,t)=>Object.keys(t).forEach(i=>e.setAttribute(i,t[i])),_m="http://www.w3.org/2000/svg",St=(e,t)=>{let i=document.createElementNS(_m,e);return t&&Be(i,t),i},wm=e=>Be(e,{...e.rect,...e.styles}),Lm=e=>{let t=e.rect.x+e.rect.width*.5,i=e.rect.y+e.rect.height*.5,a=e.rect.width*.5,n=e.rect.height*.5;return Be(e,{cx:t,cy:i,rx:a,ry:n,...e.styles})},Mm={contain:"xMidYMid meet",cover:"xMidYMid slice"},Am=(e,t)=>{Be(e,{...e.rect,...e.styles,preserveAspectRatio:Mm[t.fit]||"none"})},Pm={left:"start",center:"middle",right:"end"},zm=(e,t,i,a)=>{let n=Te(t.fontSize,i,a),l=t.fontFamily||"sans-serif",o=t.fontWeight||"normal",r=Pm[t.textAlign]||"start";Be(e,{...e.rect,...e.styles,"stroke-width":0,"font-weight":o,"font-size":n,"font-family":l,"text-anchor":r}),e.text!==t.text&&(e.text=t.text,e.textContent=t.text.length?t.text:" ")},Om=(e,t,i,a)=>{Be(e,{...e.rect,...e.styles,fill:"none"});let n=e.childNodes[0],l=e.childNodes[1],o=e.childNodes[2],r=e.rect,s={x:e.rect.x+e.rect.width,y:e.rect.y+e.rect.height};if(Be(n,{x1:r.x,y1:r.y,x2:s.x,y2:s.y}),!t.lineDecoration)return;l.style.display="none",o.style.display="none";let p=xm({x:s.x-r.x,y:s.y-r.y}),c=Te(.05,i,a);if(t.lineDecoration.indexOf("arrow-begin")!==-1){let d=eo(p,c),m=to(r,d),u=vi(r,2,m),g=vi(r,-2,m);Be(l,{style:"display:block;",d:`M${u.x},${u.y} L${r.x},${r.y} L${g.x},${g.y}`})}if(t.lineDecoration.indexOf("arrow-end")!==-1){let d=eo(p,-c),m=to(s,d),u=vi(s,2,m),g=vi(s,-2,m);Be(o,{style:"display:block;",d:`M${u.x},${u.y} L${s.x},${s.y} L${g.x},${g.y}`})}},Fm=(e,t,i,a)=>{Be(e,{...e.styles,fill:"none",d:Sm(t.points.map(n=>({x:Te(n.x,i,a,"width"),y:Te(n.y,i,a,"height")})))})},xi=e=>t=>St(e,{id:t.id}),Dm=e=>{let t=St("image",{id:e.id,"stroke-linecap":"round","stroke-linejoin":"round",opacity:"0"});return t.onload=()=>{t.setAttribute("opacity",e.opacity||1)},t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",e.src),t},Cm=e=>{let t=St("g",{id:e.id,"stroke-linecap":"round","stroke-linejoin":"round"}),i=St("line");t.appendChild(i);let a=St("path");t.appendChild(a);let n=St("path");return t.appendChild(n),t},Bm={image:Dm,rect:xi("rect"),ellipse:xi("ellipse"),text:xi("text"),path:xi("path"),line:Cm},Nm={rect:wm,ellipse:Lm,image:Am,text:zm,path:Fm,line:Om},km=(e,t)=>Bm[e](t),Vm=(e,t,i,a,n)=>{t!=="path"&&(e.rect=Rm(i,a,n)),e.styles=ym(i,a,n),Nm[t](e,i,a,n)},Gm=["x","y","left","top","right","bottom","width","height"],Um=e=>typeof e=="string"&&/%/.test(e)?parseFloat(e)/100:e,Wm=e=>{let[t,i]=e,a=i.points?{}:Gm.reduce((n,l)=>(n[l]=Um(i[l]),n),{});return[t,{zIndex:0,...i,...a}]},Hm=(e,t)=>e[1].zIndex>t[1].zIndex?1:e[1].zIndexe.utils.createView({name:"image-preview-markup",tag:"svg",ignoreRect:!0,mixins:{apis:["width","height","crop","markup","resize","dirty"]},write:({root:t,props:i})=>{if(!i.dirty)return;let{crop:a,resize:n,markup:l}=i,o=i.width,r=i.height,s=a.width,p=a.height;if(n){let{size:u}=n,g=u&&u.width,f=u&&u.height,h=n.mode,I=n.upscale;g&&!f&&(f=g),f&&!g&&(g=f);let b=s{let[g,f]=u,h=km(g,f);Vm(h,g,f,c,d),t.element.appendChild(h)})}}),jt=(e,t)=>({x:e,y:t}),Ym=(e,t)=>e.x*t.x+e.y*t.y,io=(e,t)=>jt(e.x-t.x,e.y-t.y),qm=(e,t)=>Ym(io(e,t),io(e,t)),ao=(e,t)=>Math.sqrt(qm(e,t)),no=(e,t)=>{let i=e,a=1.5707963267948966,n=t,l=1.5707963267948966-t,o=Math.sin(a),r=Math.sin(n),s=Math.sin(l),p=Math.cos(l),c=i/o,d=c*r,m=c*s;return jt(p*d,p*m)},$m=(e,t)=>{let i=e.width,a=e.height,n=no(i,t),l=no(a,t),o=jt(e.x+Math.abs(n.x),e.y-Math.abs(n.y)),r=jt(e.x+e.width+Math.abs(l.y),e.y+Math.abs(l.x)),s=jt(e.x-Math.abs(l.y),e.y+e.height-Math.abs(l.x));return{width:ao(o,r),height:ao(o,s)}},Xm=(e,t,i=1)=>{let a=e.height/e.width,n=1,l=t,o=1,r=a;r>l&&(r=l,o=r/a);let s=Math.max(n/o,l/r),p=e.width/(i*s*o),c=p*t;return{width:p,height:c}},oo=(e,t,i,a)=>{let n=a.x>.5?1-a.x:a.x,l=a.y>.5?1-a.y:a.y,o=n*2*e.width,r=l*2*e.height,s=$m(t,i);return Math.max(s.width/o,s.height/r)},ro=(e,t)=>{let i=e.width,a=i*t;a>e.height&&(a=e.height,i=a/t);let n=(e.width-i)*.5,l=(e.height-a)*.5;return{x:n,y:l,width:i,height:a}},Km=(e,t={})=>{let{zoom:i,rotation:a,center:n,aspectRatio:l}=t;l||(l=e.height/e.width);let o=Xm(e,l,i),r={x:o.width*.5,y:o.height*.5},s={x:0,y:0,width:o.width,height:o.height,center:r},p=typeof t.scaleToFit>"u"||t.scaleToFit,c=oo(e,ro(s,l),a,p?n:{x:.5,y:.5}),d=i*c;return{widthFloat:o.width/d,heightFloat:o.height/d,width:Math.round(o.width/d),height:Math.round(o.height/d)}},Ce={type:"spring",stiffness:.5,damping:.45,mass:10},Qm=e=>e.utils.createView({name:"image-bitmap",ignoreRect:!0,mixins:{styles:["scaleX","scaleY"]},create:({root:t,props:i})=>{t.appendChild(i.image)}}),Zm=e=>e.utils.createView({name:"image-canvas-wrapper",tag:"div",ignoreRect:!0,mixins:{apis:["crop","width","height"],styles:["originX","originY","translateX","translateY","scaleX","scaleY","rotateZ"],animations:{originX:Ce,originY:Ce,scaleX:Ce,scaleY:Ce,translateX:Ce,translateY:Ce,rotateZ:Ce}},create:({root:t,props:i})=>{i.width=i.image.width,i.height=i.image.height,t.ref.bitmap=t.appendChildView(t.createChildView(Qm(e),{image:i.image}))},write:({root:t,props:i})=>{let{flip:a}=i.crop,{bitmap:n}=t.ref;n.scaleX=a.horizontal?-1:1,n.scaleY=a.vertical?-1:1}}),Jm=e=>e.utils.createView({name:"image-clip",tag:"div",ignoreRect:!0,mixins:{apis:["crop","markup","resize","width","height","dirty","background"],styles:["width","height","opacity"],animations:{opacity:{type:"tween",duration:250}}},didWriteView:function({root:t,props:i}){i.background&&(t.element.style.backgroundColor=i.background)},create:({root:t,props:i})=>{t.ref.image=t.appendChildView(t.createChildView(Zm(e),Object.assign({},i))),t.ref.createMarkup=()=>{t.ref.markup||(t.ref.markup=t.appendChildView(t.createChildView(jm(e),Object.assign({},i))))},t.ref.destroyMarkup=()=>{t.ref.markup&&(t.removeChildView(t.ref.markup),t.ref.markup=null)};let a=t.query("GET_IMAGE_PREVIEW_TRANSPARENCY_INDICATOR");a!==null&&(a==="grid"?t.element.dataset.transparencyIndicator=a:t.element.dataset.transparencyIndicator="color")},write:({root:t,props:i,shouldOptimize:a})=>{let{crop:n,markup:l,resize:o,dirty:r,width:s,height:p}=i;t.ref.image.crop=n;let c={x:0,y:0,width:s,height:p,center:{x:s*.5,y:p*.5}},d={width:t.ref.image.width,height:t.ref.image.height},m={x:n.center.x*d.width,y:n.center.y*d.height},u={x:c.center.x-d.width*n.center.x,y:c.center.y-d.height*n.center.y},g=Math.PI*2+n.rotation%(Math.PI*2),f=n.aspectRatio||d.height/d.width,h=typeof n.scaleToFit>"u"||n.scaleToFit,I=oo(d,ro(c,f),g,h?n.center:{x:.5,y:.5}),b=n.zoom*I;l&&l.length?(t.ref.createMarkup(),t.ref.markup.width=s,t.ref.markup.height=p,t.ref.markup.resize=o,t.ref.markup.dirty=r,t.ref.markup.markup=l,t.ref.markup.crop=Km(d,n)):t.ref.markup&&t.ref.destroyMarkup();let T=t.ref.image;if(a){T.originX=null,T.originY=null,T.translateX=null,T.translateY=null,T.rotateZ=null,T.scaleX=null,T.scaleY=null;return}T.originX=m.x,T.originY=m.y,T.translateX=u.x,T.translateY=u.y,T.rotateZ=g,T.scaleX=b,T.scaleY=b}}),eu=e=>e.utils.createView({name:"image-preview",tag:"div",ignoreRect:!0,mixins:{apis:["image","crop","markup","resize","dirty","background"],styles:["translateY","scaleX","scaleY","opacity"],animations:{scaleX:Ce,scaleY:Ce,translateY:Ce,opacity:{type:"tween",duration:400}}},create:({root:t,props:i})=>{t.ref.clip=t.appendChildView(t.createChildView(Jm(e),{id:i.id,image:i.image,crop:i.crop,markup:i.markup,resize:i.resize,dirty:i.dirty,background:i.background}))},write:({root:t,props:i,shouldOptimize:a})=>{let{clip:n}=t.ref,{image:l,crop:o,markup:r,resize:s,dirty:p}=i;if(n.crop=o,n.markup=r,n.resize=s,n.dirty=p,n.opacity=a?0:1,a||t.rect.element.hidden)return;let c=l.height/l.width,d=o.aspectRatio||c,m=t.rect.inner.width,u=t.rect.inner.height,g=t.query("GET_IMAGE_PREVIEW_HEIGHT"),f=t.query("GET_IMAGE_PREVIEW_MIN_HEIGHT"),h=t.query("GET_IMAGE_PREVIEW_MAX_HEIGHT"),I=t.query("GET_PANEL_ASPECT_RATIO"),b=t.query("GET_ALLOW_MULTIPLE");I&&!b&&(g=m*I,d=I);let T=g!==null?g:Math.max(f,Math.min(m*d,h)),v=T/d;v>m&&(v=m,T=v*d),T>u&&(T=u,v=u/d),n.width=v,n.height=T}}),tu=` + + + + + + + + + + + + + + + + + +`,lo=0,iu=e=>e.utils.createView({name:"image-preview-overlay",tag:"div",ignoreRect:!0,create:({root:t,props:i})=>{let a=tu;if(document.querySelector("base")){let n=new URL(window.location.href.replace(window.location.hash,"")).href;a=a.replace(/url\(\#/g,"url("+n+"#")}lo++,t.element.classList.add(`filepond--image-preview-overlay-${i.status}`),t.element.innerHTML=a.replace(/__UID__/g,lo)},mixins:{styles:["opacity"],animations:{opacity:{type:"spring",mass:25}}}}),au=function(){self.onmessage=e=>{createImageBitmap(e.data.message.file).then(t=>{self.postMessage({id:e.data.id,message:t},[t])})}},nu=function(){self.onmessage=e=>{let t=e.data.message.imageData,i=e.data.message.colorMatrix,a=t.data,n=a.length,l=i[0],o=i[1],r=i[2],s=i[3],p=i[4],c=i[5],d=i[6],m=i[7],u=i[8],g=i[9],f=i[10],h=i[11],I=i[12],b=i[13],T=i[14],v=i[15],y=i[16],E=i[17],_=i[18],x=i[19],R=0,z=0,P=0,A=0,B=0;for(;R{let i=new Image;i.onload=()=>{let a=i.naturalWidth,n=i.naturalHeight;i=null,t(a,n)},i.src=e},ou={1:()=>[1,0,0,1,0,0],2:e=>[-1,0,0,1,e,0],3:(e,t)=>[-1,0,0,-1,e,t],4:(e,t)=>[1,0,0,-1,0,t],5:()=>[0,1,1,0,0,0],6:(e,t)=>[0,1,-1,0,t,0],7:(e,t)=>[0,-1,-1,0,t,e],8:e=>[0,-1,1,0,0,e]},ru=(e,t,i,a)=>{a!==-1&&e.transform.apply(e,ou[a](t,i))},su=(e,t,i,a)=>{t=Math.round(t),i=Math.round(i);let n=document.createElement("canvas");n.width=t,n.height=i;let l=n.getContext("2d");return a>=5&&a<=8&&([t,i]=[i,t]),ru(l,t,i,a),l.drawImage(e,0,0,t,i),n},so=e=>/^image/.test(e.type)&&!/svg/.test(e.type),cu=10,du=10,pu=e=>{let t=Math.min(cu/e.width,du/e.height),i=document.createElement("canvas"),a=i.getContext("2d"),n=i.width=Math.ceil(e.width*t),l=i.height=Math.ceil(e.height*t);a.drawImage(e,0,0,n,l);let o=null;try{o=a.getImageData(0,0,n,l).data}catch{return null}let r=o.length,s=0,p=0,c=0,d=0;for(;dMath.floor(Math.sqrt(e/(t/4))),mu=(e,t)=>(t=t||document.createElement("canvas"),t.width=e.width,t.height=e.height,t.getContext("2d").drawImage(e,0,0),t),uu=e=>{let t;try{t=new ImageData(e.width,e.height)}catch{t=document.createElement("canvas").getContext("2d").createImageData(e.width,e.height)}return t.data.set(new Uint8ClampedArray(e.data)),t},gu=e=>new Promise((t,i)=>{let a=new Image;a.crossOrigin="Anonymous",a.onload=()=>{t(a)},a.onerror=n=>{i(n)},a.src=e}),fu=e=>{let t=iu(e),i=eu(e),{createWorker:a}=e.utils,n=(b,T,v)=>new Promise(y=>{b.ref.imageData||(b.ref.imageData=v.getContext("2d").getImageData(0,0,v.width,v.height));let E=uu(b.ref.imageData);if(!T||T.length!==20)return v.getContext("2d").putImageData(E,0,0),y();let _=a(nu);_.post({imageData:E,colorMatrix:T},x=>{v.getContext("2d").putImageData(x,0,0),_.terminate(),y()},[E.data.buffer])}),l=(b,T)=>{b.removeChildView(T),T.image.width=1,T.image.height=1,T._destroy()},o=({root:b})=>{let T=b.ref.images.shift();return T.opacity=0,T.translateY=-15,b.ref.imageViewBin.push(T),T},r=({root:b,props:T,image:v})=>{let y=T.id,E=b.query("GET_ITEM",{id:y});if(!E)return;let _=E.getMetadata("crop")||{center:{x:.5,y:.5},flip:{horizontal:!1,vertical:!1},zoom:1,rotation:0,aspectRatio:null},x=b.query("GET_IMAGE_TRANSFORM_CANVAS_BACKGROUND_COLOR"),R,z,P=!1;b.query("GET_IMAGE_PREVIEW_MARKUP_SHOW")&&(R=E.getMetadata("markup")||[],z=E.getMetadata("resize"),P=!0);let A=b.appendChildView(b.createChildView(i,{id:y,image:v,crop:_,resize:z,markup:R,dirty:P,background:x,opacity:0,scaleX:1.15,scaleY:1.15,translateY:15}),b.childViews.length);b.ref.images.push(A),A.opacity=1,A.scaleX=1,A.scaleY=1,A.translateY=0,setTimeout(()=>{b.dispatch("DID_IMAGE_PREVIEW_SHOW",{id:y})},250)},s=({root:b,props:T})=>{let v=b.query("GET_ITEM",{id:T.id});if(!v)return;let y=b.ref.images[b.ref.images.length-1];y.crop=v.getMetadata("crop"),y.background=b.query("GET_IMAGE_TRANSFORM_CANVAS_BACKGROUND_COLOR"),b.query("GET_IMAGE_PREVIEW_MARKUP_SHOW")&&(y.dirty=!0,y.resize=v.getMetadata("resize"),y.markup=v.getMetadata("markup"))},p=({root:b,props:T,action:v})=>{if(!/crop|filter|markup|resize/.test(v.change.key)||!b.ref.images.length)return;let y=b.query("GET_ITEM",{id:T.id});if(y){if(/filter/.test(v.change.key)){let E=b.ref.images[b.ref.images.length-1];n(b,v.change.value,E.image);return}if(/crop|markup|resize/.test(v.change.key)){let E=y.getMetadata("crop"),_=b.ref.images[b.ref.images.length-1];if(E&&E.aspectRatio&&_.crop&&_.crop.aspectRatio&&Math.abs(E.aspectRatio-_.crop.aspectRatio)>1e-5){let x=o({root:b});r({root:b,props:T,image:mu(x.image)})}else s({root:b,props:T})}}},c=b=>{let v=window.navigator.userAgent.match(/Firefox\/([0-9]+)\./),y=v?parseInt(v[1]):null;return y!==null&&y<=58?!1:"createImageBitmap"in window&&so(b)},d=({root:b,props:T})=>{let{id:v}=T,y=b.query("GET_ITEM",v);if(!y)return;let E=URL.createObjectURL(y.file);lu(E,(_,x)=>{b.dispatch("DID_IMAGE_PREVIEW_CALCULATE_SIZE",{id:v,width:_,height:x})})},m=({root:b,props:T})=>{let{id:v}=T,y=b.query("GET_ITEM",v);if(!y)return;let E=URL.createObjectURL(y.file),_=()=>{gu(E).then(x)},x=R=>{URL.revokeObjectURL(E);let P=(y.getMetadata("exif")||{}).orientation||-1,{width:A,height:B}=R;if(!A||!B)return;P>=5&&P<=8&&([A,B]=[B,A]);let w=Math.max(1,window.devicePixelRatio*.75),S=b.query("GET_IMAGE_PREVIEW_ZOOM_FACTOR")*w,L=B/A,D=b.rect.element.width,F=b.rect.element.height,G=D,C=G*L;L>1?(G=Math.min(A,D*S),C=G*L):(C=Math.min(B,F*S),G=C/L);let q=su(R,G,C,P),$=()=>{let pe=b.query("GET_IMAGE_PREVIEW_CALCULATE_AVERAGE_IMAGE_COLOR")?pu(data):null;y.setMetadata("color",pe,!0),"close"in R&&R.close(),b.ref.overlayShadow.opacity=1,r({root:b,props:T,image:q})},K=y.getMetadata("filter");K?n(b,K,q).then($):$()};if(c(y.file)){let R=a(au);R.post({file:y.file},z=>{if(R.terminate(),!z){_();return}x(z)})}else _()},u=({root:b})=>{let T=b.ref.images[b.ref.images.length-1];T.translateY=0,T.scaleX=1,T.scaleY=1,T.opacity=1},g=({root:b})=>{b.ref.overlayShadow.opacity=1,b.ref.overlayError.opacity=0,b.ref.overlaySuccess.opacity=0},f=({root:b})=>{b.ref.overlayShadow.opacity=.25,b.ref.overlayError.opacity=1},h=({root:b})=>{b.ref.overlayShadow.opacity=.25,b.ref.overlaySuccess.opacity=1},I=({root:b})=>{b.ref.images=[],b.ref.imageData=null,b.ref.imageViewBin=[],b.ref.overlayShadow=b.appendChildView(b.createChildView(t,{opacity:0,status:"idle"})),b.ref.overlaySuccess=b.appendChildView(b.createChildView(t,{opacity:0,status:"success"})),b.ref.overlayError=b.appendChildView(b.createChildView(t,{opacity:0,status:"failure"}))};return e.utils.createView({name:"image-preview-wrapper",create:I,styles:["height"],apis:["height"],destroy:({root:b})=>{b.ref.images.forEach(T=>{T.image.width=1,T.image.height=1})},didWriteView:({root:b})=>{b.ref.images.forEach(T=>{T.dirty=!1})},write:e.utils.createRoute({DID_IMAGE_PREVIEW_DRAW:u,DID_IMAGE_PREVIEW_CONTAINER_CREATE:d,DID_FINISH_CALCULATE_PREVIEWSIZE:m,DID_UPDATE_ITEM_METADATA:p,DID_THROW_ITEM_LOAD_ERROR:f,DID_THROW_ITEM_PROCESSING_ERROR:f,DID_THROW_ITEM_INVALID:f,DID_COMPLETE_ITEM_PROCESSING:h,DID_START_ITEM_PROCESSING:g,DID_REVERT_ITEM_PROCESSING:g},({root:b})=>{let T=b.ref.imageViewBin.filter(v=>v.opacity===0);b.ref.imageViewBin=b.ref.imageViewBin.filter(v=>v.opacity>0),T.forEach(v=>l(b,v)),T.length=0})})},co=e=>{let{addFilter:t,utils:i}=e,{Type:a,createRoute:n,isFile:l}=i,o=fu(e);return t("CREATE_VIEW",r=>{let{is:s,view:p,query:c}=r;if(!s("file")||!c("GET_ALLOW_IMAGE_PREVIEW"))return;let d=({root:h,props:I})=>{let{id:b}=I,T=c("GET_ITEM",b);if(!T||!l(T.file)||T.archived)return;let v=T.file;if(!vm(v)||!c("GET_IMAGE_PREVIEW_FILTER_ITEM")(T))return;let y="createImageBitmap"in(window||{}),E=c("GET_IMAGE_PREVIEW_MAX_FILE_SIZE");if(!y&&E&&v.size>E)return;h.ref.imagePreview=p.appendChildView(p.createChildView(o,{id:b}));let _=h.query("GET_IMAGE_PREVIEW_HEIGHT");_&&h.dispatch("DID_UPDATE_PANEL_HEIGHT",{id:T.id,height:_});let x=!y&&v.size>c("GET_IMAGE_PREVIEW_MAX_INSTANT_PREVIEW_FILE_SIZE");h.dispatch("DID_IMAGE_PREVIEW_CONTAINER_CREATE",{id:b},x)},m=(h,I)=>{if(!h.ref.imagePreview)return;let{id:b}=I,T=h.query("GET_ITEM",{id:b});if(!T)return;let v=h.query("GET_PANEL_ASPECT_RATIO"),y=h.query("GET_ITEM_PANEL_ASPECT_RATIO"),E=h.query("GET_IMAGE_PREVIEW_HEIGHT");if(v||y||E)return;let{imageWidth:_,imageHeight:x}=h.ref;if(!_||!x)return;let R=h.query("GET_IMAGE_PREVIEW_MIN_HEIGHT"),z=h.query("GET_IMAGE_PREVIEW_MAX_HEIGHT"),A=(T.getMetadata("exif")||{}).orientation||-1;if(A>=5&&A<=8&&([_,x]=[x,_]),!so(T.file)||h.query("GET_IMAGE_PREVIEW_UPSCALE")){let D=2048/_;_*=D,x*=D}let B=x/_,w=(T.getMetadata("crop")||{}).aspectRatio||B,O=Math.max(R,Math.min(x,z)),S=h.rect.element.width,L=Math.min(S*w,O);h.dispatch("DID_UPDATE_PANEL_HEIGHT",{id:T.id,height:L})},u=({root:h})=>{h.ref.shouldRescale=!0},g=({root:h,action:I})=>{I.change.key==="crop"&&(h.ref.shouldRescale=!0)},f=({root:h,action:I})=>{h.ref.imageWidth=I.width,h.ref.imageHeight=I.height,h.ref.shouldRescale=!0,h.ref.shouldDrawPreview=!0,h.dispatch("KICK")};p.registerWriter(n({DID_RESIZE_ROOT:u,DID_STOP_RESIZE:u,DID_LOAD_ITEM:d,DID_IMAGE_PREVIEW_CALCULATE_SIZE:f,DID_UPDATE_ITEM_METADATA:g},({root:h,props:I})=>{h.ref.imagePreview&&(h.rect.element.hidden||(h.ref.shouldRescale&&(m(h,I),h.ref.shouldRescale=!1),h.ref.shouldDrawPreview&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{h.dispatch("DID_FINISH_CALCULATE_PREVIEWSIZE",{id:I.id})})}),h.ref.shouldDrawPreview=!1)))}))}),{options:{allowImagePreview:[!0,a.BOOLEAN],imagePreviewFilterItem:[()=>!0,a.FUNCTION],imagePreviewHeight:[null,a.INT],imagePreviewMinHeight:[44,a.INT],imagePreviewMaxHeight:[256,a.INT],imagePreviewMaxFileSize:[null,a.INT],imagePreviewZoomFactor:[2,a.INT],imagePreviewUpscale:[!1,a.BOOLEAN],imagePreviewMaxInstantPreviewFileSize:[1e6,a.INT],imagePreviewTransparencyIndicator:[null,a.STRING],imagePreviewCalculateAverageImageColor:[!1,a.BOOLEAN],imagePreviewMarkupShow:[!0,a.BOOLEAN],imagePreviewMarkupFilter:[()=>!0,a.FUNCTION]}}},hu=typeof window<"u"&&typeof window.document<"u";hu&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:co}));var po=co;var bu=e=>/^image/.test(e.type),Eu=(e,t)=>{let i=new Image;i.onload=()=>{let a=i.naturalWidth,n=i.naturalHeight;i=null,t({width:a,height:n})},i.onerror=()=>t(null),i.src=e},mo=({addFilter:e,utils:t})=>{let{Type:i}=t;return e("DID_LOAD_ITEM",(a,{query:n})=>new Promise((l,o)=>{let r=a.file;if(!bu(r)||!n("GET_ALLOW_IMAGE_RESIZE"))return l(a);let s=n("GET_IMAGE_RESIZE_MODE"),p=n("GET_IMAGE_RESIZE_TARGET_WIDTH"),c=n("GET_IMAGE_RESIZE_TARGET_HEIGHT"),d=n("GET_IMAGE_RESIZE_UPSCALE");if(p===null&&c===null)return l(a);let m=p===null?c:p,u=c===null?m:c,g=URL.createObjectURL(r);Eu(g,f=>{if(URL.revokeObjectURL(g),!f)return l(a);let{width:h,height:I}=f,b=(a.getMetadata("exif")||{}).orientation||-1;if(b>=5&&b<=8&&([h,I]=[I,h]),h===m&&I===u)return l(a);if(!d){if(s==="cover"){if(h<=m||I<=u)return l(a)}else if(h<=m&&I<=m)return l(a)}a.setMetadata("resize",{mode:s,upscale:d,size:{width:m,height:u}}),l(a)})})),{options:{allowImageResize:[!0,i.BOOLEAN],imageResizeMode:["cover",i.STRING],imageResizeUpscale:[!0,i.BOOLEAN],imageResizeTargetWidth:[null,i.INT],imageResizeTargetHeight:[null,i.INT]}}},Tu=typeof window<"u"&&typeof window.document<"u";Tu&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:mo}));var uo=mo;var Iu=e=>/^image/.test(e.type),vu=e=>e.substr(0,e.lastIndexOf("."))||e,xu={jpeg:"jpg","svg+xml":"svg"},yu=(e,t)=>{let i=vu(e),a=t.split("/")[1],n=xu[a]||a;return`${i}.${n}`},Ru=e=>/jpeg|png|svg\+xml/.test(e)?e:"image/jpeg",Su=e=>/^image/.test(e.type),_u={1:()=>[1,0,0,1,0,0],2:e=>[-1,0,0,1,e,0],3:(e,t)=>[-1,0,0,-1,e,t],4:(e,t)=>[1,0,0,-1,0,t],5:()=>[0,1,1,0,0,0],6:(e,t)=>[0,1,-1,0,t,0],7:(e,t)=>[0,-1,-1,0,t,e],8:e=>[0,-1,1,0,0,e]},wu=(e,t,i)=>(i===-1&&(i=1),_u[i](e,t)),qt=(e,t)=>({x:e,y:t}),Lu=(e,t)=>e.x*t.x+e.y*t.y,go=(e,t)=>qt(e.x-t.x,e.y-t.y),Mu=(e,t)=>Lu(go(e,t),go(e,t)),fo=(e,t)=>Math.sqrt(Mu(e,t)),ho=(e,t)=>{let i=e,a=1.5707963267948966,n=t,l=1.5707963267948966-t,o=Math.sin(a),r=Math.sin(n),s=Math.sin(l),p=Math.cos(l),c=i/o,d=c*r,m=c*s;return qt(p*d,p*m)},Au=(e,t)=>{let i=e.width,a=e.height,n=ho(i,t),l=ho(a,t),o=qt(e.x+Math.abs(n.x),e.y-Math.abs(n.y)),r=qt(e.x+e.width+Math.abs(l.y),e.y+Math.abs(l.x)),s=qt(e.x-Math.abs(l.y),e.y+e.height-Math.abs(l.x));return{width:fo(o,r),height:fo(o,s)}},To=(e,t,i=0,a={x:.5,y:.5})=>{let n=a.x>.5?1-a.x:a.x,l=a.y>.5?1-a.y:a.y,o=n*2*e.width,r=l*2*e.height,s=Au(t,i);return Math.max(s.width/o,s.height/r)},Io=(e,t)=>{let i=e.width,a=i*t;a>e.height&&(a=e.height,i=a/t);let n=(e.width-i)*.5,l=(e.height-a)*.5;return{x:n,y:l,width:i,height:a}},bo=(e,t,i=1)=>{let a=e.height/e.width,n=1,l=t,o=1,r=a;r>l&&(r=l,o=r/a);let s=Math.max(n/o,l/r),p=e.width/(i*s*o),c=p*t;return{width:p,height:c}},vo=e=>{e.width=1,e.height=1,e.getContext("2d").clearRect(0,0,1,1)},Eo=e=>e&&(e.horizontal||e.vertical),Pu=(e,t,i)=>{if(t<=1&&!Eo(i))return e.width=e.naturalWidth,e.height=e.naturalHeight,e;let a=document.createElement("canvas"),n=e.naturalWidth,l=e.naturalHeight,o=t>=5&&t<=8;o?(a.width=l,a.height=n):(a.width=n,a.height=l);let r=a.getContext("2d");if(t&&r.transform.apply(r,wu(n,l,t)),Eo(i)){let s=[1,0,0,1,0,0];(!o&&i.horizontal||o&i.vertical)&&(s[0]=-1,s[4]=n),(!o&&i.vertical||o&&i.horizontal)&&(s[3]=-1,s[5]=l),r.transform(...s)}return r.drawImage(e,0,0,n,l),a},zu=(e,t,i={},a={})=>{let{canvasMemoryLimit:n,background:l=null}=a,o=i.zoom||1,r=Pu(e,t,i.flip),s={width:r.width,height:r.height},p=i.aspectRatio||s.height/s.width,c=bo(s,p,o);if(n){let T=c.width*c.height;if(T>n){let v=Math.sqrt(n)/Math.sqrt(T);s.width=Math.floor(s.width*v),s.height=Math.floor(s.height*v),c=bo(s,p,o)}}let d=document.createElement("canvas"),m={x:c.width*.5,y:c.height*.5},u={x:0,y:0,width:c.width,height:c.height,center:m},g=typeof i.scaleToFit>"u"||i.scaleToFit,f=o*To(s,Io(u,p),i.rotation,g?i.center:{x:.5,y:.5});d.width=Math.round(c.width/f),d.height=Math.round(c.height/f),m.x/=f,m.y/=f;let h={x:m.x-s.width*(i.center?i.center.x:.5),y:m.y-s.height*(i.center?i.center.y:.5)},I=d.getContext("2d");l&&(I.fillStyle=l,I.fillRect(0,0,d.width,d.height)),I.translate(m.x,m.y),I.rotate(i.rotation||0),I.drawImage(r,h.x-m.x,h.y-m.y,s.width,s.height);let b=I.getImageData(0,0,d.width,d.height);return vo(d),b},Ou=typeof window<"u"&&typeof window.document<"u";Ou&&(HTMLCanvasElement.prototype.toBlob||Object.defineProperty(HTMLCanvasElement.prototype,"toBlob",{value:function(e,t,i){var a=this.toDataURL(t,i).split(",")[1];setTimeout(function(){for(var n=atob(a),l=n.length,o=new Uint8Array(l),r=0;rnew Promise(a=>{let n=i?i(e):e;Promise.resolve(n).then(l=>{l.toBlob(a,t.type,t.quality)})}),Ri=(e,t)=>$t(e.x*t,e.y*t),Si=(e,t)=>$t(e.x+t.x,e.y+t.y),xo=e=>{let t=Math.sqrt(e.x*e.x+e.y*e.y);return t===0?{x:0,y:0}:$t(e.x/t,e.y/t)},qe=(e,t,i)=>{let a=Math.cos(t),n=Math.sin(t),l=$t(e.x-i.x,e.y-i.y);return $t(i.x+a*l.x-n*l.y,i.y+n*l.x+a*l.y)},$t=(e=0,t=0)=>({x:e,y:t}),me=(e,t,i=1,a)=>{if(typeof e=="string")return parseFloat(e)*i;if(typeof e=="number")return e*(a?t[a]:Math.min(t.width,t.height))},ct=(e,t,i)=>{let a=e.borderStyle||e.lineStyle||"solid",n=e.backgroundColor||e.fontColor||"transparent",l=e.borderColor||e.lineColor||"transparent",o=me(e.borderWidth||e.lineWidth,t,i),r=e.lineCap||"round",s=e.lineJoin||"round",p=typeof a=="string"?"":a.map(d=>me(d,t,i)).join(","),c=e.opacity||1;return{"stroke-linecap":r,"stroke-linejoin":s,"stroke-width":o||0,"stroke-dasharray":p,stroke:l,fill:n,opacity:c}},Le=e=>e!=null,wt=(e,t,i=1)=>{let a=me(e.x,t,i,"width")||me(e.left,t,i,"width"),n=me(e.y,t,i,"height")||me(e.top,t,i,"height"),l=me(e.width,t,i,"width"),o=me(e.height,t,i,"height"),r=me(e.right,t,i,"width"),s=me(e.bottom,t,i,"height");return Le(n)||(Le(o)&&Le(s)?n=t.height-o-s:n=s),Le(a)||(Le(l)&&Le(r)?a=t.width-l-r:a=r),Le(l)||(Le(a)&&Le(r)?l=t.width-a-r:l=0),Le(o)||(Le(n)&&Le(s)?o=t.height-n-s:o=0),{x:a||0,y:n||0,width:l||0,height:o||0}},Du=e=>e.map((t,i)=>`${i===0?"M":"L"} ${t.x} ${t.y}`).join(" "),Ne=(e,t)=>Object.keys(t).forEach(i=>e.setAttribute(i,t[i])),Cu="http://www.w3.org/2000/svg",_t=(e,t)=>{let i=document.createElementNS(Cu,e);return t&&Ne(i,t),i},Bu=e=>Ne(e,{...e.rect,...e.styles}),Nu=e=>{let t=e.rect.x+e.rect.width*.5,i=e.rect.y+e.rect.height*.5,a=e.rect.width*.5,n=e.rect.height*.5;return Ne(e,{cx:t,cy:i,rx:a,ry:n,...e.styles})},ku={contain:"xMidYMid meet",cover:"xMidYMid slice"},Vu=(e,t)=>{Ne(e,{...e.rect,...e.styles,preserveAspectRatio:ku[t.fit]||"none"})},Gu={left:"start",center:"middle",right:"end"},Uu=(e,t,i,a)=>{let n=me(t.fontSize,i,a),l=t.fontFamily||"sans-serif",o=t.fontWeight||"normal",r=Gu[t.textAlign]||"start";Ne(e,{...e.rect,...e.styles,"stroke-width":0,"font-weight":o,"font-size":n,"font-family":l,"text-anchor":r}),e.text!==t.text&&(e.text=t.text,e.textContent=t.text.length?t.text:" ")},Wu=(e,t,i,a)=>{Ne(e,{...e.rect,...e.styles,fill:"none"});let n=e.childNodes[0],l=e.childNodes[1],o=e.childNodes[2],r=e.rect,s={x:e.rect.x+e.rect.width,y:e.rect.y+e.rect.height};if(Ne(n,{x1:r.x,y1:r.y,x2:s.x,y2:s.y}),!t.lineDecoration)return;l.style.display="none",o.style.display="none";let p=xo({x:s.x-r.x,y:s.y-r.y}),c=me(.05,i,a);if(t.lineDecoration.indexOf("arrow-begin")!==-1){let d=Ri(p,c),m=Si(r,d),u=qe(r,2,m),g=qe(r,-2,m);Ne(l,{style:"display:block;",d:`M${u.x},${u.y} L${r.x},${r.y} L${g.x},${g.y}`})}if(t.lineDecoration.indexOf("arrow-end")!==-1){let d=Ri(p,-c),m=Si(s,d),u=qe(s,2,m),g=qe(s,-2,m);Ne(o,{style:"display:block;",d:`M${u.x},${u.y} L${s.x},${s.y} L${g.x},${g.y}`})}},Hu=(e,t,i,a)=>{Ne(e,{...e.styles,fill:"none",d:Du(t.points.map(n=>({x:me(n.x,i,a,"width"),y:me(n.y,i,a,"height")})))})},yi=e=>t=>_t(e,{id:t.id}),ju=e=>{let t=_t("image",{id:e.id,"stroke-linecap":"round","stroke-linejoin":"round",opacity:"0"});return t.onload=()=>{t.setAttribute("opacity",e.opacity||1)},t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",e.src),t},Yu=e=>{let t=_t("g",{id:e.id,"stroke-linecap":"round","stroke-linejoin":"round"}),i=_t("line");t.appendChild(i);let a=_t("path");t.appendChild(a);let n=_t("path");return t.appendChild(n),t},qu={image:ju,rect:yi("rect"),ellipse:yi("ellipse"),text:yi("text"),path:yi("path"),line:Yu},$u={rect:Bu,ellipse:Nu,image:Vu,text:Uu,path:Hu,line:Wu},Xu=(e,t)=>qu[e](t),Ku=(e,t,i,a,n)=>{t!=="path"&&(e.rect=wt(i,a,n)),e.styles=ct(i,a,n),$u[t](e,i,a,n)},yo=(e,t)=>e[1].zIndex>t[1].zIndex?1:e[1].zIndexnew Promise(n=>{let{background:l=null}=a,o=new FileReader;o.onloadend=()=>{let r=o.result,s=document.createElement("div");s.style.cssText="position:absolute;pointer-events:none;width:0;height:0;visibility:hidden;",s.innerHTML=r;let p=s.querySelector("svg");document.body.appendChild(s);let c=p.getBBox();s.parentNode.removeChild(s);let d=s.querySelector("title"),m=p.getAttribute("viewBox")||"",u=p.getAttribute("width")||"",g=p.getAttribute("height")||"",f=parseFloat(u)||null,h=parseFloat(g)||null,I=(u.match(/[a-z]+/)||[])[0]||"",b=(g.match(/[a-z]+/)||[])[0]||"",T=m.split(" ").map(parseFloat),v=T.length?{x:T[0],y:T[1],width:T[2],height:T[3]}:c,y=f??v.width,E=h??v.height;p.style.overflow="visible",p.setAttribute("width",y),p.setAttribute("height",E);let _="";if(i&&i.length){let K={width:y,height:E};_=i.sort(yo).reduce((pe,k)=>{let H=Xu(k[0],k[1]);return Ku(H,k[0],k[1],K),H.removeAttribute("id"),H.getAttribute("opacity")===1&&H.removeAttribute("opacity"),pe+` +`+H.outerHTML+` +`},""),_=` + +${_.replace(/ /g," ")} + +`}let x=t.aspectRatio||E/y,R=y,z=R*x,P=typeof t.scaleToFit>"u"||t.scaleToFit,A=t.center?t.center.x:.5,B=t.center?t.center.y:.5,w=To({width:y,height:E},Io({width:R,height:z},x),t.rotation,P?{x:A,y:B}:{x:.5,y:.5}),O=t.zoom*w,S=t.rotation*(180/Math.PI),L={x:R*.5,y:z*.5},D={x:L.x-y*A,y:L.y-E*B},F=[`rotate(${S} ${L.x} ${L.y})`,`translate(${L.x} ${L.y})`,`scale(${O})`,`translate(${-L.x} ${-L.y})`,`translate(${D.x} ${D.y})`],G=t.flip&&t.flip.horizontal,C=t.flip&&t.flip.vertical,q=[`scale(${G?-1:1} ${C?-1:1})`,`translate(${G?-y:0} ${C?-E:0})`],$=` + + +${d?d.textContent:""} + + +${p.outerHTML}${_} + + +`;n($)},o.readAsText(e)}),Zu=e=>{let t;try{t=new ImageData(e.width,e.height)}catch{t=document.createElement("canvas").getContext("2d").createImageData(e.width,e.height)}return t.data.set(e.data),t},Ju=()=>{let e={resize:c,filter:p},t=(d,m)=>(d.forEach(u=>{m=e[u.type](m,u.data)}),m),i=(d,m)=>{let u=d.transforms,g=null;if(u.forEach(f=>{f.type==="filter"&&(g=f)}),g){let f=null;u.forEach(h=>{h.type==="resize"&&(f=h)}),f&&(f.data.matrix=g.data,u=u.filter(h=>h.type!=="filter"))}m(t(u,d.imageData))};self.onmessage=d=>{i(d.data.message,m=>{self.postMessage({id:d.data.id,message:m},[m.data.buffer])})};let a=1,n=1,l=1;function o(d,m,u){let g=m[d]/255,f=m[d+1]/255,h=m[d+2]/255,I=m[d+3]/255,b=g*u[0]+f*u[1]+h*u[2]+I*u[3]+u[4],T=g*u[5]+f*u[6]+h*u[7]+I*u[8]+u[9],v=g*u[10]+f*u[11]+h*u[12]+I*u[13]+u[14],y=g*u[15]+f*u[16]+h*u[17]+I*u[18]+u[19],E=Math.max(0,b*y)+a*(1-y),_=Math.max(0,T*y)+n*(1-y),x=Math.max(0,v*y)+l*(1-y);m[d]=Math.max(0,Math.min(1,E))*255,m[d+1]=Math.max(0,Math.min(1,_))*255,m[d+2]=Math.max(0,Math.min(1,x))*255}let r=self.JSON.stringify([1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0]);function s(d){return self.JSON.stringify(d||[])===r}function p(d,m){if(!m||s(m))return d;let u=d.data,g=u.length,f=m[0],h=m[1],I=m[2],b=m[3],T=m[4],v=m[5],y=m[6],E=m[7],_=m[8],x=m[9],R=m[10],z=m[11],P=m[12],A=m[13],B=m[14],w=m[15],O=m[16],S=m[17],L=m[18],D=m[19],F=0,G=0,C=0,q=0,$=0,K=0,pe=0,k=0,H=0,Y=0,oe=0,ee=0;for(;F1&&g===!1)return p(d,I);f=d.width*w,h=d.height*w}let b=d.width,T=d.height,v=Math.round(f),y=Math.round(h),E=d.data,_=new Uint8ClampedArray(v*y*4),x=b/v,R=T/y,z=Math.ceil(x*.5),P=Math.ceil(R*.5);for(let A=0;A=-1&&oe<=1&&(O=2*oe*oe*oe-3*oe*oe+1,O>0)){Y=4*(H+$*b);let ee=E[Y+3];C+=O*ee,L+=O,ee<255&&(O=O*ee/250),D+=O*E[Y],F+=O*E[Y+1],G+=O*E[Y+2],S+=O}}}_[w]=D/S,_[w+1]=F/S,_[w+2]=G/S,_[w+3]=C/L,I&&o(w,_,I)}return{data:_,width:v,height:y}}},eg=(e,t)=>{if(e.getUint32(t+4,!1)!==1165519206)return;t+=4;let i=e.getUint16(t+=6,!1)===18761;t+=e.getUint32(t+4,i);let a=e.getUint16(t,i);t+=2;for(let n=0;n{let t=new DataView(e);if(t.getUint16(0)!==65496)return null;let i=2,a,n,l=!1;for(;i=65504&&a<=65519||a===65534)||(l||(l=eg(t,i,n)),i+n>t.byteLength)));)i+=n;return e.slice(0,i)},ig=e=>new Promise(t=>{let i=new FileReader;i.onload=()=>t(tg(i.result)||null),i.readAsArrayBuffer(e.slice(0,256*1024))}),ag=()=>window.BlobBuilder=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,ng=(e,t)=>{let i=ag();if(i){let a=new i;return a.append(e),a.getBlob(t)}return new Blob([e],{type:t})},lg=()=>Math.random().toString(36).substr(2,9),og=e=>{let t=new Blob(["(",e.toString(),")()"],{type:"application/javascript"}),i=URL.createObjectURL(t),a=new Worker(i),n=[];return{transfer:()=>{},post:(l,o,r)=>{let s=lg();n[s]=o,a.onmessage=p=>{let c=n[p.data.id];c&&(c(p.data.message),delete n[p.data.id])},a.postMessage({id:s,message:l},r)},terminate:()=>{a.terminate(),URL.revokeObjectURL(i)}}},rg=e=>new Promise((t,i)=>{let a=new Image;a.onload=()=>{t(a)},a.onerror=n=>{i(n)},a.src=e}),sg=e=>e.reduce((t,i)=>t.then(a=>i().then(Array.prototype.concat.bind(a))),Promise.resolve([])),cg=(e,t)=>new Promise(i=>{let a={width:e.width,height:e.height},n=e.getContext("2d"),l=t.sort(yo).map(o=>()=>new Promise(r=>{hg[o[0]](n,a,o[1],r)&&r()}));sg(l).then(()=>i(e))}),Lt=(e,t)=>{e.beginPath(),e.lineCap=t["stroke-linecap"],e.lineJoin=t["stroke-linejoin"],e.lineWidth=t["stroke-width"],t["stroke-dasharray"].length&&e.setLineDash(t["stroke-dasharray"].split(",")),e.fillStyle=t.fill,e.strokeStyle=t.stroke,e.globalAlpha=t.opacity||1},Mt=e=>{e.fill(),e.stroke(),e.globalAlpha=1},dg=(e,t,i)=>{let a=wt(i,t),n=ct(i,t);return Lt(e,n),e.rect(a.x,a.y,a.width,a.height),Mt(e,n),!0},pg=(e,t,i)=>{let a=wt(i,t),n=ct(i,t);Lt(e,n);let l=a.x,o=a.y,r=a.width,s=a.height,p=.5522848,c=r/2*p,d=s/2*p,m=l+r,u=o+s,g=l+r/2,f=o+s/2;return e.moveTo(l,f),e.bezierCurveTo(l,f-d,g-c,o,g,o),e.bezierCurveTo(g+c,o,m,f-d,m,f),e.bezierCurveTo(m,f+d,g+c,u,g,u),e.bezierCurveTo(g-c,u,l,f+d,l,f),Mt(e,n),!0},mg=(e,t,i,a)=>{let n=wt(i,t),l=ct(i,t);Lt(e,l);let o=new Image;new URL(i.src,window.location.href).origin!==window.location.origin&&(o.crossOrigin=""),o.onload=()=>{if(i.fit==="cover"){let s=n.width/n.height,p=s>1?o.width:o.height*s,c=s>1?o.width/s:o.height,d=o.width*.5-p*.5,m=o.height*.5-c*.5;e.drawImage(o,d,m,p,c,n.x,n.y,n.width,n.height)}else if(i.fit==="contain"){let s=Math.min(n.width/o.width,n.height/o.height),p=s*o.width,c=s*o.height,d=n.x+n.width*.5-p*.5,m=n.y+n.height*.5-c*.5;e.drawImage(o,0,0,o.width,o.height,d,m,p,c)}else e.drawImage(o,0,0,o.width,o.height,n.x,n.y,n.width,n.height);Mt(e,l),a()},o.src=i.src},ug=(e,t,i)=>{let a=wt(i,t),n=ct(i,t);Lt(e,n);let l=me(i.fontSize,t),o=i.fontFamily||"sans-serif",r=i.fontWeight||"normal",s=i.textAlign||"left";return e.font=`${r} ${l}px ${o}`,e.textAlign=s,e.fillText(i.text,a.x,a.y),Mt(e,n),!0},gg=(e,t,i)=>{let a=ct(i,t);Lt(e,a),e.beginPath();let n=i.points.map(o=>({x:me(o.x,t,1,"width"),y:me(o.y,t,1,"height")}));e.moveTo(n[0].x,n[0].y);let l=n.length;for(let o=1;o{let a=wt(i,t),n=ct(i,t);Lt(e,n),e.beginPath();let l={x:a.x,y:a.y},o={x:a.x+a.width,y:a.y+a.height};e.moveTo(l.x,l.y),e.lineTo(o.x,o.y);let r=xo({x:o.x-l.x,y:o.y-l.y}),s=.04*Math.min(t.width,t.height);if(i.lineDecoration.indexOf("arrow-begin")!==-1){let p=Ri(r,s),c=Si(l,p),d=qe(l,2,c),m=qe(l,-2,c);e.moveTo(d.x,d.y),e.lineTo(l.x,l.y),e.lineTo(m.x,m.y)}if(i.lineDecoration.indexOf("arrow-end")!==-1){let p=Ri(r,-s),c=Si(o,p),d=qe(o,2,c),m=qe(o,-2,c);e.moveTo(d.x,d.y),e.lineTo(o.x,o.y),e.lineTo(m.x,m.y)}return Mt(e,n),!0},hg={rect:dg,ellipse:pg,image:mg,text:ug,line:fg,path:gg},bg=e=>{let t=document.createElement("canvas");return t.width=e.width,t.height=e.height,t.getContext("2d").putImageData(e,0,0),t},Eg=(e,t,i={})=>new Promise((a,n)=>{if(!e||!Su(e))return n({status:"not an image file",file:e});let{stripImageHead:l,beforeCreateBlob:o,afterCreateBlob:r,canvasMemoryLimit:s}=i,{crop:p,size:c,filter:d,markup:m,output:u}=t,g=t.image&&t.image.orientation?Math.max(1,Math.min(8,t.image.orientation)):null,f=u&&u.quality,h=f===null?null:f/100,I=u&&u.type||null,b=u&&u.background||null,T=[];c&&(typeof c.width=="number"||typeof c.height=="number")&&T.push({type:"resize",data:c}),d&&d.length===20&&T.push({type:"filter",data:d});let v=_=>{let x=r?r(_):_;Promise.resolve(x).then(a)},y=(_,x)=>{let R=bg(_),z=m.length?cg(R,m):R;Promise.resolve(z).then(P=>{Fu(P,x,o).then(A=>{if(vo(P),l)return v(A);ig(e).then(B=>{B!==null&&(A=new Blob([B,A.slice(20)],{type:A.type})),v(A)})}).catch(n)})};if(/svg/.test(e.type)&&I===null)return Qu(e,p,m,{background:b}).then(_=>{a(ng(_,"image/svg+xml"))});let E=URL.createObjectURL(e);rg(E).then(_=>{URL.revokeObjectURL(E);let x=zu(_,g,p,{canvasMemoryLimit:s,background:b}),R={quality:h,type:I||e.type};if(!T.length)return y(x,R);let z=og(Ju);z.post({transforms:T,imageData:x},P=>{y(Zu(P),R),z.terminate()},[x.data.buffer])}).catch(n)}),Tg=["x","y","left","top","right","bottom","width","height"],Ig=e=>typeof e=="string"&&/%/.test(e)?parseFloat(e)/100:e,vg=e=>{let[t,i]=e,a=i.points?{}:Tg.reduce((n,l)=>(n[l]=Ig(i[l]),n),{});return[t,{zIndex:0,...i,...a}]},xg=e=>new Promise((t,i)=>{let a=new Image;a.src=URL.createObjectURL(e);let n=()=>{let o=a.naturalWidth,r=a.naturalHeight;o&&r&&(URL.revokeObjectURL(a.src),clearInterval(l),t({width:o,height:r}))};a.onerror=o=>{URL.revokeObjectURL(a.src),clearInterval(l),i(o)};let l=setInterval(n,1);n()});typeof window<"u"&&typeof window.document<"u"&&(HTMLCanvasElement.prototype.toBlob||Object.defineProperty(HTMLCanvasElement.prototype,"toBlob",{value:function(e,t,i){let a=this;setTimeout(()=>{let n=a.toDataURL(t,i).split(",")[1],l=atob(n),o=l.length,r=new Uint8Array(o);for(;o--;)r[o]=l.charCodeAt(o);e(new Blob([r],{type:t||"image/png"}))})}}));var wa=typeof window<"u"&&typeof window.document<"u",yg=wa&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,Ro=({addFilter:e,utils:t})=>{let{Type:i,forin:a,getFileFromBlob:n,isFile:l}=t,o=["crop","resize","filter","markup","output"],r=c=>(d,m,u)=>d(m,c?c(u):u),s=c=>c.aspectRatio===null&&c.rotation===0&&c.zoom===1&&c.center&&c.center.x===.5&&c.center.y===.5&&c.flip&&c.flip.horizontal===!1&&c.flip.vertical===!1;e("SHOULD_PREPARE_OUTPUT",(c,{query:d})=>new Promise(m=>{m(!d("IS_ASYNC"))}));let p=(c,d,m)=>new Promise(u=>{if(!c("GET_ALLOW_IMAGE_TRANSFORM")||m.archived||!l(d)||!Iu(d))return u(!1);xg(d).then(()=>{let g=c("GET_IMAGE_TRANSFORM_IMAGE_FILTER");if(g){let f=g(d);if(f==null)return handleRevert(!0);if(typeof f=="boolean")return u(f);if(typeof f.then=="function")return f.then(u)}u(!0)}).catch(g=>{u(!1)})});return e("DID_CREATE_ITEM",(c,{query:d,dispatch:m})=>{d("GET_ALLOW_IMAGE_TRANSFORM")&&c.extend("requestPrepare",()=>new Promise((u,g)=>{m("REQUEST_PREPARE_OUTPUT",{query:c.id,item:c,success:u,failure:g},!0)}))}),e("PREPARE_OUTPUT",(c,{query:d,item:m})=>new Promise(u=>{p(d,c,m).then(g=>{if(!g)return u(c);let f=[];d("GET_IMAGE_TRANSFORM_VARIANTS_INCLUDE_ORIGINAL")&&f.push(()=>new Promise(x=>{x({name:d("GET_IMAGE_TRANSFORM_VARIANTS_ORIGINAL_NAME"),file:c})})),d("GET_IMAGE_TRANSFORM_VARIANTS_INCLUDE_DEFAULT")&&f.push((x,R,z)=>new Promise(P=>{x(R,z).then(A=>P({name:d("GET_IMAGE_TRANSFORM_VARIANTS_DEFAULT_NAME"),file:A}))}));let h=d("GET_IMAGE_TRANSFORM_VARIANTS")||{};a(h,(x,R)=>{let z=r(R);f.push((P,A,B)=>new Promise(w=>{z(P,A,B).then(O=>w({name:x,file:O}))}))});let I=d("GET_IMAGE_TRANSFORM_OUTPUT_QUALITY"),b=d("GET_IMAGE_TRANSFORM_OUTPUT_QUALITY_MODE"),T=I===null?null:I/100,v=d("GET_IMAGE_TRANSFORM_OUTPUT_MIME_TYPE"),y=d("GET_IMAGE_TRANSFORM_CLIENT_TRANSFORMS")||o;m.setMetadata("output",{type:v,quality:T,client:y},!0);let E=(x,R)=>new Promise((z,P)=>{let A={...R};Object.keys(A).filter(C=>C!=="exif").forEach(C=>{y.indexOf(C)===-1&&delete A[C]});let{resize:B,exif:w,output:O,crop:S,filter:L,markup:D}=A,F={image:{orientation:w?w.orientation:null},output:O&&(O.type||typeof O.quality=="number"||O.background)?{type:O.type,quality:typeof O.quality=="number"?O.quality*100:null,background:O.background||d("GET_IMAGE_TRANSFORM_CANVAS_BACKGROUND_COLOR")||null}:void 0,size:B&&(B.size.width||B.size.height)?{mode:B.mode,upscale:B.upscale,...B.size}:void 0,crop:S&&!s(S)?{...S}:void 0,markup:D&&D.length?D.map(vg):[],filter:L};if(F.output){let C=O.type?O.type!==x.type:!1,q=/\/jpe?g$/.test(x.type),$=O.quality!==null?q&&b==="always":!1;if(!!!(F.size||F.crop||F.filter||C||$))return z(x)}let G={beforeCreateBlob:d("GET_IMAGE_TRANSFORM_BEFORE_CREATE_BLOB"),afterCreateBlob:d("GET_IMAGE_TRANSFORM_AFTER_CREATE_BLOB"),canvasMemoryLimit:d("GET_IMAGE_TRANSFORM_CANVAS_MEMORY_LIMIT"),stripImageHead:d("GET_IMAGE_TRANSFORM_OUTPUT_STRIP_IMAGE_HEAD")};Eg(x,F,G).then(C=>{let q=n(C,yu(x.name,Ru(C.type)));z(q)}).catch(P)}),_=f.map(x=>x(E,c,m.getMetadata()));Promise.all(_).then(x=>{u(x.length===1&&x[0].name===null?x[0].file:x)})})})),{options:{allowImageTransform:[!0,i.BOOLEAN],imageTransformImageFilter:[null,i.FUNCTION],imageTransformOutputMimeType:[null,i.STRING],imageTransformOutputQuality:[null,i.INT],imageTransformOutputStripImageHead:[!0,i.BOOLEAN],imageTransformClientTransforms:[null,i.ARRAY],imageTransformOutputQualityMode:["always",i.STRING],imageTransformVariants:[null,i.OBJECT],imageTransformVariantsIncludeDefault:[!0,i.BOOLEAN],imageTransformVariantsDefaultName:[null,i.STRING],imageTransformVariantsIncludeOriginal:[!1,i.BOOLEAN],imageTransformVariantsOriginalName:["original_",i.STRING],imageTransformBeforeCreateBlob:[null,i.FUNCTION],imageTransformAfterCreateBlob:[null,i.FUNCTION],imageTransformCanvasMemoryLimit:[wa&&yg?4096*4096:null,i.INT],imageTransformCanvasBackgroundColor:[null,i.STRING]}}};wa&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:Ro}));var So=Ro;var La=e=>/^video/.test(e.type),Xt=e=>/^audio/.test(e.type),Ma=class{constructor(t,i){this.mediaEl=t,this.audioElems=i,this.onplayhead=!1,this.duration=0,this.timelineWidth=this.audioElems.timeline.offsetWidth-this.audioElems.playhead.offsetWidth,this.moveplayheadFn=this.moveplayhead.bind(this),this.registerListeners()}registerListeners(){this.mediaEl.addEventListener("timeupdate",this.timeUpdate.bind(this),!1),this.mediaEl.addEventListener("canplaythrough",()=>this.duration=this.mediaEl.duration,!1),this.audioElems.timeline.addEventListener("click",this.timelineClicked.bind(this),!1),this.audioElems.button.addEventListener("click",this.play.bind(this)),this.audioElems.playhead.addEventListener("mousedown",this.mouseDown.bind(this),!1),window.addEventListener("mouseup",this.mouseUp.bind(this),!1)}play(){this.mediaEl.paused?this.mediaEl.play():this.mediaEl.pause(),this.audioElems.button.classList.toggle("play"),this.audioElems.button.classList.toggle("pause")}timeUpdate(){let t=this.mediaEl.currentTime/this.duration*100;this.audioElems.playhead.style.marginLeft=t+"%",this.mediaEl.currentTime===this.duration&&(this.audioElems.button.classList.toggle("play"),this.audioElems.button.classList.toggle("pause"))}moveplayhead(t){let i=t.clientX-this.getPosition(this.audioElems.timeline);i>=0&&i<=this.timelineWidth&&(this.audioElems.playhead.style.marginLeft=i+"px"),i<0&&(this.audioElems.playhead.style.marginLeft="0px"),i>this.timelineWidth&&(this.audioElems.playhead.style.marginLeft=this.timelineWidth-4+"px")}timelineClicked(t){this.moveplayhead(t),this.mediaEl.currentTime=this.duration*this.clickPercent(t)}mouseDown(){this.onplayhead=!0,window.addEventListener("mousemove",this.moveplayheadFn,!0),this.mediaEl.removeEventListener("timeupdate",this.timeUpdate.bind(this),!1)}mouseUp(t){window.removeEventListener("mousemove",this.moveplayheadFn,!0),this.onplayhead==!0&&(this.moveplayhead(t),this.mediaEl.currentTime=this.duration*this.clickPercent(t),this.mediaEl.addEventListener("timeupdate",this.timeUpdate.bind(this),!1)),this.onplayhead=!1}clickPercent(t){return(t.clientX-this.getPosition(this.audioElems.timeline))/this.timelineWidth}getPosition(t){return t.getBoundingClientRect().left}},Rg=e=>e.utils.createView({name:"media-preview",tag:"div",ignoreRect:!0,create:({root:t,props:i})=>{let{id:a}=i,n=t.query("GET_ITEM",{id:i.id}),l=Xt(n.file)?"audio":"video";if(t.ref.media=document.createElement(l),t.ref.media.setAttribute("controls",!0),t.element.appendChild(t.ref.media),Xt(n.file)){let o=document.createDocumentFragment();t.ref.audio=[],t.ref.audio.container=document.createElement("div"),t.ref.audio.button=document.createElement("span"),t.ref.audio.timeline=document.createElement("div"),t.ref.audio.playhead=document.createElement("div"),t.ref.audio.container.className="audioplayer",t.ref.audio.button.className="playpausebtn play",t.ref.audio.timeline.className="timeline",t.ref.audio.playhead.className="playhead",t.ref.audio.timeline.appendChild(t.ref.audio.playhead),t.ref.audio.container.appendChild(t.ref.audio.button),t.ref.audio.container.appendChild(t.ref.audio.timeline),o.appendChild(t.ref.audio.container),t.element.appendChild(o)}},write:e.utils.createRoute({DID_MEDIA_PREVIEW_LOAD:({root:t,props:i})=>{let{id:a}=i,n=t.query("GET_ITEM",{id:i.id});if(!n)return;let l=window.URL||window.webkitURL,o=new Blob([n.file],{type:n.file.type});t.ref.media.type=n.file.type,t.ref.media.src=n.file.mock&&n.file.url||l.createObjectURL(o),Xt(n.file)&&new Ma(t.ref.media,t.ref.audio),t.ref.media.addEventListener("loadeddata",()=>{let r=75;if(La(n.file)){let s=t.ref.media.offsetWidth,p=t.ref.media.videoWidth/s;r=t.ref.media.videoHeight/p}t.dispatch("DID_UPDATE_PANEL_HEIGHT",{id:i.id,height:r})},!1)}})}),Sg=e=>{let t=({root:a,props:n})=>{let{id:l}=n;a.query("GET_ITEM",l)&&a.dispatch("DID_MEDIA_PREVIEW_LOAD",{id:l})},i=({root:a,props:n})=>{let l=Rg(e);a.ref.media=a.appendChildView(a.createChildView(l,{id:n.id}))};return e.utils.createView({name:"media-preview-wrapper",create:i,write:e.utils.createRoute({DID_MEDIA_PREVIEW_CONTAINER_CREATE:t})})},Aa=e=>{let{addFilter:t,utils:i}=e,{Type:a,createRoute:n}=i,l=Sg(e);return t("CREATE_VIEW",o=>{let{is:r,view:s,query:p}=o;if(!r("file"))return;let c=({root:d,props:m})=>{let{id:u}=m,g=p("GET_ITEM",u),f=p("GET_ALLOW_VIDEO_PREVIEW"),h=p("GET_ALLOW_AUDIO_PREVIEW");!g||g.archived||(!La(g.file)||!f)&&(!Xt(g.file)||!h)||(d.ref.mediaPreview=s.appendChildView(s.createChildView(l,{id:u})),d.dispatch("DID_MEDIA_PREVIEW_CONTAINER_CREATE",{id:u}))};s.registerWriter(n({DID_LOAD_ITEM:c},({root:d,props:m})=>{let{id:u}=m,g=p("GET_ITEM",u),f=d.query("GET_ALLOW_VIDEO_PREVIEW"),h=d.query("GET_ALLOW_AUDIO_PREVIEW");!g||(!La(g.file)||!f)&&(!Xt(g.file)||!h)||d.rect.element.hidden}))}),{options:{allowVideoPreview:[!0,a.BOOLEAN],allowAudioPreview:[!0,a.BOOLEAN]}}},_g=typeof window<"u"&&typeof window.document<"u";_g&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:Aa}));var _o={labelIdle:'\u134B\u12ED\u120E\u127D \u1235\u1260\u12CD \u12A5\u12DA\u1205 \u130B\u122D \u12ED\u120D\u1240\u1241\u1275 \u12C8\u12ED\u121D \u134B\u12ED\u1209\u1295 \u12ED\u121D\u1228\u1321 ',labelInvalidField:"\u1218\u1235\u12A9 \u120D\u12AD \u12EB\u120D\u1206\u1291 \u134B\u12ED\u120E\u127D\u1295 \u12ED\u12DF\u120D",labelFileWaitingForSize:"\u12E8\u134B\u12ED\u1209\u1295 \u1218\u1320\u1295 \u1260\u1218\u1320\u1263\u1260\u1245 \u120B\u12ED",labelFileSizeNotAvailable:"\u12E8\u134B\u12ED\u1209\u1295 \u1218\u1320\u1295 \u120A\u1308\u129D \u12A0\u120D\u127B\u1208\u121D",labelFileLoading:"\u1260\u121B\u1295\u1260\u1265 \u120B\u12ED",labelFileLoadError:"\u1260\u121B\u1295\u1260\u1265 \u120B\u12ED \u127D\u130D\u122D \u1270\u1348\u1325\u122F\u120D",labelFileProcessing:"\u134B\u12ED\u1209\u1295 \u1260\u1218\u132B\u1295 \u120B\u12ED",labelFileProcessingComplete:"\u134B\u12ED\u1209\u1295 \u1218\u132B\u1295 \u1270\u1320\u1293\u1245\u124B\u120D",labelFileProcessingAborted:"\u134B\u12ED\u1209\u1295 \u1218\u132B\u1295 \u1270\u124B\u122D\u1327\u120D",labelFileProcessingError:"\u134B\u12ED\u1209\u1295 \u1260\u1218\u132B\u1295 \u120B\u12ED \u127D\u130D\u122D \u1270\u1348\u1325\u122F\u120D",labelFileProcessingRevertError:"\u1348\u12ED\u1209\u1295 \u1260\u1218\u1240\u120D\u1260\u1235 \u120B\u12ED \u127D\u130D\u122D \u1270\u1348\u1325\u122F\u120D",labelFileRemoveError:"\u1260\u121B\u1325\u134B\u1275 \u120B\u12ED \u127D\u130D\u122D \u1270\u1348\u1325\u122F\u120D",labelTapToCancel:"\u1208\u121B\u124B\u1228\u1325 \u1290\u12AB \u12EB\u12F5\u122D\u1309",labelTapToRetry:"\u12F0\u130D\u121E \u1208\u1218\u121E\u12A8\u122D \u1290\u12AB \u12EB\u12F5\u122D\u1309",labelTapToUndo:"\u12C8\u12F0\u1290\u1260\u1228\u1260\u1275 \u1208\u1218\u1218\u1208\u1235 \u1290\u12AB \u12EB\u12F5\u122D\u1309",labelButtonRemoveItem:"\u120B\u1325\u134B",labelButtonAbortItemLoad:"\u120B\u124B\u122D\u1325",labelButtonRetryItemLoad:"\u12F0\u130D\u121C \u120D\u121E\u12AD\u122D",labelButtonAbortItemProcessing:"\u12ED\u1245\u122D",labelButtonUndoItemProcessing:"\u12C8\u12F0\u1290\u1260\u1228\u1260\u1275 \u120D\u1218\u120D\u1235",labelButtonRetryItemProcessing:"\u12F0\u130D\u121C \u120D\u121E\u12AD\u122D",labelButtonProcessItem:"\u120D\u132B\u1295",labelMaxFileSizeExceeded:"\u134B\u12ED\u1209 \u1270\u120D\u124B\u120D",labelMaxFileSize:"\u12E8\u134B\u12ED\u120D \u1218\u1320\u1295 \u12A8 {filesize} \u1218\u1265\u1208\u1325 \u12A0\u12ED\u1348\u1240\u12F5\u121D",labelMaxTotalFileSizeExceeded:"\u12E8\u121A\u1348\u1240\u12F0\u12CD\u1295 \u1320\u1245\u120B\u120B \u12E8\u134B\u12ED\u120D \u1218\u1320\u1295 \u12A0\u120D\u1348\u12CB\u120D",labelMaxTotalFileSize:"\u1320\u1245\u120B\u120B \u12E8\u134B\u12ED\u120D \u1218\u1320\u1295 \u12A8 {filesize} \u1218\u1265\u1208\u1325 \u12A0\u12ED\u1348\u1240\u12F5\u121D",labelFileTypeNotAllowed:"\u12E8\u1270\u1233\u1233\u1270 \u12E8\u134B\u12ED\u120D \u12A0\u12ED\u1290\u1275 \u1290\u12CD",fileValidateTypeLabelExpectedTypes:"\u12E8\u134B\u12ED\u120D \u12A0\u12ED\u1290\u1271 \u1218\u1206\u1295 \u12E8\u121A\u1308\u1263\u12CD {allButLastType} \u12A5\u1293 {lastType} \u1290\u12CD",imageValidateSizeLabelFormatError:"\u12E8\u121D\u1235\u120D \u12A0\u12ED\u1290\u1271 \u1208\u1218\u132B\u1295 \u12A0\u12ED\u1206\u1295\u121D",imageValidateSizeLabelImageSizeTooSmall:"\u121D\u1235\u1209 \u1260\u1323\u121D \u12A0\u1295\u1237\u120D",imageValidateSizeLabelImageSizeTooBig:"\u121D\u1235\u1209 \u1260\u1323\u121D \u1270\u120D\u124B\u120D",imageValidateSizeLabelExpectedMinSize:"\u12DD\u1245\u1270\u129B\u12CD \u12E8\u121D\u1235\u120D \u120D\u12AC\u1275 {minWidth} \xD7 {minHeight} \u1290\u12CD",imageValidateSizeLabelExpectedMaxSize:"\u12A8\u134D\u1270\u129B\u12CD \u12E8\u121D\u1235\u120D \u120D\u12AC\u1275 {maxWidth} \xD7 {maxHeight} \u1290\u12CD",imageValidateSizeLabelImageResolutionTooLow:"\u12E8\u121D\u1235\u1209 \u1325\u122B\u1275 \u1260\u1323\u121D \u12DD\u1245\u1270\u129B \u1290\u12CD",imageValidateSizeLabelImageResolutionTooHigh:"\u12E8\u121D\u1235\u1209 \u1325\u122B\u1275 \u1260\u1323\u121D \u12A8\u134D\u1270\u129B \u1290\u12CD",imageValidateSizeLabelExpectedMinResolution:"\u12DD\u1245\u1270\u129B\u12CD \u12E8\u121D\u1235\u120D \u1325\u122B\u1275 {minResolution} \u1290\u12CD",imageValidateSizeLabelExpectedMaxResolution:"\u12A8\u134D\u1270\u129B\u12CD \u12E8\u121D\u1235\u120D \u1325\u122B\u1275 {maxResolution} \u1290\u12CD"};var wo={labelIdle:'\u0627\u0633\u062D\u0628 \u0648 \u0627\u062F\u0631\u062C \u0645\u0644\u0641\u0627\u062A\u0643 \u0623\u0648 \u062A\u0635\u0641\u062D ',labelInvalidField:"\u0627\u0644\u062D\u0642\u0644 \u064A\u062D\u062A\u0648\u064A \u0639\u0644\u0649 \u0645\u0644\u0641\u0627\u062A \u063A\u064A\u0631 \u0635\u0627\u0644\u062D\u0629",labelFileWaitingForSize:"\u0628\u0627\u0646\u062A\u0638\u0627\u0631 \u0627\u0644\u062D\u062C\u0645",labelFileSizeNotAvailable:"\u0627\u0644\u062D\u062C\u0645 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D",labelFileLoading:"\u0628\u0627\u0644\u0625\u0646\u062A\u0638\u0627\u0631",labelFileLoadError:"\u062D\u062F\u062B \u062E\u0637\u0623 \u0623\u062B\u0646\u0627\u0621 \u0627\u0644\u062A\u062D\u0645\u064A\u0644",labelFileProcessing:"\u064A\u062A\u0645 \u0627\u0644\u0631\u0641\u0639",labelFileProcessingComplete:"\u062A\u0645 \u0627\u0644\u0631\u0641\u0639",labelFileProcessingAborted:"\u062A\u0645 \u0625\u0644\u063A\u0627\u0621 \u0627\u0644\u0631\u0641\u0639",labelFileProcessingError:"\u062D\u062F\u062B \u062E\u0637\u0623 \u0623\u062B\u0646\u0627\u0621 \u0627\u0644\u0631\u0641\u0639",labelFileProcessingRevertError:"\u062D\u062F\u062B \u062E\u0637\u0623 \u0623\u062B\u0646\u0627\u0621 \u0627\u0644\u062A\u0631\u0627\u062C\u0639",labelFileRemoveError:"\u062D\u062F\u062B \u062E\u0637\u0623 \u0623\u062B\u0646\u0627\u0621 \u0627\u0644\u062D\u0630\u0641",labelTapToCancel:"\u0627\u0646\u0642\u0631 \u0644\u0644\u0625\u0644\u063A\u0627\u0621",labelTapToRetry:"\u0627\u0646\u0642\u0631 \u0644\u0625\u0639\u0627\u062F\u0629 \u0627\u0644\u0645\u062D\u0627\u0648\u0644\u0629",labelTapToUndo:"\u0627\u0646\u0642\u0631 \u0644\u0644\u062A\u0631\u0627\u062C\u0639",labelButtonRemoveItem:"\u0645\u0633\u062D",labelButtonAbortItemLoad:"\u0625\u0644\u063A\u0627\u0621",labelButtonRetryItemLoad:"\u0625\u0639\u0627\u062F\u0629",labelButtonAbortItemProcessing:"\u0625\u0644\u063A\u0627\u0621",labelButtonUndoItemProcessing:"\u062A\u0631\u0627\u062C\u0639",labelButtonRetryItemProcessing:"\u0625\u0639\u0627\u062F\u0629",labelButtonProcessItem:"\u0631\u0641\u0639",labelMaxFileSizeExceeded:"\u0627\u0644\u0645\u0644\u0641 \u0643\u0628\u064A\u0631 \u062C\u062F\u0627",labelMaxFileSize:"\u062D\u062C\u0645 \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0623\u0642\u0635\u0649: {filesize}",labelMaxTotalFileSizeExceeded:"\u062A\u0645 \u062A\u062C\u0627\u0648\u0632 \u0627\u0644\u062D\u062F \u0627\u0644\u0623\u0642\u0635\u0649 \u0644\u0644\u062D\u062C\u0645 \u0627\u0644\u0625\u062C\u0645\u0627\u0644\u064A",labelMaxTotalFileSize:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u0642\u0635\u0649 \u0644\u062D\u062C\u0645 \u0627\u0644\u0645\u0644\u0641: {filesize}",labelFileTypeNotAllowed:"\u0645\u0644\u0641 \u0645\u0646 \u0646\u0648\u0639 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D",fileValidateTypeLabelExpectedTypes:"\u062A\u062A\u0648\u0642\u0639 {allButLastType} \u0645\u0646 {lastType}",imageValidateSizeLabelFormatError:"\u0646\u0648\u0639 \u0627\u0644\u0635\u0648\u0631\u0629 \u063A\u064A\u0631 \u0645\u062F\u0639\u0648\u0645",imageValidateSizeLabelImageSizeTooSmall:"\u0627\u0644\u0635\u0648\u0631\u0629 \u0635\u063A\u064A\u0631 \u062C\u062F\u0627",imageValidateSizeLabelImageSizeTooBig:"\u0627\u0644\u0635\u0648\u0631\u0629 \u0643\u0628\u064A\u0631\u0629 \u062C\u062F\u0627",imageValidateSizeLabelExpectedMinSize:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u062F\u0646\u0649 \u0644\u0644\u0623\u0628\u0639\u0627\u062F \u0647\u0648: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u0642\u0635\u0649 \u0644\u0644\u0623\u0628\u0639\u0627\u062F \u0647\u0648: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u0627\u0644\u062F\u0642\u0629 \u0636\u0639\u064A\u0641\u0629 \u062C\u062F\u0627",imageValidateSizeLabelImageResolutionTooHigh:"\u0627\u0644\u062F\u0642\u0629 \u0645\u0631\u062A\u0641\u0639\u0629 \u062C\u062F\u0627",imageValidateSizeLabelExpectedMinResolution:"\u0623\u0642\u0644 \u062F\u0642\u0629: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u0623\u0642\u0635\u0649 \u062F\u0642\u0629: {maxResolution}"};var Lo={labelIdle:'Fayl\u0131n\u0131z\u0131 S\xFCr\xFC\u015Fd\xFCr\xFCn & Burax\u0131n ya da Se\xE7in ',labelInvalidField:"Sah\u0259d\u0259 etibars\u0131z fayllar var",labelFileWaitingForSize:"\xD6l\xE7\xFC hesablan\u0131r",labelFileSizeNotAvailable:"\xD6l\xE7\xFC m\xF6vcud deyil",labelFileLoading:"Y\xFCkl\u0259nir",labelFileLoadError:"Y\xFCkl\u0259m\u0259 \u0259snas\u0131nda x\u0259ta ba\u015F verdi",labelFileProcessing:"Y\xFCkl\u0259nir",labelFileProcessingComplete:"Y\xFCkl\u0259m\u0259 tamamland\u0131",labelFileProcessingAborted:"Y\xFCkl\u0259m\u0259 l\u0259\u011Fv edildi",labelFileProcessingError:"Y\xFCk\u0259y\u0259rk\u0259n x\u0259ta ba\u015F verdi",labelFileProcessingRevertError:"Geri \xE7\u0259k\u0259rk\u0259n x\u0259ta ba\u015F verdi",labelFileRemoveError:"\xC7\u0131xarark\u0259n x\u0259ta ba\u015F verdi",labelTapToCancel:"\u0130mtina etm\u0259k \xFC\xE7\xFCn klikl\u0259yin",labelTapToRetry:"T\u0259krar yoxlamaq \xFC\xE7\xFCn klikl\u0259yin",labelTapToUndo:"Geri almaq \xFC\xE7\xFCn klikl\u0259yin",labelButtonRemoveItem:"\xC7\u0131xar",labelButtonAbortItemLoad:"\u0130mtina Et",labelButtonRetryItemLoad:"T\u0259krar yoxla",labelButtonAbortItemProcessing:"\u0130mtina et",labelButtonUndoItemProcessing:"Geri Al",labelButtonRetryItemProcessing:"T\u0259krar yoxla",labelButtonProcessItem:"Y\xFCkl\u0259",labelMaxFileSizeExceeded:"Fayl \xE7ox b\xF6y\xFCkd\xFCr",labelMaxFileSize:"\u018Fn b\xF6y\xFCk fayl \xF6l\xE7\xFCs\xFC: {filesize}",labelMaxTotalFileSizeExceeded:"Maksimum \xF6l\xE7\xFC ke\xE7ildi",labelMaxTotalFileSize:"Maksimum fayl \xF6l\xE7\xFCs\xFC :{filesize}",labelFileTypeNotAllowed:"Etibars\u0131z fayl tipi",fileValidateTypeLabelExpectedTypes:"Bu {allButLastType} ya da bu fayl olmas\u0131 laz\u0131md\u0131r: {lastType}",imageValidateSizeLabelFormatError:"\u015E\u0259kil tipi d\u0259st\u0259kl\u0259nmir",imageValidateSizeLabelImageSizeTooSmall:"\u015E\u0259kil \xE7ox ki\xE7ik",imageValidateSizeLabelImageSizeTooBig:"\u015E\u0259kil \xE7ox b\xF6y\xFCk",imageValidateSizeLabelExpectedMinSize:"Minimum \xF6l\xE7\xFC {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maksimum \xF6l\xE7\xFC {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"G\xF6r\xFCnt\xFC imkan\u0131 \xE7ox a\u015Fa\u011F\u0131",imageValidateSizeLabelImageResolutionTooHigh:"G\xF6r\xFCnt\xFC imkan\u0131 \xE7ox y\xFCks\u0259k",imageValidateSizeLabelExpectedMinResolution:"Minimum g\xF6r\xFCnt\xFC imkan\u0131 {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maximum g\xF6r\xFCnt\xFC imkan\u0131 {maxResolution}"};var Mo={labelIdle:'Arrossega i deixa anar els teus fitxers o Navega ',labelInvalidField:"El camp cont\xE9 fitxers inv\xE0lids",labelFileWaitingForSize:"Esperant mida",labelFileSizeNotAvailable:"Mida no disponible",labelFileLoading:"Carregant",labelFileLoadError:"Error durant la c\xE0rrega",labelFileProcessing:"Pujant",labelFileProcessingComplete:"Pujada completada",labelFileProcessingAborted:"Pujada cancel\xB7lada",labelFileProcessingError:"Error durant la pujada",labelFileProcessingRevertError:"Error durant la reversi\xF3",labelFileRemoveError:"Error durant l'eliminaci\xF3",labelTapToCancel:"toca per cancel\xB7lar",labelTapToRetry:"toca per reintentar",labelTapToUndo:"toca per desfer",labelButtonRemoveItem:"Eliminar",labelButtonAbortItemLoad:"Cancel\xB7lar",labelButtonRetryItemLoad:"Reintentar",labelButtonAbortItemProcessing:"Cancel\xB7lar",labelButtonUndoItemProcessing:"Desfer",labelButtonRetryItemProcessing:"Reintentar",labelButtonProcessItem:"Pujar",labelMaxFileSizeExceeded:"El fitxer \xE9s massa gran",labelMaxFileSize:"La mida m\xE0xima del fitxer \xE9s {filesize}",labelMaxTotalFileSizeExceeded:"Mida m\xE0xima total excedida",labelMaxTotalFileSize:"La mida m\xE0xima total del fitxer \xE9s {filesize}",labelFileTypeNotAllowed:"Fitxer de tipus inv\xE0lid",fileValidateTypeLabelExpectedTypes:"Espera {allButLastType} o {lastType}",imageValidateSizeLabelFormatError:"Tipus d'imatge no suportada",imageValidateSizeLabelImageSizeTooSmall:"La imatge \xE9s massa petita",imageValidateSizeLabelImageSizeTooBig:"La imatge \xE9s massa gran",imageValidateSizeLabelExpectedMinSize:"La mida m\xEDnima \xE9s {minWidth} x {minHeight}",imageValidateSizeLabelExpectedMaxSize:"La mida m\xE0xima \xE9s {maxWidth} x {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"La resoluci\xF3 \xE9s massa baixa",imageValidateSizeLabelImageResolutionTooHigh:"La resoluci\xF3 \xE9s massa alta",imageValidateSizeLabelExpectedMinResolution:"La resoluci\xF3 m\xEDnima \xE9s {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"La resoluci\xF3 m\xE0xima \xE9s {maxResolution}"};var Ao={labelIdle:'\u067E\u06D5\u0695\u06AF\u06D5\u06A9\u0627\u0646 \u0641\u0695\u06CE \u0628\u062F\u06D5 \u0626\u06CE\u0631\u06D5 \u0628\u06C6 \u0628\u0627\u0631\u06A9\u0631\u062F\u0646 \u06CC\u0627\u0646 \u0647\u06D5\u06B5\u0628\u0698\u06CE\u0631\u06D5 ',labelInvalidField:"\u067E\u06D5\u0695\u06AF\u06D5\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A\u06CC \u062A\u06CE\u062F\u0627\u06CC\u06D5",labelFileWaitingForSize:"\u0686\u0627\u0648\u06D5\u0695\u0648\u0627\u0646\u06CC\u06CC \u0642\u06D5\u0628\u0627\u0631\u06D5",labelFileSizeNotAvailable:"\u0642\u06D5\u0628\u0627\u0631\u06D5 \u0628\u06D5\u0631\u062F\u06D5\u0633\u062A \u0646\u06CC\u06D5",labelFileLoading:"\u0628\u0627\u0631\u06A9\u0631\u062F\u0646",labelFileLoadError:"\u0647\u06D5\u06B5\u06D5 \u0644\u06D5\u0645\u0627\u0648\u06D5\u06CC \u0628\u0627\u0631\u06A9\u0631\u062F\u0646",labelFileProcessing:"\u0628\u0627\u0631\u06A9\u0631\u062F\u0646",labelFileProcessingComplete:"\u0628\u0627\u0631\u06A9\u0631\u062F\u0646 \u062A\u06D5\u0648\u0627\u0648 \u0628\u0648\u0648",labelFileProcessingAborted:"\u0628\u0627\u0631\u06A9\u0631\u062F\u0646 \u0647\u06D5\u06B5\u0648\u06D5\u0634\u0627\u06CC\u06D5\u0648\u06D5",labelFileProcessingError:"\u0647\u06D5\u06B5\u06D5 \u0644\u06D5\u06A9\u0627\u062A\u06CC \u0628\u0627\u0631\u06A9\u0631\u062F\u0646\u062F\u0627",labelFileProcessingRevertError:"\u0647\u06D5\u06B5\u06D5 \u0644\u06D5 \u06A9\u0627\u062A\u06CC \u06AF\u06D5\u0695\u0627\u0646\u06D5\u0648\u06D5",labelFileRemoveError:"\u0647\u06D5\u06B5\u06D5 \u0644\u06D5 \u06A9\u0627\u062A\u06CC \u0633\u0695\u06CC\u0646\u06D5\u0648\u06D5",labelTapToCancel:"\u0628\u06C6 \u0647\u06D5\u06B5\u0648\u06D5\u0634\u0627\u0646\u062F\u0646\u06D5\u0648\u06D5 Tab \u062F\u0627\u0628\u06AF\u0631\u06D5",labelTapToRetry:"tap \u062F\u0627\u0628\u06AF\u0631\u06D5 \u0628\u06C6 \u062F\u0648\u0648\u0628\u0627\u0631\u06D5\u06A9\u0631\u062F\u0646\u06D5\u0648\u06D5",labelTapToUndo:"tap \u062F\u0627\u0628\u06AF\u0631\u06D5 \u0628\u06C6 \u06AF\u06D5\u0695\u0627\u0646\u062F\u0646\u06D5\u0648\u06D5",labelButtonRemoveItem:"\u0633\u0695\u06CC\u0646\u06D5\u0648\u06D5",labelButtonAbortItemLoad:"\u0647\u06D5\u06B5\u0648\u06D5\u0634\u0627\u0646\u062F\u0646\u06D5\u0648\u06D5",labelButtonRetryItemLoad:"\u0647\u06D5\u0648\u06B5\u062F\u0627\u0646\u06D5\u0648\u06D5",labelButtonAbortItemProcessing:"\u067E\u06D5\u0634\u06CC\u0645\u0627\u0646\u0628\u0648\u0648\u0646\u06D5\u0648\u06D5",labelButtonUndoItemProcessing:"\u06AF\u06D5\u0695\u0627\u0646\u062F\u0646\u06D5\u0648\u06D5",labelButtonRetryItemProcessing:"\u0647\u06D5\u0648\u06B5\u062F\u0627\u0646\u06D5\u0648\u06D5",labelButtonProcessItem:"\u0628\u0627\u0631\u06A9\u0631\u062F\u0646",labelMaxFileSizeExceeded:"\u067E\u06D5\u0695\u06AF\u06D5 \u0632\u06C6\u0631 \u06AF\u06D5\u0648\u0631\u06D5\u06CC\u06D5",labelMaxFileSize:"\u0632\u06C6\u0631\u062A\u0631\u06CC\u0646 \u0642\u06D5\u0628\u0627\u0631\u06D5 {filesize}",labelMaxTotalFileSizeExceeded:"\u0632\u06C6\u0631\u062A\u0631\u06CC\u0646 \u0642\u06D5\u0628\u0627\u0631\u06D5\u06CC \u06A9\u06C6\u06CC \u06AF\u0634\u062A\u06CC \u062A\u06CE\u067E\u06D5\u0695\u06CE\u0646\u062F\u0631\u0627",labelMaxTotalFileSize:"\u0632\u06C6\u0631\u062A\u0631\u06CC\u0646 \u0642\u06D5\u0628\u0627\u0631\u06D5\u06CC \u06A9\u06C6\u06CC \u067E\u06D5\u0695\u06AF\u06D5 {filesize}",labelFileTypeNotAllowed:"\u062C\u06C6\u0631\u06CC \u067E\u06D5\u0695\u06AF\u06D5\u06A9\u06D5 \u0646\u0627\u062F\u0631\u0648\u0633\u062A\u06D5",fileValidateTypeLabelExpectedTypes:"\u062C\u06AF\u06D5 \u0644\u06D5 {allButLastType} \u06CC\u0627\u0646 {lastType}",imageValidateSizeLabelFormatError:"\u062C\u06C6\u0631\u06CC \u0648\u06CE\u0646\u06D5 \u067E\u0627\u06B5\u067E\u0634\u062A\u06CC\u06CC \u0646\u06D5\u06A9\u0631\u0627\u0648\u06D5",imageValidateSizeLabelImageSizeTooSmall:"\u0648\u06CE\u0646\u06D5\u06A9\u06D5 \u0632\u06C6\u0631 \u0628\u0686\u0648\u0648\u06A9\u06D5",imageValidateSizeLabelImageSizeTooBig:"\u0648\u06CE\u0646\u06D5\u06A9\u06D5 \u0632\u06C6\u0631 \u06AF\u06D5\u0648\u0631\u06D5\u06CC\u06D5",imageValidateSizeLabelExpectedMinSize:"\u06A9\u06D5\u0645\u062A\u0631\u06CC\u0646 \u0642\u06D5\u0628\u0627\u0631\u06D5 {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u0632\u06C6\u0631\u062A\u0631\u06CC\u0646 \u0642\u06D5\u0628\u0627\u0631\u06D5 {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u0648\u0631\u062F\u0628\u06CC\u0646\u06CC\u06CC\u06D5\u06A9\u06D5\u06CC \u0632\u06C6\u0631 \u06A9\u06D5\u0645\u06D5",imageValidateSizeLabelImageResolutionTooHigh:"\u0648\u0631\u062F\u0628\u06CC\u0646\u06CC\u06CC\u06D5\u06A9\u06D5\u06CC \u0632\u06C6\u0631 \u0628\u06D5\u0631\u0632\u06D5",imageValidateSizeLabelExpectedMinResolution:"\u06A9\u06D5\u0645\u062A\u0631\u06CC\u0646 \u0648\u0631\u062F\u0628\u06CC\u0646\u06CC\u06CC {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u0632\u06C6\u0631\u062A\u0631\u06CC\u0646 \u0648\u0631\u062F\u0628\u06CC\u0646\u06CC {maxResolution}"};var Po={labelIdle:'P\u0159et\xE1hn\u011Bte soubor sem (drag&drop) nebo Vyhledat ',labelInvalidField:"Pole obsahuje chybn\xE9 soubory",labelFileWaitingForSize:"Zji\u0161\u0165uje se velikost",labelFileSizeNotAvailable:"Velikost nen\xED zn\xE1m\xE1",labelFileLoading:"P\u0159en\xE1\u0161\xED se",labelFileLoadError:"Chyba p\u0159i p\u0159enosu",labelFileProcessing:"Prob\xEDh\xE1 upload",labelFileProcessingComplete:"Upload dokon\u010Den",labelFileProcessingAborted:"Upload stornov\xE1n",labelFileProcessingError:"Chyba p\u0159i uploadu",labelFileProcessingRevertError:"Chyba p\u0159i obnov\u011B",labelFileRemoveError:"Chyba p\u0159i odstran\u011Bn\xED",labelTapToCancel:"klepn\u011Bte pro storno",labelTapToRetry:"klepn\u011Bte pro opakov\xE1n\xED",labelTapToUndo:"klepn\u011Bte pro vr\xE1cen\xED",labelButtonRemoveItem:"Odstranit",labelButtonAbortItemLoad:"Storno",labelButtonRetryItemLoad:"Opakovat",labelButtonAbortItemProcessing:"Zp\u011Bt",labelButtonUndoItemProcessing:"Vr\xE1tit",labelButtonRetryItemProcessing:"Opakovat",labelButtonProcessItem:"Upload",labelMaxFileSizeExceeded:"Soubor je p\u0159\xEDli\u0161 velk\xFD",labelMaxFileSize:"Nejv\u011Bt\u0161\xED velikost souboru je {filesize}",labelMaxTotalFileSizeExceeded:"P\u0159ekro\u010Dena maxim\xE1ln\xED celkov\xE1 velikost souboru",labelMaxTotalFileSize:"Maxim\xE1ln\xED celkov\xE1 velikost souboru je {filesize}",labelFileTypeNotAllowed:"Soubor je nespr\xE1vn\xE9ho typu",fileValidateTypeLabelExpectedTypes:"O\u010Dek\xE1v\xE1 se {allButLastType} nebo {lastType}",imageValidateSizeLabelFormatError:"Obr\xE1zek tohoto typu nen\xED podporov\xE1n",imageValidateSizeLabelImageSizeTooSmall:"Obr\xE1zek je p\u0159\xEDli\u0161 mal\xFD",imageValidateSizeLabelImageSizeTooBig:"Obr\xE1zek je p\u0159\xEDli\u0161 velk\xFD",imageValidateSizeLabelExpectedMinSize:"Minim\xE1ln\xED rozm\u011Br je {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maxim\xE1ln\xED rozm\u011Br je {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Rozli\u0161en\xED je p\u0159\xEDli\u0161 mal\xE9",imageValidateSizeLabelImageResolutionTooHigh:"Rozli\u0161en\xED je p\u0159\xEDli\u0161 velk\xE9",imageValidateSizeLabelExpectedMinResolution:"Minim\xE1ln\xED rozli\u0161en\xED je {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maxim\xE1ln\xED rozli\u0161en\xED je {maxResolution}"};var zo={labelIdle:'Tr\xE6k & slip filer eller Gennemse ',labelInvalidField:"Felt indeholder ugyldige filer",labelFileWaitingForSize:"Venter p\xE5 st\xF8rrelse",labelFileSizeNotAvailable:"St\xF8rrelse ikke tilg\xE6ngelig",labelFileLoading:"Loader",labelFileLoadError:"Load fejlede",labelFileProcessing:"Uploader",labelFileProcessingComplete:"Upload f\xE6rdig",labelFileProcessingAborted:"Upload annulleret",labelFileProcessingError:"Upload fejlede",labelFileProcessingRevertError:"Fortryd fejlede",labelFileRemoveError:"Fjern fejlede",labelTapToCancel:"tryk for at annullere",labelTapToRetry:"tryk for at pr\xF8ve igen",labelTapToUndo:"tryk for at fortryde",labelButtonRemoveItem:"Fjern",labelButtonAbortItemLoad:"Annuller",labelButtonRetryItemLoad:"Fors\xF8g igen",labelButtonAbortItemProcessing:"Annuller",labelButtonUndoItemProcessing:"Fortryd",labelButtonRetryItemProcessing:"Pr\xF8v igen",labelButtonProcessItem:"Upload",labelMaxFileSizeExceeded:"Filen er for stor",labelMaxFileSize:"Maksimal filst\xF8rrelse er {filesize}",labelMaxTotalFileSizeExceeded:"Maksimal totalst\xF8rrelse overskredet",labelMaxTotalFileSize:"Maksimal total filst\xF8rrelse er {filesize}",labelFileTypeNotAllowed:"Ugyldig filtype",fileValidateTypeLabelExpectedTypes:"Forventer {allButLastType} eller {lastType}",imageValidateSizeLabelFormatError:"Ugyldigt format",imageValidateSizeLabelImageSizeTooSmall:"Billedet er for lille",imageValidateSizeLabelImageSizeTooBig:"Billedet er for stort",imageValidateSizeLabelExpectedMinSize:"Minimum st\xF8rrelse er {minBredde} \xD7 {minH\xF8jde}",imageValidateSizeLabelExpectedMaxSize:"Maksimal st\xF8rrelse er {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"For lav opl\xF8sning",imageValidateSizeLabelImageResolutionTooHigh:"For h\xF8j opl\xF8sning",imageValidateSizeLabelExpectedMinResolution:"Minimum opl\xF8sning er {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maksimal opl\xF8sning er {maxResolution}"};var Oo={labelIdle:'Dateien ablegen oder ausw\xE4hlen ',labelInvalidField:"Feld beinhaltet ung\xFCltige Dateien",labelFileWaitingForSize:"Dateigr\xF6\xDFe berechnen",labelFileSizeNotAvailable:"Dateigr\xF6\xDFe nicht verf\xFCgbar",labelFileLoading:"Laden",labelFileLoadError:"Fehler beim Laden",labelFileProcessing:"Upload l\xE4uft",labelFileProcessingComplete:"Upload abgeschlossen",labelFileProcessingAborted:"Upload abgebrochen",labelFileProcessingError:"Fehler beim Upload",labelFileProcessingRevertError:"Fehler beim Wiederherstellen",labelFileRemoveError:"Fehler beim L\xF6schen",labelTapToCancel:"abbrechen",labelTapToRetry:"erneut versuchen",labelTapToUndo:"r\xFCckg\xE4ngig",labelButtonRemoveItem:"Entfernen",labelButtonAbortItemLoad:"Verwerfen",labelButtonRetryItemLoad:"Erneut versuchen",labelButtonAbortItemProcessing:"Abbrechen",labelButtonUndoItemProcessing:"R\xFCckg\xE4ngig",labelButtonRetryItemProcessing:"Erneut versuchen",labelButtonProcessItem:"Upload",labelMaxFileSizeExceeded:"Datei ist zu gro\xDF",labelMaxFileSize:"Maximale Dateigr\xF6\xDFe: {filesize}",labelMaxTotalFileSizeExceeded:"Maximale gesamte Dateigr\xF6\xDFe \xFCberschritten",labelMaxTotalFileSize:"Maximale gesamte Dateigr\xF6\xDFe: {filesize}",labelFileTypeNotAllowed:"Dateityp ung\xFCltig",fileValidateTypeLabelExpectedTypes:"Erwartet {allButLastType} oder {lastType}",imageValidateSizeLabelFormatError:"Bildtyp nicht unterst\xFCtzt",imageValidateSizeLabelImageSizeTooSmall:"Bild ist zu klein",imageValidateSizeLabelImageSizeTooBig:"Bild ist zu gro\xDF",imageValidateSizeLabelExpectedMinSize:"Mindestgr\xF6\xDFe: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maximale Gr\xF6\xDFe: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Aufl\xF6sung ist zu niedrig",imageValidateSizeLabelImageResolutionTooHigh:"Aufl\xF6sung ist zu hoch",imageValidateSizeLabelExpectedMinResolution:"Mindestaufl\xF6sung: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maximale Aufl\xF6sung: {maxResolution}"};var Fo={labelIdle:'\u03A3\u03CD\u03C1\u03B5\u03C4\u03B5 \u03C4\u03B1 \u03B1\u03C1\u03C7\u03B5\u03AF\u03B1 \u03C3\u03B1\u03C2 \u03C3\u03C4\u03BF \u03C0\u03BB\u03B1\u03AF\u03C3\u03B9\u03BF \u03AE \u0395\u03C0\u03B9\u03BB\u03AD\u03BE\u03C4\u03B5 ',labelInvalidField:"\u03A4\u03BF \u03C0\u03B5\u03B4\u03AF\u03BF \u03C0\u03B5\u03C1\u03B9\u03AD\u03C7\u03B5\u03B9 \u03BC\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B1 \u03B1\u03C1\u03C7\u03B5\u03AF\u03B1",labelFileWaitingForSize:"\u03A3\u03B5 \u03B1\u03BD\u03B1\u03BC\u03BF\u03BD\u03AE \u03B3\u03B9\u03B1 \u03C4\u03BF \u03BC\u03AD\u03B3\u03B5\u03B8\u03BF\u03C2",labelFileSizeNotAvailable:"\u039C\u03AD\u03B3\u03B5\u03B8\u03BF\u03C2 \u03BC\u03B7 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03BF",labelFileLoading:"\u03A6\u03CC\u03C1\u03C4\u03C9\u03C3\u03B7 \u03C3\u03B5 \u03B5\u03BE\u03AD\u03BB\u03B9\u03BE\u03B7",labelFileLoadError:"\u03A3\u03C6\u03AC\u03BB\u03BC\u03B1 \u03BA\u03B1\u03C4\u03AC \u03C4\u03B7 \u03C6\u03CC\u03C1\u03C4\u03C9\u03C3\u03B7",labelFileProcessing:"\u0395\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1",labelFileProcessingComplete:"\u0397 \u03B5\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1 \u03BF\u03BB\u03BF\u03BA\u03BB\u03B7\u03C1\u03CE\u03B8\u03B7\u03BA\u03B5",labelFileProcessingAborted:"\u0397 \u03B5\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1 \u03B1\u03BA\u03C5\u03C1\u03CE\u03B8\u03B7\u03BA\u03B5",labelFileProcessingError:"\u03A3\u03C6\u03AC\u03BB\u03BC\u03B1 \u03BA\u03B1\u03C4\u03AC \u03C4\u03B7\u03BD \u03B5\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1",labelFileProcessingRevertError:"\u03A3\u03C6\u03AC\u03BB\u03BC\u03B1 \u03BA\u03B1\u03C4\u03AC \u03C4\u03B7\u03BD \u03B5\u03C0\u03B1\u03BD\u03B1\u03C6\u03BF\u03C1\u03AC",labelFileRemoveError:"\u03A3\u03C6\u03AC\u03BB\u03BC\u03B1 \u03BA\u03B1\u03C4\u03AC \u03C4\u03B7\u03BD \u03B4\u03B9\u03B1\u03B3\u03C1\u03B1\u03C6\u03AE",labelTapToCancel:"\u03C0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B3\u03B9\u03B1 \u03B1\u03BA\u03CD\u03C1\u03C9\u03C3\u03B7",labelTapToRetry:"\u03C0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B3\u03B9\u03B1 \u03B5\u03C0\u03B1\u03BD\u03AC\u03BB\u03B7\u03C8\u03B7",labelTapToUndo:"\u03C0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B3\u03B9\u03B1 \u03B1\u03BD\u03B1\u03AF\u03C1\u03B5\u03C3\u03B7",labelButtonRemoveItem:"\u0391\u03C6\u03B1\u03AF\u03C1\u03B5\u03C3\u03B7",labelButtonAbortItemLoad:"\u0391\u03BA\u03CD\u03C1\u03C9\u03C3\u03B7",labelButtonRetryItemLoad:"\u0395\u03C0\u03B1\u03BD\u03AC\u03BB\u03B7\u03C8\u03B7",labelButtonAbortItemProcessing:"\u0391\u03BA\u03CD\u03C1\u03C9\u03C3\u03B7",labelButtonUndoItemProcessing:"\u0391\u03BD\u03B1\u03AF\u03C1\u03B5\u03C3\u03B7",labelButtonRetryItemProcessing:"\u0395\u03C0\u03B1\u03BD\u03AC\u03BB\u03B7\u03C8\u03B7",labelButtonProcessItem:"\u039C\u03B5\u03C4\u03B1\u03C6\u03CC\u03C1\u03C4\u03C9\u03C3\u03B7",labelMaxFileSizeExceeded:"\u03A4\u03BF \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF",labelMaxFileSize:"\u03A4\u03BF \u03BC\u03AD\u03B3\u03B9\u03C3\u03C4\u03BF \u03BC\u03AD\u03B3\u03B5\u03B8\u03BF\u03C2 \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF\u03C5 \u03B5\u03AF\u03BD\u03B1\u03B9 {filesize}",labelMaxTotalFileSizeExceeded:"\u03A5\u03C0\u03AD\u03C1\u03B2\u03B1\u03C3\u03B7 \u03C4\u03BF\u03C5 \u03BC\u03AD\u03B3\u03B9\u03C3\u03C4\u03BF\u03C5 \u03C3\u03C5\u03BD\u03BF\u03BB\u03B9\u03BA\u03BF\u03CD \u03BC\u03B5\u03B3\u03AD\u03B8\u03BF\u03C5\u03C2",labelMaxTotalFileSize:"\u03A4\u03BF \u03BC\u03AD\u03B3\u03B9\u03C3\u03C4\u03BF \u03C3\u03C5\u03BD\u03BF\u03BB\u03B9\u03BA\u03CC \u03BC\u03AD\u03B3\u03B5\u03B8\u03BF\u03C2 \u03B1\u03C1\u03C7\u03B5\u03AF\u03C9\u03BD \u03B5\u03AF\u03BD\u03B1\u03B9 {filesize}",labelFileTypeNotAllowed:"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF\u03C2 \u03C4\u03CD\u03C0\u03BF\u03C2 \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF\u03C5",fileValidateTypeLabelExpectedTypes:"\u03A4\u03B1 \u03B1\u03C0\u03BF\u03B4\u03B5\u03BA\u03C4\u03AC \u03B1\u03C1\u03C7\u03B5\u03AF\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 {allButLastType} \u03AE {lastType}",imageValidateSizeLabelFormatError:"\u039F \u03C4\u03CD\u03C0\u03BF\u03C2 \u03C4\u03B7\u03C2 \u03B5\u03B9\u03BA\u03CC\u03BD\u03B1\u03C2 \u03B4\u03B5\u03BD \u03C5\u03C0\u03BF\u03C3\u03C4\u03B7\u03C1\u03AF\u03B6\u03B5\u03C4\u03B1\u03B9",imageValidateSizeLabelImageSizeTooSmall:"\u0397 \u03B5\u03B9\u03BA\u03CC\u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03AE",imageValidateSizeLabelImageSizeTooBig:"\u0397 \u03B5\u03B9\u03BA\u03CC\u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03B7",imageValidateSizeLabelExpectedMinSize:"\u03A4\u03BF \u03B5\u03BB\u03AC\u03C7\u03B9\u03C3\u03C4\u03BF \u03B1\u03C0\u03BF\u03B4\u03B5\u03BA\u03C4\u03CC \u03BC\u03AD\u03B3\u03B5\u03B8\u03BF\u03C2 \u03B5\u03AF\u03BD\u03B1\u03B9 {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u03A4\u03BF \u03BC\u03AD\u03B3\u03B9\u03C3\u03C4\u03BF \u03B1\u03C0\u03BF\u03B4\u03B5\u03BA\u03C4\u03CC \u03BC\u03AD\u03B3\u03B5\u03B8\u03BF\u03C2 \u03B5\u03AF\u03BD\u03B1\u03B9 {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u0397 \u03B1\u03BD\u03AC\u03BB\u03C5\u03C3\u03B7 \u03C4\u03B7\u03C2 \u03B5\u03B9\u03BA\u03CC\u03BD\u03B1\u03C2 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03CD \u03C7\u03B1\u03BC\u03B7\u03BB\u03AE",imageValidateSizeLabelImageResolutionTooHigh:"\u0397 \u03B1\u03BD\u03AC\u03BB\u03C5\u03C3\u03B7 \u03C4\u03B7\u03C2 \u03B5\u03B9\u03BA\u03CC\u03BD\u03B1\u03C2 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03CD \u03C5\u03C8\u03B7\u03BB\u03AE",imageValidateSizeLabelExpectedMinResolution:"\u0397 \u03B5\u03BB\u03AC\u03C7\u03B9\u03C3\u03C4\u03B7 \u03B1\u03C0\u03BF\u03B4\u03B5\u03BA\u03C4\u03AE \u03B1\u03BD\u03AC\u03BB\u03C5\u03C3\u03B7 \u03B5\u03AF\u03BD\u03B1\u03B9 {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u0397 \u03BC\u03AD\u03B3\u03B9\u03C3\u03C4\u03B7 \u03B1\u03C0\u03BF\u03B4\u03B5\u03BA\u03C4\u03AE \u03B1\u03BD\u03AC\u03BB\u03C5\u03C3\u03B7 \u03B5\u03AF\u03BD\u03B1\u03B9 {maxResolution}"};var Do={labelIdle:'Drag & Drop your files or Browse ',labelInvalidField:"Field contains invalid files",labelFileWaitingForSize:"Waiting for size",labelFileSizeNotAvailable:"Size not available",labelFileLoading:"Loading",labelFileLoadError:"Error during load",labelFileProcessing:"Uploading",labelFileProcessingComplete:"Upload complete",labelFileProcessingAborted:"Upload cancelled",labelFileProcessingError:"Error during upload",labelFileProcessingRevertError:"Error during revert",labelFileRemoveError:"Error during remove",labelTapToCancel:"tap to cancel",labelTapToRetry:"tap to retry",labelTapToUndo:"tap to undo",labelButtonRemoveItem:"Remove",labelButtonAbortItemLoad:"Abort",labelButtonRetryItemLoad:"Retry",labelButtonAbortItemProcessing:"Cancel",labelButtonUndoItemProcessing:"Undo",labelButtonRetryItemProcessing:"Retry",labelButtonProcessItem:"Upload",labelMaxFileSizeExceeded:"File is too large",labelMaxFileSize:"Maximum file size is {filesize}",labelMaxTotalFileSizeExceeded:"Maximum total size exceeded",labelMaxTotalFileSize:"Maximum total file size is {filesize}",labelFileTypeNotAllowed:"File of invalid type",fileValidateTypeLabelExpectedTypes:"Expects {allButLastType} or {lastType}",imageValidateSizeLabelFormatError:"Image type not supported",imageValidateSizeLabelImageSizeTooSmall:"Image is too small",imageValidateSizeLabelImageSizeTooBig:"Image is too big",imageValidateSizeLabelExpectedMinSize:"Minimum size is {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maximum size is {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Resolution is too low",imageValidateSizeLabelImageResolutionTooHigh:"Resolution is too high",imageValidateSizeLabelExpectedMinResolution:"Minimum resolution is {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maximum resolution is {maxResolution}"};var Co={labelIdle:'Arrastra y suelta tus archivos o Examina ',labelInvalidField:"El campo contiene archivos inv\xE1lidos",labelFileWaitingForSize:"Esperando tama\xF1o",labelFileSizeNotAvailable:"Tama\xF1o no disponible",labelFileLoading:"Cargando",labelFileLoadError:"Error durante la carga",labelFileProcessing:"Subiendo",labelFileProcessingComplete:"Subida completa",labelFileProcessingAborted:"Subida cancelada",labelFileProcessingError:"Error durante la subida",labelFileProcessingRevertError:"Error durante la reversi\xF3n",labelFileRemoveError:"Error durante la eliminaci\xF3n",labelTapToCancel:"toca para cancelar",labelTapToRetry:"tocar para reintentar",labelTapToUndo:"tocar para deshacer",labelButtonRemoveItem:"Eliminar",labelButtonAbortItemLoad:"Cancelar",labelButtonRetryItemLoad:"Reintentar",labelButtonAbortItemProcessing:"Cancelar",labelButtonUndoItemProcessing:"Deshacer",labelButtonRetryItemProcessing:"Reintentar",labelButtonProcessItem:"Subir",labelMaxFileSizeExceeded:"El archivo es demasiado grande",labelMaxFileSize:"El tama\xF1o m\xE1ximo del archivo es {filesize}",labelMaxTotalFileSizeExceeded:"Tama\xF1o total m\xE1ximo excedido",labelMaxTotalFileSize:"El tama\xF1o total m\xE1ximo del archivo es {filesize}",labelFileTypeNotAllowed:"Archivo de tipo inv\xE1lido",fileValidateTypeLabelExpectedTypes:"Espera {allButLastType} o {lastType}",imageValidateSizeLabelFormatError:"Tipo de imagen no soportada",imageValidateSizeLabelImageSizeTooSmall:"La imagen es demasiado peque\xF1a",imageValidateSizeLabelImageSizeTooBig:"La imagen es demasiado grande",imageValidateSizeLabelExpectedMinSize:"El tama\xF1o m\xEDnimo es {minWidth} x {minHeight}",imageValidateSizeLabelExpectedMaxSize:"El tama\xF1o m\xE1ximo es {maxWidth} x {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"La resoluci\xF3n es demasiado baja",imageValidateSizeLabelImageResolutionTooHigh:"La resoluci\xF3n es demasiado alta",imageValidateSizeLabelExpectedMinResolution:"La resoluci\xF3n m\xEDnima es {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"La resoluci\xF3n m\xE1xima es {maxResolution}"};var Bo={labelIdle:'\u0641\u0627\u06CC\u0644 \u0631\u0627 \u0627\u06CC\u0646\u062C\u0627 \u0628\u06A9\u0634\u06CC\u062F \u0648 \u0631\u0647\u0627 \u06A9\u0646\u06CC\u062F\u060C \u06CC\u0627 \u062C\u0633\u062A\u062C\u0648 \u06A9\u0646\u06CC\u062F ',labelInvalidField:"\u0641\u06CC\u0644\u062F \u062F\u0627\u0631\u0627\u06CC \u0641\u0627\u06CC\u0644 \u0647\u0627\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u0627\u0633\u062A",labelFileWaitingForSize:"Waiting for size",labelFileSizeNotAvailable:"\u062D\u062C\u0645 \u0641\u0627\u06CC\u0644 \u0645\u062C\u0627\u0632 \u0646\u06CC\u0633\u062A",labelFileLoading:"\u062F\u0631\u062D\u0627\u0644 \u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC",labelFileLoadError:"\u062E\u0637\u0627 \u062F\u0631 \u0632\u0645\u0627\u0646 \u0627\u062C\u0631\u0627",labelFileProcessing:"\u062F\u0631\u062D\u0627\u0644 \u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC",labelFileProcessingComplete:"\u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC \u06A9\u0627\u0645\u0644 \u0634\u062F",labelFileProcessingAborted:"\u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC \u0644\u063A\u0648 \u0634\u062F",labelFileProcessingError:"\u062E\u0637\u0627 \u062F\u0631 \u0632\u0645\u0627\u0646 \u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC",labelFileProcessingRevertError:"\u062E\u0637\u0627 \u062F\u0631 \u0632\u0645\u0627\u0646 \u062D\u0630\u0641",labelFileRemoveError:"\u062E\u0637\u0627 \u062F\u0631 \u0632\u0645\u0627\u0646 \u062D\u0630\u0641",labelTapToCancel:"\u0628\u0631\u0627\u06CC \u0644\u063A\u0648 \u0636\u0631\u0628\u0647 \u0628\u0632\u0646\u06CC\u062F",labelTapToRetry:"\u0628\u0631\u0627\u06CC \u062A\u06A9\u0631\u0627\u0631 \u06A9\u0644\u06CC\u06A9 \u06A9\u0646\u06CC\u062F",labelTapToUndo:"\u0628\u0631\u0627\u06CC \u0628\u0631\u06AF\u0634\u062A \u06A9\u0644\u06CC\u06A9 \u06A9\u0646\u06CC\u062F",labelButtonRemoveItem:"\u062D\u0630\u0641",labelButtonAbortItemLoad:"\u0644\u063A\u0648",labelButtonRetryItemLoad:"\u062A\u06A9\u0631\u0627\u0631",labelButtonAbortItemProcessing:"\u0644\u063A\u0648",labelButtonUndoItemProcessing:"\u0628\u0631\u06AF\u0634\u062A",labelButtonRetryItemProcessing:"\u062A\u06A9\u0631\u0627\u0631",labelButtonProcessItem:"\u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC",labelMaxFileSizeExceeded:"\u0641\u0627\u06CC\u0644 \u0628\u0633\u06CC\u0627\u0631 \u062D\u062C\u06CC\u0645 \u0627\u0633\u062A",labelMaxFileSize:"\u062D\u062F\u0627\u06A9\u062B\u0631 \u0645\u062C\u0627\u0632 \u0641\u0627\u06CC\u0644 {filesize} \u0627\u0633\u062A",labelMaxTotalFileSizeExceeded:"\u0627\u0632 \u062D\u062F\u0627\u06A9\u062B\u0631 \u062D\u062C\u0645 \u0641\u0627\u06CC\u0644 \u0628\u06CC\u0634\u062A\u0631 \u0634\u062F",labelMaxTotalFileSize:"\u062D\u062F\u0627\u06A9\u062B\u0631 \u062D\u062C\u0645 \u0641\u0627\u06CC\u0644 {filesize} \u0627\u0633\u062A",labelFileTypeNotAllowed:"\u0646\u0648\u0639 \u0641\u0627\u06CC\u0644 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u0627\u0633\u062A",fileValidateTypeLabelExpectedTypes:"\u062F\u0631 \u0627\u0646\u062A\u0638\u0627\u0631 {allButLastType} \u06CC\u0627 {lastType}",imageValidateSizeLabelFormatError:"\u0641\u0631\u0645\u062A \u062A\u0635\u0648\u06CC\u0631 \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC \u0634\u0648\u062F",imageValidateSizeLabelImageSizeTooSmall:"\u062A\u0635\u0648\u06CC\u0631 \u0628\u0633\u06CC\u0627\u0631 \u06A9\u0648\u0686\u06A9 \u0627\u0633\u062A",imageValidateSizeLabelImageSizeTooBig:"\u062A\u0635\u0648\u06CC\u0631 \u0628\u0633\u06CC\u0627\u0631 \u0628\u0632\u0631\u06AF \u0627\u0633\u062A",imageValidateSizeLabelExpectedMinSize:"\u062D\u062F\u0627\u0642\u0644 \u0627\u0646\u062F\u0627\u0632\u0647 {minWidth} \xD7 {minHeight} \u0627\u0633\u062A",imageValidateSizeLabelExpectedMaxSize:"\u062D\u062F\u0627\u06A9\u062B\u0631 \u0627\u0646\u062F\u0627\u0632\u0647 {maxWidth} \xD7 {maxHeight} \u0627\u0633\u062A",imageValidateSizeLabelImageResolutionTooLow:"\u0648\u0636\u0648\u062D \u062A\u0635\u0648\u06CC\u0631 \u0628\u0633\u06CC\u0627\u0631 \u06A9\u0645 \u0627\u0633\u062A",imageValidateSizeLabelImageResolutionTooHigh:"\u0648\u0636\u0648\u0639 \u062A\u0635\u0648\u06CC\u0631 \u0628\u0633\u06CC\u0627\u0631 \u0632\u06CC\u0627\u062F \u0627\u0633\u062A",imageValidateSizeLabelExpectedMinResolution:"\u062D\u062F\u0627\u0642\u0644 \u0648\u0636\u0648\u062D \u062A\u0635\u0648\u06CC\u0631 {minResolution} \u0627\u0633\u062A",imageValidateSizeLabelExpectedMaxResolution:"\u062D\u062F\u0627\u06A9\u062B\u0631 \u0648\u0636\u0648\u062D \u062A\u0635\u0648\u06CC\u0631 {maxResolution} \u0627\u0633\u062A"};var No={labelIdle:'Ved\xE4 ja pudota tiedostoja tai Selaa ',labelInvalidField:"Kent\xE4ss\xE4 on virheellisi\xE4 tiedostoja",labelFileWaitingForSize:"Odotetaan kokoa",labelFileSizeNotAvailable:"Kokoa ei saatavilla",labelFileLoading:"Ladataan",labelFileLoadError:"Virhe latauksessa",labelFileProcessing:"L\xE4hetet\xE4\xE4n",labelFileProcessingComplete:"L\xE4hetys valmis",labelFileProcessingAborted:"L\xE4hetys peruttu",labelFileProcessingError:"Virhe l\xE4hetyksess\xE4",labelFileProcessingRevertError:"Virhe palautuksessa",labelFileRemoveError:"Virhe poistamisessa",labelTapToCancel:"peruuta napauttamalla",labelTapToRetry:"yrit\xE4 uudelleen napauttamalla",labelTapToUndo:"kumoa napauttamalla",labelButtonRemoveItem:"Poista",labelButtonAbortItemLoad:"Keskeyt\xE4",labelButtonRetryItemLoad:"Yrit\xE4 uudelleen",labelButtonAbortItemProcessing:"Peruuta",labelButtonUndoItemProcessing:"Kumoa",labelButtonRetryItemProcessing:"Yrit\xE4 uudelleen",labelButtonProcessItem:"L\xE4het\xE4",labelMaxFileSizeExceeded:"Tiedoston koko on liian suuri",labelMaxFileSize:"Tiedoston maksimikoko on {filesize}",labelMaxTotalFileSizeExceeded:"Tiedostojen yhdistetty maksimikoko ylitetty",labelMaxTotalFileSize:"Tiedostojen yhdistetty maksimikoko on {filesize}",labelFileTypeNotAllowed:"Tiedostotyyppi\xE4 ei sallita",fileValidateTypeLabelExpectedTypes:"Sallitaan {allButLastType} tai {lastType}",imageValidateSizeLabelFormatError:"Kuvatyyppi\xE4 ei tueta",imageValidateSizeLabelImageSizeTooSmall:"Kuva on liian pieni",imageValidateSizeLabelImageSizeTooBig:"Kuva on liian suuri",imageValidateSizeLabelExpectedMinSize:"Minimikoko on {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maksimikoko on {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Resoluutio on liian pieni",imageValidateSizeLabelImageResolutionTooHigh:"Resoluutio on liian suuri",imageValidateSizeLabelExpectedMinResolution:"Minimiresoluutio on {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maksimiresoluutio on {maxResolution}"};var ko={labelIdle:'Faites glisser vos fichiers ou Parcourir ',labelInvalidField:"Le champ contient des fichiers invalides",labelFileWaitingForSize:"En attente de taille",labelFileSizeNotAvailable:"Taille non disponible",labelFileLoading:"Chargement",labelFileLoadError:"Erreur durant le chargement",labelFileProcessing:"Traitement",labelFileProcessingComplete:"Traitement effectu\xE9",labelFileProcessingAborted:"Traitement interrompu",labelFileProcessingError:"Erreur durant le traitement",labelFileProcessingRevertError:"Erreur durant la restauration",labelFileRemoveError:"Erreur durant la suppression",labelTapToCancel:"appuyer pour annuler",labelTapToRetry:"appuyer pour r\xE9essayer",labelTapToUndo:"appuyer pour revenir en arri\xE8re",labelButtonRemoveItem:"Retirer",labelButtonAbortItemLoad:"Annuler",labelButtonRetryItemLoad:"Recommencer",labelButtonAbortItemProcessing:"Annuler",labelButtonUndoItemProcessing:"Revenir en arri\xE8re",labelButtonRetryItemProcessing:"Recommencer",labelButtonProcessItem:"Transf\xE9rer",labelMaxFileSizeExceeded:"Le fichier est trop volumineux",labelMaxFileSize:"La taille maximale de fichier est {filesize}",labelMaxTotalFileSizeExceeded:"Taille totale maximale d\xE9pass\xE9e",labelMaxTotalFileSize:"La taille totale maximale des fichiers est {filesize}",labelFileTypeNotAllowed:"Fichier non valide",fileValidateTypeLabelExpectedTypes:"Attendu {allButLastType} ou {lastType}",imageValidateSizeLabelFormatError:"Type d'image non pris en charge",imageValidateSizeLabelImageSizeTooSmall:"L'image est trop petite",imageValidateSizeLabelImageSizeTooBig:"L'image est trop grande",imageValidateSizeLabelExpectedMinSize:"La taille minimale est {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"La taille maximale est {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"La r\xE9solution est trop faible",imageValidateSizeLabelImageResolutionTooHigh:"La r\xE9solution est trop \xE9lev\xE9e",imageValidateSizeLabelExpectedMinResolution:"La r\xE9solution minimale est {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"La r\xE9solution maximale est {maxResolution}"};var Vo={labelIdle:'\u05D2\u05E8\u05D5\u05E8 \u05D5\u05E9\u05D7\u05E8\u05E8 \u05D0\u05EA \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD \u05DB\u05D0\u05DF \u05D0\u05D5 \u05DC\u05D7\u05E5 \u05DB\u05D0\u05DF \u05DC\u05D1\u05D7\u05D9\u05E8\u05D4 ',labelInvalidField:"\u05E7\u05D5\u05D1\u05E5 \u05DC\u05D0 \u05D7\u05D5\u05E7\u05D9",labelFileWaitingForSize:"\u05DE\u05D7\u05E9\u05D1 \u05D0\u05EA \u05D2\u05D5\u05D3\u05DC \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD",labelFileSizeNotAvailable:"\u05DC\u05D0 \u05E0\u05D9\u05EA\u05DF \u05DC\u05E7\u05D1\u05D5\u05E2 \u05D0\u05EA \u05D2\u05D5\u05D3\u05DC \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD",labelFileLoading:"\u05D8\u05D5\u05E2\u05DF...",labelFileLoadError:"\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D0\u05E8\u05E2\u05D4 \u05D1\u05E2\u05EA \u05D8\u05E2\u05D9\u05E0\u05EA \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD",labelFileProcessing:"\u05DE\u05E2\u05DC\u05D4 \u05D0\u05EA \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD",labelFileProcessingComplete:"\u05D4\u05E2\u05DC\u05D0\u05EA \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD \u05D4\u05E1\u05EA\u05D9\u05D9\u05DE\u05D4",labelFileProcessingAborted:"\u05D4\u05E2\u05DC\u05D0\u05EA \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD \u05D1\u05D5\u05D8\u05DC\u05D4",labelFileProcessingError:"\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D0\u05E8\u05E2\u05D4 \u05D1\u05E2\u05EA \u05D4\u05E2\u05DC\u05D0\u05EA \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD",labelFileProcessingRevertError:"\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D0\u05E8\u05E2\u05D4 \u05D1\u05E2\u05EA \u05E9\u05D7\u05D6\u05D5\u05E8 \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD",labelFileRemoveError:"\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D0\u05E8\u05E2\u05D4 \u05D1\u05E2\u05EA \u05D4\u05E1\u05E8\u05EA \u05D4\u05E7\u05D5\u05D1\u05E5",labelTapToCancel:"\u05D4\u05E7\u05DC\u05E7 \u05DC\u05D1\u05D9\u05D8\u05D5\u05DC",labelTapToRetry:"\u05D4\u05E7\u05DC\u05E7 \u05DC\u05E0\u05E1\u05D5\u05EA \u05E9\u05E0\u05D9\u05EA",labelTapToUndo:"\u05D4\u05E7\u05DC\u05E7 \u05DC\u05E9\u05D7\u05D6\u05E8",labelButtonRemoveItem:"\u05D4\u05E1\u05E8",labelButtonAbortItemLoad:"\u05D1\u05D8\u05DC",labelButtonRetryItemLoad:"\u05D8\u05E2\u05DF \u05E9\u05E0\u05D9\u05EA",labelButtonAbortItemProcessing:"\u05D1\u05D8\u05DC",labelButtonUndoItemProcessing:"\u05E9\u05D7\u05D6\u05E8",labelButtonRetryItemProcessing:"\u05E0\u05E1\u05D4 \u05E9\u05E0\u05D9\u05EA",labelButtonProcessItem:"\u05D4\u05E2\u05DC\u05D4 \u05E7\u05D5\u05D1\u05E5",labelMaxFileSizeExceeded:"\u05D4\u05E7\u05D5\u05D1\u05E5 \u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9",labelMaxFileSize:"\u05D2\u05D5\u05D3\u05DC \u05D4\u05DE\u05D9\u05E8\u05D1\u05D9 \u05D4\u05DE\u05D5\u05EA\u05E8 \u05D4\u05D5\u05D0: {filesize}",labelMaxTotalFileSizeExceeded:"\u05D2\u05D5\u05D3\u05DC \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD \u05D7\u05D5\u05E8\u05D2 \u05DE\u05D4\u05DB\u05DE\u05D5\u05EA \u05D4\u05DE\u05D5\u05EA\u05E8\u05EA",labelMaxTotalFileSize:"\u05D4\u05D2\u05D5\u05D3\u05DC \u05D4\u05DE\u05D9\u05E8\u05D1\u05D9 \u05E9\u05DC \u05E1\u05DA \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD: {filesize}",labelFileTypeNotAllowed:"\u05E7\u05D5\u05D1\u05E5 \u05DE\u05E1\u05D5\u05D2 \u05D6\u05D4 \u05D0\u05D9\u05E0\u05D5 \u05DE\u05D5\u05EA\u05E8",fileValidateTypeLabelExpectedTypes:"\u05D4\u05E7\u05D1\u05E6\u05D9\u05DD \u05D4\u05DE\u05D5\u05EA\u05E8\u05D9\u05DD \u05D4\u05DD {allButLastType} \u05D0\u05D5 {lastType}",imageValidateSizeLabelFormatError:"\u05EA\u05DE\u05D5\u05E0\u05D4 \u05D1\u05E4\u05D5\u05E8\u05DE\u05D8 \u05D6\u05D4 \u05D0\u05D9\u05E0\u05D4 \u05E0\u05EA\u05DE\u05DB\u05EA",imageValidateSizeLabelImageSizeTooSmall:"\u05EA\u05DE\u05D5\u05E0\u05D4 \u05D6\u05D5 \u05E7\u05D8\u05E0\u05D4 \u05DE\u05D3\u05D9",imageValidateSizeLabelImageSizeTooBig:"\u05EA\u05DE\u05D5\u05E0\u05D4 \u05D6\u05D5 \u05D2\u05D3\u05D5\u05DC\u05D4 \u05DE\u05D3\u05D9",imageValidateSizeLabelExpectedMinSize:"\u05D4\u05D2\u05D5\u05D3\u05DC \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05DC\u05E4\u05D7\u05D5\u05EA: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u05D4\u05D2\u05D5\u05D3\u05DC \u05D4\u05DE\u05E8\u05D1\u05D9 \u05D4\u05DE\u05D5\u05EA\u05E8: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u05D4\u05E8\u05D6\u05D5\u05DC\u05D5\u05E6\u05D9\u05D4 \u05E9\u05DC \u05EA\u05DE\u05D5\u05E0\u05D4 \u05D6\u05D5 \u05E0\u05DE\u05D5\u05DB\u05D4 \u05DE\u05D3\u05D9",imageValidateSizeLabelImageResolutionTooHigh:"\u05D4\u05E8\u05D6\u05D5\u05DC\u05D5\u05E6\u05D9\u05D4 \u05E9\u05DC \u05EA\u05DE\u05D5\u05E0\u05D4 \u05D6\u05D5 \u05D2\u05D1\u05D5\u05D4\u05D4 \u05DE\u05D3\u05D9",imageValidateSizeLabelExpectedMinResolution:"\u05D4\u05E8\u05D6\u05D5\u05DC\u05D5\u05E6\u05D9\u05D4 \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA \u05DC\u05E4\u05D7\u05D5\u05EA: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u05D4\u05E8\u05D6\u05D5\u05DC\u05D5\u05E6\u05D9\u05D4 \u05D4\u05DE\u05D9\u05E8\u05D1\u05D9\u05EA \u05D4\u05DE\u05D5\u05EA\u05E8\u05EA \u05D4\u05D9\u05D0: {maxResolution}"};var Go={labelIdle:'Ovdje "ispusti" datoteku ili Pretra\u017Ei ',labelInvalidField:"Polje sadr\u017Ei neispravne datoteke",labelFileWaitingForSize:"\u010Cekanje na veli\u010Dinu datoteke",labelFileSizeNotAvailable:"Veli\u010Dina datoteke nije dostupna",labelFileLoading:"U\u010Ditavanje",labelFileLoadError:"Gre\u0161ka tijekom u\u010Ditavanja",labelFileProcessing:"Prijenos",labelFileProcessingComplete:"Prijenos zavr\u0161en",labelFileProcessingAborted:"Prijenos otkazan",labelFileProcessingError:"Gre\u0161ka tijekom prijenosa",labelFileProcessingRevertError:"Gre\u0161ka tijekom vra\u0107anja",labelFileRemoveError:"Gre\u0161ka tijekom uklananja datoteke",labelTapToCancel:"Dodirni za prekid",labelTapToRetry:"Dodirni za ponovno",labelTapToUndo:"Dodirni za vra\u0107anje",labelButtonRemoveItem:"Ukloni",labelButtonAbortItemLoad:"Odbaci",labelButtonRetryItemLoad:"Ponovi",labelButtonAbortItemProcessing:"Prekini",labelButtonUndoItemProcessing:"Vrati",labelButtonRetryItemProcessing:"Ponovi",labelButtonProcessItem:"Prijenos",labelMaxFileSizeExceeded:"Datoteka je prevelika",labelMaxFileSize:"Maksimalna veli\u010Dina datoteke je {filesize}",labelMaxTotalFileSizeExceeded:"Maksimalna ukupna veli\u010Dina datoteke prekora\u010Dena",labelMaxTotalFileSize:"Maksimalna ukupna veli\u010Dina datoteke je {filesize}",labelFileTypeNotAllowed:"Tip datoteke nije podr\u017Ean",fileValidateTypeLabelExpectedTypes:"O\u010Dekivan {allButLastType} ili {lastType}",imageValidateSizeLabelFormatError:"Tip slike nije podr\u017Ean",imageValidateSizeLabelImageSizeTooSmall:"Slika je premala",imageValidateSizeLabelImageSizeTooBig:"Slika je prevelika",imageValidateSizeLabelExpectedMinSize:"Minimalna veli\u010Dina je {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maksimalna veli\u010Dina je {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Rezolucija je preniska",imageValidateSizeLabelImageResolutionTooHigh:"Rezolucija je previsoka",imageValidateSizeLabelExpectedMinResolution:"Minimalna rezolucija je {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maksimalna rezolucija je {maxResolution}"};var Uo={labelIdle:'Mozgasd ide a f\xE1jlt a felt\xF6lt\xE9shez, vagy tall\xF3z\xE1s ',labelInvalidField:"A mez\u0151 \xE9rv\xE9nytelen f\xE1jlokat tartalmaz",labelFileWaitingForSize:"F\xE1ljm\xE9ret kisz\xE1mol\xE1sa",labelFileSizeNotAvailable:"A f\xE1jlm\xE9ret nem el\xE9rhet\u0151",labelFileLoading:"T\xF6lt\xE9s",labelFileLoadError:"Hiba a bet\xF6lt\xE9s sor\xE1n",labelFileProcessing:"Felt\xF6lt\xE9s",labelFileProcessingComplete:"Sikeres felt\xF6lt\xE9s",labelFileProcessingAborted:"A felt\xF6lt\xE9s megszak\xEDtva",labelFileProcessingError:"Hiba t\xF6rt\xE9nt a felt\xF6lt\xE9s sor\xE1n",labelFileProcessingRevertError:"Hiba a vissza\xE1ll\xEDt\xE1s sor\xE1n",labelFileRemoveError:"Hiba t\xF6rt\xE9nt az elt\xE1vol\xEDt\xE1s sor\xE1n",labelTapToCancel:"koppints a t\xF6rl\xE9shez",labelTapToRetry:"koppints az \xFAjrakezd\xE9shez",labelTapToUndo:"koppints a visszavon\xE1shoz",labelButtonRemoveItem:"Elt\xE1vol\xEDt\xE1s",labelButtonAbortItemLoad:"Megszak\xEDt\xE1s",labelButtonRetryItemLoad:"\xDAjrapr\xF3b\xE1lkoz\xE1s",labelButtonAbortItemProcessing:"Megszak\xEDt\xE1s",labelButtonUndoItemProcessing:"Visszavon\xE1s",labelButtonRetryItemProcessing:"\xDAjrapr\xF3b\xE1lkoz\xE1s",labelButtonProcessItem:"Felt\xF6lt\xE9s",labelMaxFileSizeExceeded:"A f\xE1jl t\xFAll\xE9pte a maxim\xE1lis m\xE9retet",labelMaxFileSize:"Maxim\xE1lis f\xE1jlm\xE9ret: {filesize}",labelMaxTotalFileSizeExceeded:"T\xFAll\xE9pte a maxim\xE1lis teljes m\xE9retet",labelMaxTotalFileSize:"A maxim\xE1is teljes f\xE1jlm\xE9ret: {filesize}",labelFileTypeNotAllowed:"\xC9rv\xE9nytelen t\xEDpus\xFA f\xE1jl",fileValidateTypeLabelExpectedTypes:"Enged\xE9lyezett t\xEDpusok {allButLastType} vagy {lastType}",imageValidateSizeLabelFormatError:"A k\xE9pt\xEDpus nem t\xE1mogatott",imageValidateSizeLabelImageSizeTooSmall:"A k\xE9p t\xFAl kicsi",imageValidateSizeLabelImageSizeTooBig:"A k\xE9p t\xFAl nagy",imageValidateSizeLabelExpectedMinSize:"Minimum m\xE9ret: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maximum m\xE9ret: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"A felbont\xE1s t\xFAl alacsony",imageValidateSizeLabelImageResolutionTooHigh:"A felbont\xE1s t\xFAl magas",imageValidateSizeLabelExpectedMinResolution:"Minim\xE1is felbont\xE1s: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maxim\xE1lis felbont\xE1s: {maxResolution}"};var Wo={labelIdle:'Seret & Jatuhkan berkas Anda atau Jelajahi',labelInvalidField:"Isian berisi berkas yang tidak valid",labelFileWaitingForSize:"Menunggu ukuran berkas",labelFileSizeNotAvailable:"Ukuran berkas tidak tersedia",labelFileLoading:"Memuat",labelFileLoadError:"Kesalahan saat memuat",labelFileProcessing:"Mengunggah",labelFileProcessingComplete:"Pengunggahan selesai",labelFileProcessingAborted:"Pengunggahan dibatalkan",labelFileProcessingError:"Kesalahan saat pengunggahan",labelFileProcessingRevertError:"Kesalahan saat pemulihan",labelFileRemoveError:"Kesalahan saat penghapusan",labelTapToCancel:"ketuk untuk membatalkan",labelTapToRetry:"ketuk untuk mencoba lagi",labelTapToUndo:"ketuk untuk mengurungkan",labelButtonRemoveItem:"Hapus",labelButtonAbortItemLoad:"Batalkan",labelButtonRetryItemLoad:"Coba Kembali",labelButtonAbortItemProcessing:"Batalkan",labelButtonUndoItemProcessing:"Urungkan",labelButtonRetryItemProcessing:"Coba Kembali",labelButtonProcessItem:"Unggah",labelMaxFileSizeExceeded:"Berkas terlalu besar",labelMaxFileSize:"Ukuran berkas maksimum adalah {filesize}",labelMaxTotalFileSizeExceeded:"Jumlah berkas maksimum terlampaui",labelMaxTotalFileSize:"Jumlah berkas maksimum adalah {filesize}",labelFileTypeNotAllowed:"Jenis berkas tidak valid",fileValidateTypeLabelExpectedTypes:"Mengharapkan {allButLastType} atau {lastType}",imageValidateSizeLabelFormatError:"Jenis citra tidak didukung",imageValidateSizeLabelImageSizeTooSmall:"Citra terlalu kecil",imageValidateSizeLabelImageSizeTooBig:"Citra terlalu besar",imageValidateSizeLabelExpectedMinSize:"Ukuran minimum adalah {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Ukuran maksimum adalah {minWidth} \xD7 {minHeight}",imageValidateSizeLabelImageResolutionTooLow:"Resolusi terlalu rendah",imageValidateSizeLabelImageResolutionTooHigh:"Resolusi terlalu tinggi",imageValidateSizeLabelExpectedMinResolution:"Resolusi minimum adalah {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Resolusi maksimum adalah {maxResolution}"};var Ho={labelIdle:'Trascina e rilascia i tuoi file oppure Sfoglia ',labelInvalidField:"Il campo contiene dei file non validi",labelFileWaitingForSize:"In attesa della dimensione",labelFileSizeNotAvailable:"Dimensione non disponibile",labelFileLoading:"Caricamento",labelFileLoadError:"Errore durante il caricamento",labelFileProcessing:"Caricamento",labelFileProcessingComplete:"Caricamento completato",labelFileProcessingAborted:"Caricamento cancellato",labelFileProcessingError:"Errore durante il caricamento",labelFileProcessingRevertError:"Errore durante il ripristino",labelFileRemoveError:"Errore durante l'eliminazione",labelTapToCancel:"tocca per cancellare",labelTapToRetry:"tocca per riprovare",labelTapToUndo:"tocca per ripristinare",labelButtonRemoveItem:"Elimina",labelButtonAbortItemLoad:"Cancella",labelButtonRetryItemLoad:"Ritenta",labelButtonAbortItemProcessing:"Cancella",labelButtonUndoItemProcessing:"Indietro",labelButtonRetryItemProcessing:"Ritenta",labelButtonProcessItem:"Carica",labelMaxFileSizeExceeded:"La dimensione del file \xE8 eccessiva",labelMaxFileSize:"La dimensione massima del file \xE8 {filesize}",labelMaxTotalFileSizeExceeded:"Dimensione totale massima superata",labelMaxTotalFileSize:"La dimensione massima totale dei file \xE8 {filesize}",labelFileTypeNotAllowed:"File non supportato",fileValidateTypeLabelExpectedTypes:"Aspetta {allButLastType} o {lastType}",imageValidateSizeLabelFormatError:"Tipo di immagine non supportata",imageValidateSizeLabelImageSizeTooSmall:"L'immagine \xE8 troppo piccola",imageValidateSizeLabelImageSizeTooBig:"L'immagine \xE8 troppo grande",imageValidateSizeLabelExpectedMinSize:"La dimensione minima \xE8 {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"La dimensione massima \xE8 {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"La risoluzione \xE8 troppo bassa",imageValidateSizeLabelImageResolutionTooHigh:"La risoluzione \xE8 troppo alta",imageValidateSizeLabelExpectedMinResolution:"La risoluzione minima \xE8 {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"La risoluzione massima \xE8 {maxResolution}"};var jo={labelIdle:'\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30E9\u30C3\u30B0&\u30C9\u30ED\u30C3\u30D7\u53C8\u306F\u30D5\u30A1\u30A4\u30EB\u9078\u629E',labelInvalidField:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3067\u304D\u306A\u3044\u30D5\u30A1\u30A4\u30EB\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059",labelFileWaitingForSize:"\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u3092\u5F85\u3063\u3066\u3044\u307E\u3059",labelFileSizeNotAvailable:"\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u307F\u3064\u304B\u308A\u307E\u305B\u3093",labelFileLoading:"\u8AAD\u8FBC\u4E2D...",labelFileLoadError:"\u8AAD\u8FBC\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F",labelFileProcessing:"\u8AAD\u8FBC\u4E2D...",labelFileProcessingComplete:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u5B8C\u4E86",labelFileProcessingAborted:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u304C\u30AD\u30E3\u30F3\u30BB\u30EB\u3055\u308C\u307E\u3057\u305F",labelFileProcessingError:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F",labelFileProcessingRevertError:"\u30ED\u30FC\u30EB\u30D0\u30C3\u30AF\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F",labelFileRemoveError:"\u524A\u9664\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F",labelTapToCancel:"\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u30AD\u30E3\u30F3\u30BB\u30EB",labelTapToRetry:"\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u3082\u3046\u4E00\u5EA6\u304A\u8A66\u3057\u4E0B\u3055\u3044",labelTapToUndo:"\u5143\u306B\u623B\u3059\u306B\u306F\u30BF\u30C3\u30D7\u3057\u307E\u3059",labelButtonRemoveItem:"\u524A\u9664",labelButtonAbortItemLoad:"\u4E2D\u65AD",labelButtonRetryItemLoad:"\u3082\u3046\u4E00\u5EA6\u5B9F\u884C",labelButtonAbortItemProcessing:"\u30AD\u30E3\u30F3\u30BB\u30EB",labelButtonUndoItemProcessing:"\u5143\u306B\u623B\u3059",labelButtonRetryItemProcessing:"\u3082\u3046\u4E00\u5EA6\u5B9F\u884C",labelButtonProcessItem:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",labelMaxFileSizeExceeded:"\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u304D\u3059\u304E\u307E\u3059",labelMaxFileSize:"\u6700\u5927\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u306F {filesize} \u3067\u3059",labelMaxTotalFileSizeExceeded:"\u6700\u5927\u5408\u8A08\u30B5\u30A4\u30BA\u3092\u8D85\u3048\u307E\u3057\u305F",labelMaxTotalFileSize:"\u6700\u5927\u5408\u8A08\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u306F {filesize} \u3067\u3059",labelFileTypeNotAllowed:"\u7121\u52B9\u306A\u30D5\u30A1\u30A4\u30EB\u3067\u3059",fileValidateTypeLabelExpectedTypes:"\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u308B\u30D5\u30A1\u30A4\u30EB\u306F {allButLastType} \u53C8\u306F {lastType} \u3067\u3059",imageValidateSizeLabelFormatError:"\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u306A\u3044\u753B\u50CF\u3067\u3059",imageValidateSizeLabelImageSizeTooSmall:"\u753B\u50CF\u304C\u5C0F\u3055\u3059\u304E\u307E\u3059",imageValidateSizeLabelImageSizeTooBig:"\u753B\u50CF\u304C\u5927\u304D\u3059\u304E\u307E\u3059",imageValidateSizeLabelExpectedMinSize:"\u753B\u50CF\u306E\u6700\u5C0F\u30B5\u30A4\u30BA\u306F{minWidth}\xD7{minHeight}\u3067\u3059",imageValidateSizeLabelExpectedMaxSize:"\u753B\u50CF\u306E\u6700\u5927\u30B5\u30A4\u30BA\u306F{maxWidth} \xD7 {maxHeight}\u3067\u3059",imageValidateSizeLabelImageResolutionTooLow:"\u753B\u50CF\u306E\u89E3\u50CF\u5EA6\u304C\u4F4E\u3059\u304E\u307E\u3059",imageValidateSizeLabelImageResolutionTooHigh:"\u753B\u50CF\u306E\u89E3\u50CF\u5EA6\u304C\u9AD8\u3059\u304E\u307E\u3059",imageValidateSizeLabelExpectedMinResolution:"\u753B\u50CF\u306E\u6700\u5C0F\u89E3\u50CF\u5EA6\u306F{minResolution}\u3067\u3059",imageValidateSizeLabelExpectedMaxResolution:"\u753B\u50CF\u306E\u6700\u5927\u89E3\u50CF\u5EA6\u306F{maxResolution}\u3067\u3059"};var Yo={labelIdle:'\u1791\u17B6\u1789&\u178A\u17B6\u1780\u17CB\u17A0\u17D2\u179C\u17B6\u179B\u17CB\u17AF\u1780\u179F\u17B6\u179A\u179A\u1794\u179F\u17CB\u17A2\u17D2\u1793\u1780 \u17AC \u179F\u17D2\u179C\u17C2\u1784\u179A\u1780 ',labelInvalidField:"\u1785\u1793\u17D2\u179B\u17C4\u17C7\u1798\u17B6\u1793\u17AF\u1780\u179F\u17B6\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C",labelFileWaitingForSize:"\u1780\u17C6\u1796\u17BB\u1784\u179A\u1784\u17CB\u1785\u17B6\u17C6\u1791\u17C6\u17A0\u17C6",labelFileSizeNotAvailable:"\u1791\u17C6\u17A0\u17C6\u1798\u17B7\u1793\u17A2\u17B6\u1785\u1794\u17D2\u179A\u17BE\u1794\u17B6\u1793",labelFileLoading:"\u1780\u17C6\u1796\u17BB\u1784\u178A\u17C6\u178E\u17BE\u179A\u1780\u17B6\u179A",labelFileLoadError:"\u1798\u17B6\u1793\u1794\u1789\u17D2\u17A0\u17B6\u1780\u17C6\u17A1\u17BB\u1784\u1796\u17C1\u179B\u178A\u17C6\u178E\u17BE\u179A\u1780\u17B6\u179A",labelFileProcessing:"\u1780\u17C6\u1796\u17BB\u1784\u1795\u17D2\u1791\u17BB\u1780\u17A1\u17BE\u1784",labelFileProcessingComplete:"\u1780\u17B6\u179A\u1795\u17D2\u1791\u17BB\u1780\u17A1\u17BE\u1784\u1796\u17C1\u1789\u179B\u17C1\u1789",labelFileProcessingAborted:"\u1780\u17B6\u179A\u1794\u1784\u17D2\u17A0\u17C4\u17C7\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1794\u17C4\u17C7\u1794\u1784\u17CB",labelFileProcessingError:"\u1798\u17B6\u1793\u1794\u1789\u17D2\u17A0\u17B6\u1780\u17C6\u17A1\u17BB\u1784\u1796\u17C1\u179B\u1780\u17C6\u1796\u17BB\u1784\u1795\u17D2\u1791\u17BB\u1780\u17A1\u17BE\u1784",labelFileProcessingRevertError:"\u1798\u17B6\u1793\u1794\u1789\u17D2\u17A0\u17B6\u1780\u17C6\u17A1\u17BB\u1784\u1796\u17C1\u179B\u178F\u17D2\u179A\u17A1\u1794\u17CB",labelFileRemoveError:"\u1798\u17B6\u1793\u1794\u1789\u17D2\u17A0\u17B6\u1780\u17C6\u17A1\u17BB\u1784\u1796\u17C1\u179B\u178A\u1780\u1785\u17C1\u1789",labelTapToCancel:"\u1785\u17BB\u1785\u178A\u17BE\u1798\u17D2\u1794\u17B8\u1794\u17C4\u17C7\u1794\u1784\u17CB",labelTapToRetry:"\u1785\u17BB\u1785\u178A\u17BE\u1798\u17D2\u1794\u17B8\u1796\u17D2\u1799\u17B6\u1799\u17B6\u1798\u1798\u17D2\u178F\u1784\u1791\u17C0\u178F",labelTapToUndo:"\u1785\u17BB\u1785\u178A\u17BE\u1798\u17D2\u1794\u17B8\u1798\u17B7\u1793\u1792\u17D2\u179C\u17BE\u179C\u17B7\u1789",labelButtonRemoveItem:"\u1799\u1780\u1785\u17C1\u1789",labelButtonAbortItemLoad:"\u1794\u17C4\u17C7\u1794\u1784\u17CB",labelButtonRetryItemLoad:"\u1796\u17D2\u1799\u17B6\u1799\u17B6\u1798\u1798\u17D2\u178F\u1784\u1791\u17C0\u178F",labelButtonAbortItemProcessing:"\u1794\u17C4\u17C7\u1794\u1784\u17CB",labelButtonUndoItemProcessing:"\u1798\u17B7\u1793\u1792\u17D2\u179C\u17BE\u179C\u17B7\u1789",labelButtonRetryItemProcessing:"\u1796\u17D2\u1799\u17B6\u1799\u17B6\u1798\u1798\u17D2\u178F\u1784\u1791\u17C0\u178F",labelButtonProcessItem:"\u1795\u17D2\u1791\u17BB\u1780\u17A1\u17BE\u1784",labelMaxFileSizeExceeded:"\u17AF\u1780\u179F\u17B6\u179A\u1792\u17C6\u1796\u17C1\u1780",labelMaxFileSize:"\u1791\u17C6\u17A0\u17C6\u17AF\u1780\u179F\u17B6\u179A\u17A2\u178F\u17B7\u1794\u179A\u1798\u17B6\u1782\u17BA {filesize}",labelMaxTotalFileSizeExceeded:"\u179B\u17BE\u179F\u1791\u17C6\u17A0\u17C6\u179F\u179A\u17BB\u1794\u17A2\u178F\u17B7\u1794\u179A\u1798\u17B6",labelMaxTotalFileSize:"\u1791\u17C6\u17A0\u17C6\u17AF\u1780\u179F\u17B6\u179A\u179F\u179A\u17BB\u1794\u17A2\u178F\u17B7\u1794\u179A\u1798\u17B6\u1782\u17BA {filesize}",labelFileTypeNotAllowed:"\u1794\u17D2\u179A\u1797\u17C1\u1791\u17AF\u1780\u179F\u17B6\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C",fileValidateTypeLabelExpectedTypes:"\u179A\u17C6\u1796\u17B9\u1784\u1790\u17B6 {allButLastType} \u17AC {lastType}",imageValidateSizeLabelFormatError:"\u1794\u17D2\u179A\u1797\u17C1\u1791\u179A\u17BC\u1794\u1797\u17B6\u1796\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C",imageValidateSizeLabelImageSizeTooSmall:"\u179A\u17BC\u1794\u1797\u17B6\u1796\u178F\u17BC\u1785\u1796\u17C1\u1780",imageValidateSizeLabelImageSizeTooBig:"\u179A\u17BC\u1794\u1797\u17B6\u1796\u1792\u17C6\u1796\u17C1\u1780",imageValidateSizeLabelExpectedMinSize:"\u1791\u17C6\u17A0\u17C6\u17A2\u1794\u17D2\u1794\u1794\u179A\u1798\u17B6\u1782\u17BA {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u1791\u17C6\u17A0\u17C6\u17A2\u178F\u17B7\u1794\u179A\u1798\u17B6\u1782\u17BA {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u1782\u17BB\u178E\u1797\u17B6\u1796\u1794\u1784\u17D2\u17A0\u17B6\u1789\u1791\u17B6\u1794\u1796\u17C1\u1780",imageValidateSizeLabelImageResolutionTooHigh:"\u1782\u17BB\u178E\u1797\u17B6\u1796\u1794\u1784\u17D2\u17A0\u17B6\u1789\u1781\u17D2\u1796\u179F\u17CB\u1796\u17C1\u1780",imageValidateSizeLabelExpectedMinResolution:"\u1782\u17BB\u178E\u1797\u17B6\u1796\u1794\u1784\u17D2\u17A0\u17B6\u1789\u17A2\u1794\u17D2\u1794\u1794\u179A\u1798\u17B6\u1782\u17BA {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u1782\u17BB\u178E\u1797\u17B6\u1796\u1794\u1784\u17D2\u17A0\u17B6\u1789\u17A2\u178F\u17B7\u1794\u179A\u1798\u17B6\u1782\u17BA {maxResolution}"};var qo={labelIdle:'\uD30C\uC77C\uC744 \uB4DC\uB798\uADF8 \uD558\uAC70\uB098 \uCC3E\uC544\uBCF4\uAE30 ',labelInvalidField:"\uD544\uB4DC\uC5D0 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uD30C\uC77C\uC774 \uC788\uC2B5\uB2C8\uB2E4.",labelFileWaitingForSize:"\uC6A9\uB7C9 \uD655\uC778\uC911",labelFileSizeNotAvailable:"\uC0AC\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC6A9\uB7C9",labelFileLoading:"\uBD88\uB7EC\uC624\uB294 \uC911",labelFileLoadError:"\uD30C\uC77C \uBD88\uB7EC\uC624\uAE30 \uC2E4\uD328",labelFileProcessing:"\uC5C5\uB85C\uB4DC \uC911",labelFileProcessingComplete:"\uC5C5\uB85C\uB4DC \uC131\uACF5",labelFileProcessingAborted:"\uC5C5\uB85C\uB4DC \uCDE8\uC18C\uB428",labelFileProcessingError:"\uD30C\uC77C \uC5C5\uB85C\uB4DC \uC2E4\uD328",labelFileProcessingRevertError:"\uB418\uB3CC\uB9AC\uAE30 \uC2E4\uD328",labelFileRemoveError:"\uC81C\uAC70 \uC2E4\uD328",labelTapToCancel:"\uD0ED\uD558\uC5EC \uCDE8\uC18C",labelTapToRetry:"\uD0ED\uD558\uC5EC \uC7AC\uC2DC\uC791",labelTapToUndo:"\uD0ED\uD558\uC5EC \uC2E4\uD589 \uCDE8\uC18C",labelButtonRemoveItem:"\uC81C\uAC70",labelButtonAbortItemLoad:"\uC911\uB2E8",labelButtonRetryItemLoad:"\uC7AC\uC2DC\uC791",labelButtonAbortItemProcessing:"\uCDE8\uC18C",labelButtonUndoItemProcessing:"\uC2E4\uD589 \uCDE8\uC18C",labelButtonRetryItemProcessing:"\uC7AC\uC2DC\uC791",labelButtonProcessItem:"\uC5C5\uB85C\uB4DC",labelMaxFileSizeExceeded:"\uD30C\uC77C\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4.",labelMaxFileSize:"\uCD5C\uB300 \uD30C\uC77C \uC6A9\uB7C9\uC740 {filesize} \uC785\uB2C8\uB2E4.",labelMaxTotalFileSizeExceeded:"\uCD5C\uB300 \uC804\uCCB4 \uD30C\uC77C \uC6A9\uB7C9 \uCD08\uACFC\uD558\uC600\uC2B5\uB2C8\uB2E4.",labelMaxTotalFileSize:"\uCD5C\uB300 \uC804\uCCB4 \uD30C\uC77C \uC6A9\uB7C9\uC740 {filesize} \uC785\uB2C8\uB2E4.",labelFileTypeNotAllowed:"\uC798\uBABB\uB41C \uD615\uC2DD\uC758 \uD30C\uC77C",fileValidateTypeLabelExpectedTypes:"{allButLastType} \uB610\uB294 {lastType}",imageValidateSizeLabelFormatError:"\uC9C0\uC6D0\uB418\uC9C0 \uC54A\uB294 \uC774\uBBF8\uC9C0 \uC720\uD615",imageValidateSizeLabelImageSizeTooSmall:"\uC774\uBBF8\uC9C0\uAC00 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4.",imageValidateSizeLabelImageSizeTooBig:"\uC774\uBBF8\uC9C0\uAC00 \uB108\uBB34 \uD07D\uB2C8\uB2E4.",imageValidateSizeLabelExpectedMinSize:"\uC774\uBBF8\uC9C0 \uCD5C\uC18C \uD06C\uAE30\uB294 {minWidth} \xD7 {minHeight} \uC785\uB2C8\uB2E4",imageValidateSizeLabelExpectedMaxSize:"\uC774\uBBF8\uC9C0 \uCD5C\uB300 \uD06C\uAE30\uB294 {maxWidth} \xD7 {maxHeight} \uC785\uB2C8\uB2E4",imageValidateSizeLabelImageResolutionTooLow:"\uD574\uC0C1\uB3C4\uAC00 \uB108\uBB34 \uB0AE\uC2B5\uB2C8\uB2E4.",imageValidateSizeLabelImageResolutionTooHigh:"\uD574\uC0C1\uB3C4\uAC00 \uB108\uBB34 \uB192\uC2B5\uB2C8\uB2E4.",imageValidateSizeLabelExpectedMinResolution:"\uCD5C\uC18C \uD574\uC0C1\uB3C4\uB294 {minResolution} \uC785\uB2C8\uB2E4.",imageValidateSizeLabelExpectedMaxResolution:"\uCD5C\uB300 \uD574\uC0C1\uB3C4\uB294 {maxResolution} \uC785\uB2C8\uB2E4."};var $o={labelIdle:'\u012Ed\u0117kite failus \u010Dia arba Ie\u0161kokite ',labelInvalidField:"Laukelis talpina netinkamus failus",labelFileWaitingForSize:"Laukiama dyd\u017Eio",labelFileSizeNotAvailable:"Dydis ne\u017Einomas",labelFileLoading:"Kraunama",labelFileLoadError:"Klaida \u012Fkeliant",labelFileProcessing:"\u012Ekeliama",labelFileProcessingComplete:"\u012Ek\u0117limas s\u0117kmingas",labelFileProcessingAborted:"\u012Ek\u0117limas at\u0161auktas",labelFileProcessingError:"\u012Ekeliant \u012Fvyko klaida",labelFileProcessingRevertError:"At\u0161aukiant \u012Fvyko klaida",labelFileRemoveError:"I\u0161trinant \u012Fvyko klaida",labelTapToCancel:"Palieskite nor\u0117dami at\u0161aukti",labelTapToRetry:"Palieskite nor\u0117dami pakartoti",labelTapToUndo:"Palieskite nor\u0117dami at\u0161aukti",labelButtonRemoveItem:"I\u0161trinti",labelButtonAbortItemLoad:"Sustabdyti",labelButtonRetryItemLoad:"Pakartoti",labelButtonAbortItemProcessing:"At\u0161aukti",labelButtonUndoItemProcessing:"At\u0161aukti",labelButtonRetryItemProcessing:"Pakartoti",labelButtonProcessItem:"\u012Ekelti",labelMaxFileSizeExceeded:"Failas per didelis",labelMaxFileSize:"Maksimalus failo dydis yra {filesize}",labelMaxTotalFileSizeExceeded:"Vir\u0161ijote maksimal\u0173 leistin\u0105 dyd\u012F",labelMaxTotalFileSize:"Maksimalus leistinas dydis yra {filesize}",labelFileTypeNotAllowed:"Netinkamas failas",fileValidateTypeLabelExpectedTypes:"Tikisi {allButLastType} arba {lastType}",imageValidateSizeLabelFormatError:"Nuotraukos formatas nepalaikomas",imageValidateSizeLabelImageSizeTooSmall:"Nuotrauka per ma\u017Ea",imageValidateSizeLabelImageSizeTooBig:"Nuotrauka per didel\u0117",imageValidateSizeLabelExpectedMinSize:"Minimalus dydis yra {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maksimalus dydis yra {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Rezoliucija per ma\u017Ea",imageValidateSizeLabelImageResolutionTooHigh:"Rezoliucija per didel\u0117",imageValidateSizeLabelExpectedMinResolution:"Minimali rezoliucija yra {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maksimali rezoliucija yra {maxResolution}"};var Xo={labelIdle:'Ievelciet savus failus vai p\u0101rl\u016Bkojiet \u0161eit ',labelInvalidField:"Lauks satur neder\u012Bgus failus",labelFileWaitingForSize:"Gaid\u0101m faila izm\u0113ru",labelFileSizeNotAvailable:"Izm\u0113rs nav pieejams",labelFileLoading:"Notiek iel\u0101de",labelFileLoadError:"Notika k\u013C\u016Bda iel\u0101des laik\u0101",labelFileProcessing:"Notiek aug\u0161upiel\u0101de",labelFileProcessingComplete:"Aug\u0161upiel\u0101de pabeigta",labelFileProcessingAborted:"Aug\u0161upiel\u0101de atcelta",labelFileProcessingError:"Notika k\u013C\u016Bda aug\u0161upiel\u0101des laik\u0101",labelFileProcessingRevertError:"Notika k\u013C\u016Bda atgrie\u0161anas laik\u0101",labelFileRemoveError:"Notika k\u013C\u016Bda dz\u0113\u0161anas laik\u0101",labelTapToCancel:"pieskarieties, lai atceltu",labelTapToRetry:"pieskarieties, lai m\u0113\u0123in\u0101tu v\u0113lreiz",labelTapToUndo:"pieskarieties, lai atsauktu",labelButtonRemoveItem:"Dz\u0113st",labelButtonAbortItemLoad:"P\u0101rtraukt",labelButtonRetryItemLoad:"M\u0113\u0123in\u0101t v\u0113lreiz",labelButtonAbortItemProcessing:"P\u0101rtraucam",labelButtonUndoItemProcessing:"Atsaucam",labelButtonRetryItemProcessing:"M\u0113\u0123in\u0101m v\u0113lreiz",labelButtonProcessItem:"Aug\u0161upiel\u0101d\u0113t",labelMaxFileSizeExceeded:"Fails ir p\u0101r\u0101k liels",labelMaxFileSize:"Maksim\u0101lais faila izm\u0113rs ir {filesize}",labelMaxTotalFileSizeExceeded:"P\u0101rsniegts maksim\u0101lais kop\u0113jais failu izm\u0113rs",labelMaxTotalFileSize:"Maksim\u0101lais kop\u0113jais failu izm\u0113rs ir {filesize}",labelFileTypeNotAllowed:"Neder\u012Bgs faila tips",fileValidateTypeLabelExpectedTypes:"Sagaid\u0101m {allButLastType} vai {lastType}",imageValidateSizeLabelFormatError:"Neatbilsto\u0161s att\u0113la tips",imageValidateSizeLabelImageSizeTooSmall:"Att\u0113ls ir p\u0101r\u0101k mazs",imageValidateSizeLabelImageSizeTooBig:"Att\u0113ls ir p\u0101r\u0101k liels",imageValidateSizeLabelExpectedMinSize:"Minim\u0101lais izm\u0113rs ir {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maksim\u0101lais izm\u0113rs ir {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Iz\u0161\u0137irtsp\u0113ja ir p\u0101r\u0101k zema",imageValidateSizeLabelImageResolutionTooHigh:"Iz\u0161\u0137irtsp\u0113ja ir p\u0101r\u0101k augsta",imageValidateSizeLabelExpectedMinResolution:"Minim\u0101l\u0101 iz\u0161\u0137irtsp\u0113ja ir {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maksim\u0101l\u0101 iz\u0161\u0137irtsp\u0113ja ir {maxResolution}"};var Ko={labelIdle:'Dra og slipp filene dine, eller Bla gjennom... ',labelInvalidField:"Feltet inneholder ugyldige filer",labelFileWaitingForSize:"Venter p\xE5 st\xF8rrelse",labelFileSizeNotAvailable:"St\xF8rrelse ikke tilgjengelig",labelFileLoading:"Laster",labelFileLoadError:"Feil under lasting",labelFileProcessing:"Laster opp",labelFileProcessingComplete:"Opplasting ferdig",labelFileProcessingAborted:"Opplasting avbrutt",labelFileProcessingError:"Feil under opplasting",labelFileProcessingRevertError:"Feil under reversering",labelFileRemoveError:"Feil under flytting",labelTapToCancel:"klikk for \xE5 avbryte",labelTapToRetry:"klikk for \xE5 pr\xF8ve p\xE5 nytt",labelTapToUndo:"klikk for \xE5 angre",labelButtonRemoveItem:"Fjern",labelButtonAbortItemLoad:"Avbryt",labelButtonRetryItemLoad:"Pr\xF8v p\xE5 nytt",labelButtonAbortItemProcessing:"Avbryt",labelButtonUndoItemProcessing:"Angre",labelButtonRetryItemProcessing:"Pr\xF8v p\xE5 nytt",labelButtonProcessItem:"Last opp",labelMaxFileSizeExceeded:"Filen er for stor",labelMaxFileSize:"Maksimal filst\xF8rrelse er {filesize}",labelMaxTotalFileSizeExceeded:"Maksimal total st\xF8rrelse oversteget",labelMaxTotalFileSize:"Maksimal total st\xF8rrelse er {filesize}",labelFileTypeNotAllowed:"Ugyldig filtype",fileValidateTypeLabelExpectedTypes:"Forventer {allButLastType} eller {lastType}",imageValidateSizeLabelFormatError:"Bildeformat ikke st\xF8ttet",imageValidateSizeLabelImageSizeTooSmall:"Bildet er for lite",imageValidateSizeLabelImageSizeTooBig:"Bildet er for stort",imageValidateSizeLabelExpectedMinSize:"Minimumsst\xF8rrelse er {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maksimumsst\xF8rrelse er {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Oppl\xF8sningen er for lav",imageValidateSizeLabelImageResolutionTooHigh:"Oppl\xF8sningen er for h\xF8y",imageValidateSizeLabelExpectedMinResolution:"Minimum oppl\xF8sning er {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maksimal oppl\xF8sning er {maxResolution}"};var Qo={labelIdle:'Drag & Drop je bestanden of Bladeren ',labelInvalidField:"Veld bevat ongeldige bestanden",labelFileWaitingForSize:"Wachten op grootte",labelFileSizeNotAvailable:"Grootte niet beschikbaar",labelFileLoading:"Laden",labelFileLoadError:"Fout tijdens laden",labelFileProcessing:"Uploaden",labelFileProcessingComplete:"Upload afgerond",labelFileProcessingAborted:"Upload geannuleerd",labelFileProcessingError:"Fout tijdens upload",labelFileProcessingRevertError:"Fout bij herstellen",labelFileRemoveError:"Fout bij verwijderen",labelTapToCancel:"tik om te annuleren",labelTapToRetry:"tik om opnieuw te proberen",labelTapToUndo:"tik om ongedaan te maken",labelButtonRemoveItem:"Verwijderen",labelButtonAbortItemLoad:"Afbreken",labelButtonRetryItemLoad:"Opnieuw proberen",labelButtonAbortItemProcessing:"Annuleren",labelButtonUndoItemProcessing:"Ongedaan maken",labelButtonRetryItemProcessing:"Opnieuw proberen",labelButtonProcessItem:"Upload",labelMaxFileSizeExceeded:"Bestand is te groot",labelMaxFileSize:"Maximale bestandsgrootte is {filesize}",labelMaxTotalFileSizeExceeded:"Maximale totale grootte overschreden",labelMaxTotalFileSize:"Maximale totale bestandsgrootte is {filesize}",labelFileTypeNotAllowed:"Ongeldig bestandstype",fileValidateTypeLabelExpectedTypes:"Verwacht {allButLastType} of {lastType}",imageValidateSizeLabelFormatError:"Afbeeldingstype niet ondersteund",imageValidateSizeLabelImageSizeTooSmall:"Afbeelding is te klein",imageValidateSizeLabelImageSizeTooBig:"Afbeelding is te groot",imageValidateSizeLabelExpectedMinSize:"Minimale afmeting is {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maximale afmeting is {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Resolutie is te laag",imageValidateSizeLabelImageResolutionTooHigh:"Resolution is too high",imageValidateSizeLabelExpectedMinResolution:"Minimale resolutie is {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maximale resolutie is {maxResolution}"};var Zo={labelIdle:'Przeci\u0105gnij i upu\u015B\u0107 lub wybierz pliki',labelInvalidField:"Nieprawid\u0142owe pliki",labelFileWaitingForSize:"Pobieranie rozmiaru",labelFileSizeNotAvailable:"Nieznany rozmiar",labelFileLoading:"Wczytywanie",labelFileLoadError:"B\u0142\u0105d wczytywania",labelFileProcessing:"Przesy\u0142anie",labelFileProcessingComplete:"Przes\u0142ano",labelFileProcessingAborted:"Przerwano",labelFileProcessingError:"Przesy\u0142anie nie powiod\u0142o si\u0119",labelFileProcessingRevertError:"Co\u015B posz\u0142o nie tak",labelFileRemoveError:"Nieudane usuni\u0119cie",labelTapToCancel:"Anuluj",labelTapToRetry:"Pon\xF3w",labelTapToUndo:"Cofnij",labelButtonRemoveItem:"Usu\u0144",labelButtonAbortItemLoad:"Przerwij",labelButtonRetryItemLoad:"Pon\xF3w",labelButtonAbortItemProcessing:"Anuluj",labelButtonUndoItemProcessing:"Cofnij",labelButtonRetryItemProcessing:"Pon\xF3w",labelButtonProcessItem:"Prze\u015Blij",labelMaxFileSizeExceeded:"Plik jest zbyt du\u017Cy",labelMaxFileSize:"Dopuszczalna wielko\u015B\u0107 pliku to {filesize}",labelMaxTotalFileSizeExceeded:"Przekroczono \u0142\u0105czny rozmiar plik\xF3w",labelMaxTotalFileSize:"\u0141\u0105czny rozmiar plik\xF3w nie mo\u017Ce przekroczy\u0107 {filesize}",labelFileTypeNotAllowed:"Niedozwolony rodzaj pliku",fileValidateTypeLabelExpectedTypes:"Oczekiwano {allButLastType} lub {lastType}",imageValidateSizeLabelFormatError:"Nieobs\u0142ugiwany format obrazu",imageValidateSizeLabelImageSizeTooSmall:"Obraz jest zbyt ma\u0142y",imageValidateSizeLabelImageSizeTooBig:"Obraz jest zbyt du\u017Cy",imageValidateSizeLabelExpectedMinSize:"Minimalne wymiary obrazu to {minWidth}\xD7{minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maksymalna wymiary obrazu to {maxWidth}\xD7{maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Rozdzielczo\u015B\u0107 jest zbyt niska",imageValidateSizeLabelImageResolutionTooHigh:"Rozdzielczo\u015B\u0107 jest zbyt wysoka",imageValidateSizeLabelExpectedMinResolution:"Minimalna rozdzielczo\u015B\u0107 to {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maksymalna rozdzielczo\u015B\u0107 to {maxResolution}"};var Jo={labelIdle:'Arraste & Largue os ficheiros ou Seleccione ',labelInvalidField:"O campo cont\xE9m ficheiros inv\xE1lidos",labelFileWaitingForSize:"A aguardar tamanho",labelFileSizeNotAvailable:"Tamanho n\xE3o dispon\xEDvel",labelFileLoading:"A carregar",labelFileLoadError:"Erro ao carregar",labelFileProcessing:"A carregar",labelFileProcessingComplete:"Carregamento completo",labelFileProcessingAborted:"Carregamento cancelado",labelFileProcessingError:"Erro ao carregar",labelFileProcessingRevertError:"Erro ao reverter",labelFileRemoveError:"Erro ao remover",labelTapToCancel:"carregue para cancelar",labelTapToRetry:"carregue para tentar novamente",labelTapToUndo:"carregue para desfazer",labelButtonRemoveItem:"Remover",labelButtonAbortItemLoad:"Abortar",labelButtonRetryItemLoad:"Tentar novamente",labelButtonAbortItemProcessing:"Cancelar",labelButtonUndoItemProcessing:"Desfazer",labelButtonRetryItemProcessing:"Tentar novamente",labelButtonProcessItem:"Carregar",labelMaxFileSizeExceeded:"Ficheiro demasiado grande",labelMaxFileSize:"O tamanho m\xE1ximo do ficheiro \xE9 de {filesize}",labelMaxTotalFileSizeExceeded:"Tamanho m\xE1ximo total excedido",labelMaxTotalFileSize:"O tamanho m\xE1ximo total do ficheiro \xE9 de {filesize}",labelFileTypeNotAllowed:"Tipo de ficheiro inv\xE1lido",fileValidateTypeLabelExpectedTypes:"\xC9 esperado {allButLastType} ou {lastType}",imageValidateSizeLabelFormatError:"Tipo de imagem n\xE3o suportada",imageValidateSizeLabelImageSizeTooSmall:"A imagem \xE9 demasiado pequena",imageValidateSizeLabelImageSizeTooBig:"A imagem \xE9 demasiado grande",imageValidateSizeLabelExpectedMinSize:"O tamanho m\xEDnimo \xE9 de {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"O tamanho m\xE1ximo \xE9 de {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"A resolu\xE7\xE3o \xE9 demasiado baixa",imageValidateSizeLabelImageResolutionTooHigh:"A resolu\xE7\xE3o \xE9 demasiado grande",imageValidateSizeLabelExpectedMinResolution:"A resolu\xE7\xE3o m\xEDnima \xE9 de {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"A resolu\xE7\xE3o m\xE1xima \xE9 de {maxResolution}"};var er={labelIdle:'Arraste e solte os arquivos ou Clique aqui ',labelInvalidField:"Arquivos inv\xE1lidos",labelFileWaitingForSize:"Calculando o tamanho do arquivo",labelFileSizeNotAvailable:"Tamanho do arquivo indispon\xEDvel",labelFileLoading:"Carregando",labelFileLoadError:"Erro durante o carregamento",labelFileProcessing:"Enviando",labelFileProcessingComplete:"Envio finalizado",labelFileProcessingAborted:"Envio cancelado",labelFileProcessingError:"Erro durante o envio",labelFileProcessingRevertError:"Erro ao reverter o envio",labelFileRemoveError:"Erro ao remover o arquivo",labelTapToCancel:"clique para cancelar",labelTapToRetry:"clique para reenviar",labelTapToUndo:"clique para desfazer",labelButtonRemoveItem:"Remover",labelButtonAbortItemLoad:"Abortar",labelButtonRetryItemLoad:"Reenviar",labelButtonAbortItemProcessing:"Cancelar",labelButtonUndoItemProcessing:"Desfazer",labelButtonRetryItemProcessing:"Reenviar",labelButtonProcessItem:"Enviar",labelMaxFileSizeExceeded:"Arquivo \xE9 muito grande",labelMaxFileSize:"O tamanho m\xE1ximo permitido: {filesize}",labelMaxTotalFileSizeExceeded:"Tamanho total dos arquivos excedido",labelMaxTotalFileSize:"Tamanho total permitido: {filesize}",labelFileTypeNotAllowed:"Tipo de arquivo inv\xE1lido",fileValidateTypeLabelExpectedTypes:"Tipos de arquivo suportados s\xE3o {allButLastType} ou {lastType}",imageValidateSizeLabelFormatError:"Tipo de imagem inv\xE1lida",imageValidateSizeLabelImageSizeTooSmall:"Imagem muito pequena",imageValidateSizeLabelImageSizeTooBig:"Imagem muito grande",imageValidateSizeLabelExpectedMinSize:"Tamanho m\xEDnimo permitida: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Tamanho m\xE1ximo permitido: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Resolu\xE7\xE3o muito baixa",imageValidateSizeLabelImageResolutionTooHigh:"Resolu\xE7\xE3o muito alta",imageValidateSizeLabelExpectedMinResolution:"Resolu\xE7\xE3o m\xEDnima permitida: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Resolu\xE7\xE3o m\xE1xima permitida: {maxResolution}"};var tr={labelIdle:'Trage \u0219i plaseaz\u0103 fi\u0219iere sau Caut\u0103-le ',labelInvalidField:"C\xE2mpul con\u021Bine fi\u0219iere care nu sunt valide",labelFileWaitingForSize:"\xCEn a\u0219teptarea dimensiunii",labelFileSizeNotAvailable:"Dimensiunea nu este diponibil\u0103",labelFileLoading:"Se \xEEncarc\u0103",labelFileLoadError:"Eroare la \xEEnc\u0103rcare",labelFileProcessing:"Se \xEEncarc\u0103",labelFileProcessingComplete:"\xCEnc\u0103rcare finalizat\u0103",labelFileProcessingAborted:"\xCEnc\u0103rcare anulat\u0103",labelFileProcessingError:"Eroare la \xEEnc\u0103rcare",labelFileProcessingRevertError:"Eroare la anulare",labelFileRemoveError:"Eroare la \u015Ftergere",labelTapToCancel:"apas\u0103 pentru a anula",labelTapToRetry:"apas\u0103 pentru a re\xEEncerca",labelTapToUndo:"apas\u0103 pentru a anula",labelButtonRemoveItem:"\u015Eterge",labelButtonAbortItemLoad:"Anuleaz\u0103",labelButtonRetryItemLoad:"Re\xEEncearc\u0103",labelButtonAbortItemProcessing:"Anuleaz\u0103",labelButtonUndoItemProcessing:"Anuleaz\u0103",labelButtonRetryItemProcessing:"Re\xEEncearc\u0103",labelButtonProcessItem:"\xCEncarc\u0103",labelMaxFileSizeExceeded:"Fi\u0219ierul este prea mare",labelMaxFileSize:"Dimensiunea maxim\u0103 a unui fi\u0219ier este de {filesize}",labelMaxTotalFileSizeExceeded:"Dimensiunea total\u0103 maxim\u0103 a fost dep\u0103\u0219it\u0103",labelMaxTotalFileSize:"Dimensiunea total\u0103 maxim\u0103 a fi\u0219ierelor este de {filesize}",labelFileTypeNotAllowed:"Tipul fi\u0219ierului nu este valid",fileValidateTypeLabelExpectedTypes:"Se a\u0219teapt\u0103 {allButLastType} sau {lastType}",imageValidateSizeLabelFormatError:"Formatul imaginii nu este acceptat",imageValidateSizeLabelImageSizeTooSmall:"Imaginea este prea mic\u0103",imageValidateSizeLabelImageSizeTooBig:"Imaginea este prea mare",imageValidateSizeLabelExpectedMinSize:"M\u0103rimea minim\u0103 este de {maxWidth} x {maxHeight}",imageValidateSizeLabelExpectedMaxSize:"M\u0103rimea maxim\u0103 este de {maxWidth} x {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Rezolu\u021Bia este prea mic\u0103",imageValidateSizeLabelImageResolutionTooHigh:"Rezolu\u021Bia este prea mare",imageValidateSizeLabelExpectedMinResolution:"Rezolu\u021Bia minim\u0103 este de {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Rezolu\u021Bia maxim\u0103 este de {maxResolution}"};var ir={labelIdle:'\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B\u044B \u0438\u043B\u0438 \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 ',labelInvalidField:"\u041F\u043E\u043B\u0435 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0435 \u0444\u0430\u0439\u043B\u044B",labelFileWaitingForSize:"\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0440\u0430\u0437\u043C\u0435\u0440",labelFileSizeNotAvailable:"\u0420\u0430\u0437\u043C\u0435\u0440 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",labelFileLoading:"\u041E\u0436\u0438\u0434\u0430\u043D\u0438\u0435",labelFileLoadError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u0438",labelFileProcessing:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430",labelFileProcessingComplete:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0430",labelFileProcessingAborted:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043E\u0442\u043C\u0435\u043D\u0435\u043D\u0430",labelFileProcessingError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0435",labelFileProcessingRevertError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u0432\u043E\u0437\u0432\u0440\u0430\u0442\u0435",labelFileRemoveError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0438",labelTapToCancel:"\u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u043E\u0442\u043C\u0435\u043D\u044B",labelTapToRetry:"\u043D\u0430\u0436\u043C\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C \u043F\u043E\u043F\u044B\u0442\u043A\u0443",labelTapToUndo:"\u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u043E\u0442\u043C\u0435\u043D\u044B \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0433\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F",labelButtonRemoveItem:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C",labelButtonAbortItemLoad:"\u041F\u0440\u0435\u043A\u0440\u0430\u0449\u0435\u043D\u043E",labelButtonRetryItemLoad:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043F\u043E\u043F\u044B\u0442\u043A\u0443",labelButtonAbortItemProcessing:"\u041E\u0442\u043C\u0435\u043D\u0430",labelButtonUndoItemProcessing:"\u041E\u0442\u043C\u0435\u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0433\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F",labelButtonRetryItemProcessing:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043F\u043E\u043F\u044B\u0442\u043A\u0443",labelButtonProcessItem:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430",labelMaxFileSizeExceeded:"\u0424\u0430\u0439\u043B \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0439",labelMaxFileSize:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430: {filesize}",labelMaxTotalFileSizeExceeded:"\u041F\u0440\u0435\u0432\u044B\u0448\u0435\u043D \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440",labelMaxTotalFileSize:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430: {filesize}",labelFileTypeNotAllowed:"\u0424\u0430\u0439\u043B \u043D\u0435\u0432\u0435\u0440\u043D\u043E\u0433\u043E \u0442\u0438\u043F\u0430",fileValidateTypeLabelExpectedTypes:"\u041E\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044F {allButLastType} \u0438\u043B\u0438 {lastType}",imageValidateSizeLabelFormatError:"\u0422\u0438\u043F \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",imageValidateSizeLabelImageSizeTooSmall:"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435",imageValidateSizeLabelImageSizeTooBig:"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435",imageValidateSizeLabelExpectedMinSize:"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u043D\u0438\u0437\u043A\u043E\u0435",imageValidateSizeLabelImageResolutionTooHigh:"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0432\u044B\u0441\u043E\u043A\u043E\u0435",imageValidateSizeLabelExpectedMinResolution:"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435: {maxResolution}"};var ar={labelIdle:'Natiahn\xFA\u0165 s\xFAbor (drag&drop) alebo Vyh\u013Eada\u0165 ',labelInvalidField:"Pole obsahuje chybn\xE9 s\xFAbory",labelFileWaitingForSize:"Zis\u0165uje sa ve\u013Ekos\u0165",labelFileSizeNotAvailable:"Nezn\xE1ma ve\u013Ekos\u0165",labelFileLoading:"Pren\xE1\u0161a sa",labelFileLoadError:"Chyba pri prenose",labelFileProcessing:"Prebieha upload",labelFileProcessingComplete:"Upload dokon\u010Den\xFD",labelFileProcessingAborted:"Upload stornovan\xFD",labelFileProcessingError:"Chyba pri uploade",labelFileProcessingRevertError:"Chyba pri obnove",labelFileRemoveError:"Chyba pri odstr\xE1nen\xED",labelTapToCancel:"Kliknite pre storno",labelTapToRetry:"Kliknite pre opakovanie",labelTapToUndo:"Kliknite pre vr\xE1tenie",labelButtonRemoveItem:"Odstr\xE1ni\u0165",labelButtonAbortItemLoad:"Storno",labelButtonRetryItemLoad:"Opakova\u0165",labelButtonAbortItemProcessing:"Sp\xE4\u0165",labelButtonUndoItemProcessing:"Vr\xE1ti\u0165",labelButtonRetryItemProcessing:"Opakova\u0165",labelButtonProcessItem:"Upload",labelMaxFileSizeExceeded:"S\xFAbor je pr\xEDli\u0161 ve\u013Ek\xFD",labelMaxFileSize:"Najv\xE4\u010D\u0161ia ve\u013Ekos\u0165 s\xFAboru je {filesize}",labelMaxTotalFileSizeExceeded:"Prekro\u010Den\xE1 maxim\xE1lna celkov\xE1 ve\u013Ekos\u0165 s\xFAboru",labelMaxTotalFileSize:"Maxim\xE1lna celkov\xE1 ve\u013Ekos\u0165 s\xFAboru je {filesize}",labelFileTypeNotAllowed:"S\xFAbor je nespr\xE1vneho typu",fileValidateTypeLabelExpectedTypes:"O\u010Dak\xE1va sa {allButLastType} alebo {lastType}",imageValidateSizeLabelFormatError:"Obr\xE1zok tohto typu nie je podporovan\xFD",imageValidateSizeLabelImageSizeTooSmall:"Obr\xE1zok je pr\xEDli\u0161 mal\xFD",imageValidateSizeLabelImageSizeTooBig:"Obr\xE1zok je pr\xEDli\u0161 ve\u013Ek\xFD",imageValidateSizeLabelExpectedMinSize:"Minim\xE1lny rozmer je {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maxim\xE1lny rozmer je {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Rozl\xED\u0161enie je pr\xEDli\u0161 mal\xE9",imageValidateSizeLabelImageResolutionTooHigh:"Rozli\u0161enie je pr\xEDli\u0161 ve\u013Ek\xE9",imageValidateSizeLabelExpectedMinResolution:"Minim\xE1lne rozl\xED\u0161enie je {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maxim\xE1lne rozl\xED\u0161enie je {maxResolution}"};var nr={labelIdle:'Drag och sl\xE4pp dina filer eller Bl\xE4ddra ',labelInvalidField:"F\xE4ltet inneh\xE5ller felaktiga filer",labelFileWaitingForSize:"V\xE4ntar p\xE5 storlek",labelFileSizeNotAvailable:"Storleken finns inte tillg\xE4nglig",labelFileLoading:"Laddar",labelFileLoadError:"Fel under laddning",labelFileProcessing:"Laddar upp",labelFileProcessingComplete:"Uppladdning klar",labelFileProcessingAborted:"Uppladdning avbruten",labelFileProcessingError:"Fel under uppladdning",labelFileProcessingRevertError:"Fel under \xE5terst\xE4llning",labelFileRemoveError:"Fel under borttagning",labelTapToCancel:"tryck f\xF6r att avbryta",labelTapToRetry:"tryck f\xF6r att f\xF6rs\xF6ka igen",labelTapToUndo:"tryck f\xF6r att \xE5ngra",labelButtonRemoveItem:"Tabort",labelButtonAbortItemLoad:"Avbryt",labelButtonRetryItemLoad:"F\xF6rs\xF6k igen",labelButtonAbortItemProcessing:"Avbryt",labelButtonUndoItemProcessing:"\xC5ngra",labelButtonRetryItemProcessing:"F\xF6rs\xF6k igen",labelButtonProcessItem:"Ladda upp",labelMaxFileSizeExceeded:"Filen \xE4r f\xF6r stor",labelMaxFileSize:"St\xF6rsta till\xE5tna filstorlek \xE4r {filesize}",labelMaxTotalFileSizeExceeded:"Maximal uppladdningsstorlek uppn\xE5d",labelMaxTotalFileSize:"Maximal uppladdningsstorlek \xE4r {filesize}",labelFileTypeNotAllowed:"Felaktig filtyp",fileValidateTypeLabelExpectedTypes:"Godk\xE4nda filtyper {allButLastType} eller {lastType}",imageValidateSizeLabelFormatError:"Bildtypen saknar st\xF6d",imageValidateSizeLabelImageSizeTooSmall:"Bilden \xE4r f\xF6r liten",imageValidateSizeLabelImageSizeTooBig:"Bilden \xE4r f\xF6r stor",imageValidateSizeLabelExpectedMinSize:"Minimal storlek \xE4r {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maximal storlek \xE4r {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Uppl\xF6sningen \xE4r f\xF6r l\xE5g",imageValidateSizeLabelImageResolutionTooHigh:"Uppl\xF6sningen \xE4r f\xF6r h\xF6g",imageValidateSizeLabelExpectedMinResolution:"Minsta till\xE5tna uppl\xF6sning \xE4r {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"H\xF6gsta till\xE5tna uppl\xF6sning \xE4r {maxResolution}"};var lr={labelIdle:'Dosyan\u0131z\u0131 S\xFCr\xFCkleyin & B\u0131rak\u0131n ya da Se\xE7in ',labelInvalidField:"Alan ge\xE7ersiz dosyalar i\xE7eriyor",labelFileWaitingForSize:"Boyut hesaplan\u0131yor",labelFileSizeNotAvailable:"Boyut mevcut de\u011Fil",labelFileLoading:"Y\xFCkleniyor",labelFileLoadError:"Y\xFCkleme s\u0131ras\u0131nda hata olu\u015Ftu",labelFileProcessing:"Y\xFCkleniyor",labelFileProcessingComplete:"Y\xFCkleme tamamland\u0131",labelFileProcessingAborted:"Y\xFCkleme iptal edildi",labelFileProcessingError:"Y\xFCklerken hata olu\u015Ftu",labelFileProcessingRevertError:"Geri \xE7ekerken hata olu\u015Ftu",labelFileRemoveError:"Kald\u0131r\u0131rken hata olu\u015Ftu",labelTapToCancel:"\u0130ptal etmek i\xE7in t\u0131klay\u0131n",labelTapToRetry:"Tekrar denemek i\xE7in t\u0131klay\u0131n",labelTapToUndo:"Geri almak i\xE7in t\u0131klay\u0131n",labelButtonRemoveItem:"Kald\u0131r",labelButtonAbortItemLoad:"\u0130ptal Et",labelButtonRetryItemLoad:"Tekrar dene",labelButtonAbortItemProcessing:"\u0130ptal et",labelButtonUndoItemProcessing:"Geri Al",labelButtonRetryItemProcessing:"Tekrar dene",labelButtonProcessItem:"Y\xFCkle",labelMaxFileSizeExceeded:"Dosya \xE7ok b\xFCy\xFCk",labelMaxFileSize:"En fazla dosya boyutu: {filesize}",labelMaxTotalFileSizeExceeded:"Maximum boyut a\u015F\u0131ld\u0131",labelMaxTotalFileSize:"Maximum dosya boyutu :{filesize}",labelFileTypeNotAllowed:"Ge\xE7ersiz dosya tipi",fileValidateTypeLabelExpectedTypes:"\u015Eu {allButLastType} ya da \u015Fu dosya olmas\u0131 gerekir: {lastType}",imageValidateSizeLabelFormatError:"Resim tipi desteklenmiyor",imageValidateSizeLabelImageSizeTooSmall:"Resim \xE7ok k\xFC\xE7\xFCk",imageValidateSizeLabelImageSizeTooBig:"Resim \xE7ok b\xFCy\xFCk",imageValidateSizeLabelExpectedMinSize:"Minimum boyut {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maximum boyut {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\xC7\xF6z\xFCn\xFCrl\xFCk \xE7ok d\xFC\u015F\xFCk",imageValidateSizeLabelImageResolutionTooHigh:"\xC7\xF6z\xFCn\xFCrl\xFCk \xE7ok y\xFCksek",imageValidateSizeLabelExpectedMinResolution:"Minimum \xE7\xF6z\xFCn\xFCrl\xFCk {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maximum \xE7\xF6z\xFCn\xFCrl\xFCk {maxResolution}"};var or={labelIdle:'\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0456\u0442\u044C \u0444\u0430\u0439\u043B\u0438 \u0430\u0431\u043E \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C ',labelInvalidField:"\u041F\u043E\u043B\u0435 \u043C\u0456\u0441\u0442\u0438\u0442\u044C \u043D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u0456 \u0444\u0430\u0439\u043B\u0438",labelFileWaitingForSize:"\u0412\u043A\u0430\u0436\u0456\u0442\u044C \u0440\u043E\u0437\u043C\u0456\u0440",labelFileSizeNotAvailable:"\u0420\u043E\u0437\u043C\u0456\u0440 \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0438\u0439",labelFileLoading:"\u041E\u0447\u0456\u043A\u0443\u0432\u0430\u043D\u043D\u044F",labelFileLoadError:"\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0440\u0438 \u043E\u0447\u0456\u043A\u0443\u0432\u0430\u043D\u043D\u0456",labelFileProcessing:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F",labelFileProcessingComplete:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E",labelFileProcessingAborted:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F \u0441\u043A\u0430\u0441\u043E\u0432\u0430\u043D\u043E",labelFileProcessingError:"\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0440\u0438 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u0456",labelFileProcessingRevertError:"\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0440\u0438 \u0432\u0456\u0434\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u0456",labelFileRemoveError:"\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0440\u0438 \u0432\u0438\u0434\u0430\u043B\u0435\u043D\u043D\u0456",labelTapToCancel:"\u0412\u0456\u0434\u043C\u0456\u043D\u0438\u0442\u0438",labelTapToRetry:"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C, \u0449\u043E\u0431 \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438 \u0441\u043F\u0440\u043E\u0431\u0443",labelTapToUndo:"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C, \u0449\u043E\u0431 \u0432\u0456\u0434\u043C\u0456\u043D\u0438\u0442\u0438 \u043E\u0441\u0442\u0430\u043D\u043D\u044E \u0434\u0456\u044E",labelButtonRemoveItem:"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438",labelButtonAbortItemLoad:"\u0412\u0456\u0434\u043C\u0456\u043D\u0438\u0442\u0438",labelButtonRetryItemLoad:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438 \u0441\u043F\u0440\u043E\u0431\u0443",labelButtonAbortItemProcessing:"\u0412\u0456\u0434\u043C\u0456\u043D\u0438\u0442\u0438",labelButtonUndoItemProcessing:"\u0412\u0456\u0434\u043C\u0456\u043D\u0438\u0442\u0438 \u043E\u0441\u0442\u0430\u043D\u043D\u044E \u0434\u0456\u044E",labelButtonRetryItemProcessing:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438 \u0441\u043F\u0440\u043E\u0431\u0443",labelButtonProcessItem:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F",labelMaxFileSizeExceeded:"\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439",labelMaxFileSize:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440 \u0444\u0430\u0439\u043B\u0443: {filesize}",labelMaxTotalFileSizeExceeded:"\u041F\u0435\u0440\u0435\u0432\u0438\u0449\u0435\u043D\u043E \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0438\u0439 \u0437\u0430\u0433\u0430\u043B\u044C\u043D\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440",labelMaxTotalFileSize:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0438\u0439 \u0437\u0430\u0433\u0430\u043B\u044C\u043D\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440: {filesize}",labelFileTypeNotAllowed:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0443 \u043D\u0435 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454\u0442\u044C\u0441\u044F",fileValidateTypeLabelExpectedTypes:"\u041E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F {allButLastType} \u0430\u0431\u043E {lastType}",imageValidateSizeLabelFormatError:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u043D\u0435 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454\u0442\u044C\u0441\u044F",imageValidateSizeLabelImageSizeTooSmall:"\u0417\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u0435",imageValidateSizeLabelImageSizeTooBig:"\u0417\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435",imageValidateSizeLabelExpectedMinSize:"\u041C\u0456\u043D\u0456\u043C\u0430\u043B\u044C\u043D\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u0420\u043E\u0437\u043C\u0456\u0440\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u0456",imageValidateSizeLabelImageResolutionTooHigh:"\u0420\u043E\u0437\u043C\u0456\u0440\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0456",imageValidateSizeLabelExpectedMinResolution:"\u041C\u0456\u043D\u0456\u043C\u0430\u043B\u044C\u043D\u0456 \u0440\u043E\u0437\u043C\u0456\u0440\u0438: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0456 \u0440\u043E\u0437\u043C\u0456\u0440\u0438: {maxResolution}"};var rr={labelIdle:'K\xE9o th\u1EA3 t\u1EC7p c\u1EE7a b\u1EA1n ho\u1EB7c T\xECm ki\u1EBFm ',labelInvalidField:"Tr\u01B0\u1EDDng ch\u1EE9a c\xE1c t\u1EC7p kh\xF4ng h\u1EE3p l\u1EC7",labelFileWaitingForSize:"\u0110ang ch\u1EDD k\xEDch th\u01B0\u1EDBc",labelFileSizeNotAvailable:"K\xEDch th\u01B0\u1EDBc kh\xF4ng c\xF3 s\u1EB5n",labelFileLoading:"\u0110ang t\u1EA3i",labelFileLoadError:"L\u1ED7i khi t\u1EA3i",labelFileProcessing:"\u0110ang t\u1EA3i l\xEAn",labelFileProcessingComplete:"T\u1EA3i l\xEAn th\xE0nh c\xF4ng",labelFileProcessingAborted:"\u0110\xE3 hu\u1EF7 t\u1EA3i l\xEAn",labelFileProcessingError:"L\u1ED7i khi t\u1EA3i l\xEAn",labelFileProcessingRevertError:"L\u1ED7i khi ho\xE0n nguy\xEAn",labelFileRemoveError:"L\u1ED7i khi x\xF3a",labelTapToCancel:"nh\u1EA5n \u0111\u1EC3 h\u1EE7y",labelTapToRetry:"nh\u1EA5n \u0111\u1EC3 th\u1EED l\u1EA1i",labelTapToUndo:"nh\u1EA5n \u0111\u1EC3 ho\xE0n t\xE1c",labelButtonRemoveItem:"Xo\xE1",labelButtonAbortItemLoad:"Hu\u1EF7 b\u1ECF",labelButtonRetryItemLoad:"Th\u1EED l\u1EA1i",labelButtonAbortItemProcessing:"H\u1EE7y b\u1ECF",labelButtonUndoItemProcessing:"Ho\xE0n t\xE1c",labelButtonRetryItemProcessing:"Th\u1EED l\u1EA1i",labelButtonProcessItem:"T\u1EA3i l\xEAn",labelMaxFileSizeExceeded:"T\u1EADp tin qu\xE1 l\u1EDBn",labelMaxFileSize:"K\xEDch th\u01B0\u1EDBc t\u1EC7p t\u1ED1i \u0111a l\xE0 {filesize}",labelMaxTotalFileSizeExceeded:"\u0110\xE3 v\u01B0\u1EE3t qu\xE1 t\u1ED5ng k\xEDch th\u01B0\u1EDBc t\u1ED1i \u0111a",labelMaxTotalFileSize:"T\u1ED5ng k\xEDch th\u01B0\u1EDBc t\u1EC7p t\u1ED1i \u0111a l\xE0 {filesize}",labelFileTypeNotAllowed:"T\u1EC7p thu\u1ED9c lo\u1EA1i kh\xF4ng h\u1EE3p l\u1EC7",fileValidateTypeLabelExpectedTypes:"Ki\u1EC3u t\u1EC7p h\u1EE3p l\u1EC7 l\xE0 {allButLastType} ho\u1EB7c {lastType}",imageValidateSizeLabelFormatError:"Lo\u1EA1i h\xECnh \u1EA3nh kh\xF4ng \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",imageValidateSizeLabelImageSizeTooSmall:"H\xECnh \u1EA3nh qu\xE1 nh\u1ECF",imageValidateSizeLabelImageSizeTooBig:"H\xECnh \u1EA3nh qu\xE1 l\u1EDBn",imageValidateSizeLabelExpectedMinSize:"K\xEDch th\u01B0\u1EDBc t\u1ED1i thi\u1EC3u l\xE0 {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"K\xEDch th\u01B0\u1EDBc t\u1ED1i \u0111a l\xE0 {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u0110\u1ED9 ph\xE2n gi\u1EA3i qu\xE1 th\u1EA5p",imageValidateSizeLabelImageResolutionTooHigh:"\u0110\u1ED9 ph\xE2n gi\u1EA3i qu\xE1 cao",imageValidateSizeLabelExpectedMinResolution:"\u0110\u1ED9 ph\xE2n gi\u1EA3i t\u1ED1i thi\u1EC3u l\xE0 {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u0110\u1ED9 ph\xE2n gi\u1EA3i t\u1ED1i \u0111a l\xE0 {maxResolution}"};var sr={labelIdle:'\u62D6\u653E\u6587\u4EF6\uFF0C\u6216\u8005 \u6D4F\u89C8 ',labelInvalidField:"\u5B57\u6BB5\u5305\u542B\u65E0\u6548\u6587\u4EF6",labelFileWaitingForSize:"\u8BA1\u7B97\u6587\u4EF6\u5927\u5C0F",labelFileSizeNotAvailable:"\u6587\u4EF6\u5927\u5C0F\u4E0D\u53EF\u7528",labelFileLoading:"\u52A0\u8F7D",labelFileLoadError:"\u52A0\u8F7D\u9519\u8BEF",labelFileProcessing:"\u4E0A\u4F20",labelFileProcessingComplete:"\u5DF2\u4E0A\u4F20",labelFileProcessingAborted:"\u4E0A\u4F20\u5DF2\u53D6\u6D88",labelFileProcessingError:"\u4E0A\u4F20\u51FA\u9519",labelFileProcessingRevertError:"\u8FD8\u539F\u51FA\u9519",labelFileRemoveError:"\u5220\u9664\u51FA\u9519",labelTapToCancel:"\u70B9\u51FB\u53D6\u6D88",labelTapToRetry:"\u70B9\u51FB\u91CD\u8BD5",labelTapToUndo:"\u70B9\u51FB\u64A4\u6D88",labelButtonRemoveItem:"\u5220\u9664",labelButtonAbortItemLoad:"\u4E2D\u6B62",labelButtonRetryItemLoad:"\u91CD\u8BD5",labelButtonAbortItemProcessing:"\u53D6\u6D88",labelButtonUndoItemProcessing:"\u64A4\u6D88",labelButtonRetryItemProcessing:"\u91CD\u8BD5",labelButtonProcessItem:"\u4E0A\u4F20",labelMaxFileSizeExceeded:"\u6587\u4EF6\u592A\u5927",labelMaxFileSize:"\u6700\u5927\u503C: {filesize}",labelMaxTotalFileSizeExceeded:"\u8D85\u8FC7\u6700\u5927\u6587\u4EF6\u5927\u5C0F",labelMaxTotalFileSize:"\u6700\u5927\u6587\u4EF6\u5927\u5C0F\uFF1A{filesize}",labelFileTypeNotAllowed:"\u6587\u4EF6\u7C7B\u578B\u65E0\u6548",fileValidateTypeLabelExpectedTypes:"\u5E94\u4E3A {allButLastType} \u6216 {lastType}",imageValidateSizeLabelFormatError:"\u4E0D\u652F\u6301\u56FE\u50CF\u7C7B\u578B",imageValidateSizeLabelImageSizeTooSmall:"\u56FE\u50CF\u592A\u5C0F",imageValidateSizeLabelImageSizeTooBig:"\u56FE\u50CF\u592A\u5927",imageValidateSizeLabelExpectedMinSize:"\u6700\u5C0F\u503C: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u6700\u5927\u503C: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u5206\u8FA8\u7387\u592A\u4F4E",imageValidateSizeLabelImageResolutionTooHigh:"\u5206\u8FA8\u7387\u592A\u9AD8",imageValidateSizeLabelExpectedMinResolution:"\u6700\u5C0F\u5206\u8FA8\u7387\uFF1A{minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u6700\u5927\u5206\u8FA8\u7387\uFF1A{maxResolution}"};var cr={labelIdle:'\u62D6\u653E\u6A94\u6848\uFF0C\u6216\u8005 \u700F\u89BD ',labelInvalidField:"\u4E0D\u652F\u63F4\u6B64\u6A94\u6848",labelFileWaitingForSize:"\u6B63\u5728\u8A08\u7B97\u6A94\u6848\u5927\u5C0F",labelFileSizeNotAvailable:"\u6A94\u6848\u5927\u5C0F\u4E0D\u7B26",labelFileLoading:"\u8B80\u53D6\u4E2D",labelFileLoadError:"\u8B80\u53D6\u932F\u8AA4",labelFileProcessing:"\u4E0A\u50B3",labelFileProcessingComplete:"\u5DF2\u4E0A\u50B3",labelFileProcessingAborted:"\u4E0A\u50B3\u5DF2\u53D6\u6D88",labelFileProcessingError:"\u4E0A\u50B3\u767C\u751F\u932F\u8AA4",labelFileProcessingRevertError:"\u9084\u539F\u932F\u8AA4",labelFileRemoveError:"\u522A\u9664\u932F\u8AA4",labelTapToCancel:"\u9EDE\u64CA\u53D6\u6D88",labelTapToRetry:"\u9EDE\u64CA\u91CD\u8A66",labelTapToUndo:"\u9EDE\u64CA\u9084\u539F",labelButtonRemoveItem:"\u522A\u9664",labelButtonAbortItemLoad:"\u505C\u6B62",labelButtonRetryItemLoad:"\u91CD\u8A66",labelButtonAbortItemProcessing:"\u53D6\u6D88",labelButtonUndoItemProcessing:"\u53D6\u6D88",labelButtonRetryItemProcessing:"\u91CD\u8A66",labelButtonProcessItem:"\u4E0A\u50B3",labelMaxFileSizeExceeded:"\u6A94\u6848\u904E\u5927",labelMaxFileSize:"\u6700\u5927\u503C\uFF1A{filesize}",labelMaxTotalFileSizeExceeded:"\u8D85\u904E\u6700\u5927\u53EF\u4E0A\u50B3\u5927\u5C0F",labelMaxTotalFileSize:"\u6700\u5927\u53EF\u4E0A\u50B3\u5927\u5C0F\uFF1A{filesize}",labelFileTypeNotAllowed:"\u4E0D\u652F\u63F4\u6B64\u985E\u578B\u6A94\u6848",fileValidateTypeLabelExpectedTypes:"\u61C9\u70BA {allButLastType} \u6216 {lastType}",imageValidateSizeLabelFormatError:"\u4E0D\u652F\u6301\u6B64\u985E\u5716\u7247\u985E\u578B",imageValidateSizeLabelImageSizeTooSmall:"\u5716\u7247\u904E\u5C0F",imageValidateSizeLabelImageSizeTooBig:"\u5716\u7247\u904E\u5927",imageValidateSizeLabelExpectedMinSize:"\u6700\u5C0F\u5C3A\u5BF8\uFF1A{minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u6700\u5927\u5C3A\u5BF8\uFF1A{maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u89E3\u6790\u5EA6\u904E\u4F4E",imageValidateSizeLabelImageResolutionTooHigh:"\u89E3\u6790\u5EA6\u904E\u9AD8",imageValidateSizeLabelExpectedMinResolution:"\u6700\u4F4E\u89E3\u6790\u5EA6\uFF1A{minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u6700\u9AD8\u89E3\u6790\u5EA6\uFF1A{maxResolution}"};ve(Ul);ve(Hl);ve(ql);ve(Xl);ve(Jl);ve(po);ve(uo);ve(So);ve(Aa);window.FilePond=na;function wg({acceptedFileTypes:e,imageEditorEmptyFillColor:t,imageEditorMode:i,imageEditorViewportHeight:a,imageEditorViewportWidth:n,deleteUploadedFileUsing:l,isDeletable:o,isDisabled:r,getUploadedFilesUsing:s,imageCropAspectRatio:p,imagePreviewHeight:c,imageResizeMode:d,imageResizeTargetHeight:m,imageResizeTargetWidth:u,imageResizeUpscale:g,isAvatar:f,hasImageEditor:h,hasCircleCropper:I,canEditSvgs:b,isSvgEditingConfirmed:T,confirmSvgEditingMessage:v,disabledSvgEditingMessage:y,isDownloadable:E,isMultiple:_,isOpenable:x,isPasteable:R,isPreviewable:z,isReorderable:P,itemPanelAspectRatio:A,loadingIndicatorPosition:B,locale:w,maxFiles:O,maxFilesValidationMessage:S,maxSize:L,minSize:D,maxParallelUploads:F,mimeTypeMap:G,panelAspectRatio:C,panelLayout:q,placeholder:$,removeUploadedFileButtonPosition:K,removeUploadedFileUsing:pe,reorderUploadedFilesUsing:k,shouldAppendFiles:H,shouldOrientImageFromExif:Y,shouldTransformImage:oe,state:ee,uploadButtonPosition:dt,uploadingMessage:pr,uploadProgressIndicatorPosition:mr,uploadUsing:ur}){return{fileKeyIndex:{},pond:null,shouldUpdateState:!0,state:ee,lastState:null,error:null,uploadedFileIndex:{},isEditorOpen:!1,editingFile:{},currentRatio:"",editor:{},async init(){Ft(dr[w]??dr.en),this.pond=gt(this.$refs.input,{acceptedFileTypes:e,allowImageExifOrientation:Y,allowPaste:R,allowRemove:o,allowReorder:P,allowImagePreview:z,allowVideoPreview:z,allowAudioPreview:z,allowImageTransform:oe,credits:!1,files:await this.getFiles(),imageCropAspectRatio:p,imagePreviewHeight:c,imageResizeTargetHeight:m,imageResizeTargetWidth:u,imageResizeMode:d,imageResizeUpscale:g,imageTransformOutputStripImageHead:!1,itemInsertLocation:H?"after":"before",...$&&{labelIdle:$},maxFiles:O,maxFileSize:L,minFileSize:D,...F&&{maxParallelUploads:F},styleButtonProcessItemPosition:dt,styleButtonRemoveItemPosition:K,styleItemPanelAspectRatio:A,styleLoadIndicatorPosition:B,stylePanelAspectRatio:C,stylePanelLayout:q,styleProgressIndicatorPosition:mr,server:{load:async(N,W)=>{let Q=await(await fetch(N,{cache:"no-store"})).blob();W(Q)},process:(N,W,X,Q,Ge,Me)=>{this.shouldUpdateState=!1;let Kt=("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,Qt=>(Qt^crypto.getRandomValues(new Uint8Array(1))[0]&15>>Qt/4).toString(16));ur(Kt,W,Qt=>{this.shouldUpdateState=!0,Q(Qt)},Ge,Me)},remove:async(N,W)=>{let X=this.uploadedFileIndex[N]??null;X&&(await l(X),W())},revert:async(N,W)=>{await pe(N),W()}},allowImageEdit:h,imageEditEditor:{open:N=>this.loadEditor(N),onconfirm:()=>{},oncancel:()=>this.closeEditor(),onclose:()=>this.closeEditor()},fileValidateTypeDetectType:(N,W)=>new Promise((X,Q)=>{let Ge=N.name.split(".").pop().toLowerCase(),Me=G[Ge]||W||Vl.getType(Ge);Me?X(Me):Q()})}),this.$watch("state",async()=>{if(this.pond&&this.shouldUpdateState&&this.state!==void 0){if(this.state!==null&&Object.values(this.state).filter(N=>N.startsWith("livewire-file:")).length){this.lastState=null;return}JSON.stringify(this.state)!==this.lastState&&(this.lastState=JSON.stringify(this.state),this.pond.files=await this.getFiles())}}),this.pond.on("reorderfiles",async N=>{let W=N.map(X=>X.source instanceof File?X.serverId:this.uploadedFileIndex[X.source]??null).filter(X=>X);await k(H?W:W.reverse())}),this.pond.on("initfile",async N=>{E&&(f||this.insertDownloadLink(N))}),this.pond.on("initfile",async N=>{x&&(f||this.insertOpenLink(N))}),this.pond.on("addfilestart",async N=>{this.error=null,N.status===Et.PROCESSING_QUEUED&&this.dispatchFormEvent("form-processing-started",{message:pr})});let V=async()=>{this.pond.getFiles().filter(N=>N.status===Et.PROCESSING||N.status===Et.PROCESSING_QUEUED).length||this.dispatchFormEvent("form-processing-finished")};this.pond.on("processfile",V),this.pond.on("processfileabort",V),this.pond.on("processfilerevert",V),this.pond.on("warning",N=>{N.body==="Max files"&&(this.error=S)}),q==="compact circle"&&this.pond.on("error",N=>{this.error=`${N.main}: ${N.sub}`.replace("Expects or","Expects")}),this.pond.on("removefile",()=>this.error=null)},destroy(){this.destroyEditor(),ft(this.$refs.input),this.pond=null},dispatchFormEvent(V,N={}){this.$el.closest("form")?.dispatchEvent(new CustomEvent(V,{composed:!0,cancelable:!0,detail:N}))},async getUploadedFiles(){let V=await s();this.fileKeyIndex=V??{},this.uploadedFileIndex=Object.entries(this.fileKeyIndex).filter(([N,W])=>W?.url).reduce((N,[W,X])=>(N[X.url]=W,N),{})},async getFiles(){await this.getUploadedFiles();let V=[];for(let N of Object.values(this.fileKeyIndex))N&&V.push({source:N.url,options:{type:"local",...!N.type||z&&(/^audio/.test(N.type)||/^image/.test(N.type)||/^video/.test(N.type))?{}:{file:{name:N.name,size:N.size,type:N.type}}}});return H?V:V.reverse()},insertDownloadLink(V){if(V.origin!==Ct.LOCAL)return;let N=this.getDownloadLink(V);N&&document.getElementById(`filepond--item-${V.id}`).querySelector(".filepond--file-info-main").prepend(N)},insertOpenLink(V){if(V.origin!==Ct.LOCAL)return;let N=this.getOpenLink(V);N&&document.getElementById(`filepond--item-${V.id}`).querySelector(".filepond--file-info-main").prepend(N)},getDownloadLink(V){let N=V.source;if(!N)return;let W=document.createElement("a");return W.className="filepond--download-icon",W.href=N,W.download=V.file.name,W},getOpenLink(V){let N=V.source;if(!N)return;let W=document.createElement("a");return W.className="filepond--open-icon",W.href=N,W.target="_blank",W},initEditor(){r||h&&(this.editor=new xa(this.$refs.editor,{aspectRatio:n/a,autoCropArea:1,center:!0,crop:V=>{this.$refs.xPositionInput.value=Math.round(V.detail.x),this.$refs.yPositionInput.value=Math.round(V.detail.y),this.$refs.heightInput.value=Math.round(V.detail.height),this.$refs.widthInput.value=Math.round(V.detail.width),this.$refs.rotationInput.value=V.detail.rotate},cropBoxResizable:!0,guides:!0,highlight:!0,responsive:!0,toggleDragModeOnDblclick:!0,viewMode:i,wheelZoomRatio:.02}))},closeEditor(){this.editingFile={},this.isEditorOpen=!1,this.destroyEditor()},fixImageDimensions(V,N){if(V.type!=="image/svg+xml")return N(V);let W=new FileReader;W.onload=X=>{let Q=new DOMParser().parseFromString(X.target.result,"image/svg+xml")?.querySelector("svg");if(!Q)return N(V);let Ge=["viewBox","ViewBox","viewbox"].find(Kt=>Q.hasAttribute(Kt));if(!Ge)return N(V);let Me=Q.getAttribute(Ge).split(" ");return!Me||Me.length!==4?N(V):(Q.setAttribute("width",parseFloat(Me[2])+"pt"),Q.setAttribute("height",parseFloat(Me[3])+"pt"),N(new File([new Blob([new XMLSerializer().serializeToString(Q)],{type:"image/svg+xml"})],V.name,{type:"image/svg+xml",_relativePath:""})))},W.readAsText(V)},loadEditor(V){if(r||!h||!V)return;let N=V.type==="image/svg+xml";if(!b&&N){alert(y);return}T&&N&&!confirm(v)||this.fixImageDimensions(V,W=>{this.editingFile=W,this.initEditor();let X=new FileReader;X.onload=Q=>{this.isEditorOpen=!0,setTimeout(()=>this.editor.replace(Q.target.result),200)},X.readAsDataURL(V)})},getRoundedCanvas(V){let N=V.width,W=V.height,X=document.createElement("canvas");X.width=N,X.height=W;let Q=X.getContext("2d");return Q.imageSmoothingEnabled=!0,Q.drawImage(V,0,0,N,W),Q.globalCompositeOperation="destination-in",Q.beginPath(),Q.ellipse(N/2,W/2,N/2,W/2,0,0,2*Math.PI),Q.fill(),X},saveEditor(){if(r||!h)return;let V=this.editor.getCroppedCanvas({fillColor:t??"transparent",height:m,imageSmoothingEnabled:!0,imageSmoothingQuality:"high",width:u});I&&(V=this.getRoundedCanvas(V)),V.toBlob(N=>{_&&this.pond.removeFile(this.pond.getFiles().find(W=>W.filename===this.editingFile.name)?.id,{revert:!0}),this.$nextTick(()=>{this.shouldUpdateState=!1;let W=this.editingFile.name.slice(0,this.editingFile.name.lastIndexOf(".")),X=this.editingFile.name.split(".").pop();X==="svg"&&(X="png");let Q=/-v(\d+)/;Q.test(W)?W=W.replace(Q,(Ge,Me)=>`-v${Number(Me)+1}`):W+="-v1",this.pond.addFile(new File([N],`${W}.${X}`,{type:this.editingFile.type==="image/svg+xml"||I?"image/png":this.editingFile.type,lastModified:new Date().getTime()})).then(()=>{this.closeEditor()}).catch(()=>{this.closeEditor()})})},I?"image/png":this.editingFile.type)},destroyEditor(){this.editor&&typeof this.editor.destroy=="function"&&this.editor.destroy(),this.editor=null}}}var dr={am:_o,ar:wo,az:Lo,ca:Mo,ckb:Ao,cs:Po,da:zo,de:Oo,el:Fo,en:Do,es:Co,fa:Bo,fi:No,fr:ko,he:Vo,hr:Go,hu:Uo,id:Wo,it:Ho,ja:jo,km:Yo,ko:qo,lt:$o,lv:Xo,nb:Ko,nl:Qo,pl:Zo,pt:Jo,pt_BR:er,ro:tr,ru:ir,sk:ar,sv:nr,tr:lr,uk:or,vi:rr,zh_CN:sr,zh_TW:cr};export{wg as default}; +/*! Bundled license information: + +filepond/dist/filepond.esm.js: + (*! + * FilePond 4.32.8 + * Licensed under MIT, https://opensource.org/licenses/MIT/ + * Please visit https://pqina.nl/filepond/ for details. + *) + +cropperjs/dist/cropper.esm.js: + (*! + * Cropper.js v1.6.2 + * https://fengyuanchen.github.io/cropperjs + * + * Copyright 2015-present Chen Fengyuan + * Released under the MIT license + * + * Date: 2024-04-21T07:43:05.335Z + *) + +filepond-plugin-file-validate-size/dist/filepond-plugin-file-validate-size.esm.js: + (*! + * FilePondPluginFileValidateSize 2.2.8 + * Licensed under MIT, https://opensource.org/licenses/MIT/ + * Please visit https://pqina.nl/filepond/ for details. + *) + +filepond-plugin-file-validate-type/dist/filepond-plugin-file-validate-type.esm.js: + (*! + * FilePondPluginFileValidateType 1.2.9 + * Licensed under MIT, https://opensource.org/licenses/MIT/ + * Please visit https://pqina.nl/filepond/ for details. + *) + +filepond-plugin-image-crop/dist/filepond-plugin-image-crop.esm.js: + (*! + * FilePondPluginImageCrop 2.0.6 + * Licensed under MIT, https://opensource.org/licenses/MIT/ + * Please visit https://pqina.nl/filepond/ for details. + *) + +filepond-plugin-image-edit/dist/filepond-plugin-image-edit.esm.js: + (*! + * FilePondPluginImageEdit 1.6.3 + * Licensed under MIT, https://opensource.org/licenses/MIT/ + * Please visit https://pqina.nl/filepond/ for details. + *) + +filepond-plugin-image-exif-orientation/dist/filepond-plugin-image-exif-orientation.esm.js: + (*! + * FilePondPluginImageExifOrientation 1.0.11 + * Licensed under MIT, https://opensource.org/licenses/MIT/ + * Please visit https://pqina.nl/filepond/ for details. + *) + +filepond-plugin-image-preview/dist/filepond-plugin-image-preview.esm.js: + (*! + * FilePondPluginImagePreview 4.6.12 + * Licensed under MIT, https://opensource.org/licenses/MIT/ + * Please visit https://pqina.nl/filepond/ for details. + *) + +filepond-plugin-image-resize/dist/filepond-plugin-image-resize.esm.js: + (*! + * FilePondPluginImageResize 2.0.10 + * Licensed under MIT, https://opensource.org/licenses/MIT/ + * Please visit https://pqina.nl/filepond/ for details. + *) + +filepond-plugin-image-transform/dist/filepond-plugin-image-transform.esm.js: + (*! + * FilePondPluginImageTransform 3.8.7 + * Licensed under MIT, https://opensource.org/licenses/MIT/ + * Please visit https://pqina.nl/filepond/ for details. + *) + +filepond-plugin-media-preview/dist/filepond-plugin-media-preview.esm.js: + (*! + * FilePondPluginMediaPreview 1.0.11 + * Licensed under MIT, https://opensource.org/licenses/MIT/ + * Please visit undefined for details. + *) +*/ diff --git a/public/js/filament/forms/components/key-value.js b/public/js/filament/forms/components/key-value.js new file mode 100644 index 0000000..c608e2e --- /dev/null +++ b/public/js/filament/forms/components/key-value.js @@ -0,0 +1 @@ +function h({state:r}){return{state:r,rows:[],init(){this.updateRows(),this.rows.length<=0?this.rows.push({key:"",value:""}):this.updateState(),this.$watch("state",(e,t)=>{let s=i=>i===null?0:Array.isArray(i)?i.length:typeof i!="object"?0:Object.keys(i).length;s(e)===0&&s(t)===0||this.updateRows()})},addRow(){this.rows.push({key:"",value:""}),this.updateState()},deleteRow(e){this.rows.splice(e,1),this.rows.length<=0&&this.addRow(),this.updateState()},reorderRows(e){let t=Alpine.raw(this.rows);this.rows=[];let s=t.splice(e.oldIndex,1)[0];t.splice(e.newIndex,0,s),this.$nextTick(()=>{this.rows=t,this.updateState()})},updateRows(){let t=Alpine.raw(this.state).map(({key:s,value:i})=>({key:s,value:i}));this.rows.forEach(s=>{(s.key===""||s.key===null)&&t.push({key:"",value:s.value})}),this.rows=t},updateState(){let e=[];this.rows.forEach(t=>{t.key===""||t.key===null||e.push({key:t.key,value:t.value})}),JSON.stringify(this.state)!==JSON.stringify(e)&&(this.state=e)}}}export{h as default}; diff --git a/public/js/filament/forms/components/markdown-editor.js b/public/js/filament/forms/components/markdown-editor.js new file mode 100644 index 0000000..28b82e2 --- /dev/null +++ b/public/js/filament/forms/components/markdown-editor.js @@ -0,0 +1,51 @@ +var ss=Object.defineProperty;var Sd=Object.getOwnPropertyDescriptor;var Td=Object.getOwnPropertyNames;var Ld=Object.prototype.hasOwnProperty;var Cd=(o,p)=>()=>(o&&(p=o(o=0)),p);var Ke=(o,p)=>()=>(p||o((p={exports:{}}).exports,p),p.exports);var Ed=(o,p,v,C)=>{if(p&&typeof p=="object"||typeof p=="function")for(let b of Td(p))!Ld.call(o,b)&&b!==v&&ss(o,b,{get:()=>p[b],enumerable:!(C=Sd(p,b))||C.enumerable});return o};var zd=o=>Ed(ss({},"__esModule",{value:!0}),o);var We=Ke((Yo,Qo)=>{(function(o,p){typeof Yo=="object"&&typeof Qo<"u"?Qo.exports=p():typeof define=="function"&&define.amd?define(p):(o=o||self,o.CodeMirror=p())})(Yo,function(){"use strict";var o=navigator.userAgent,p=navigator.platform,v=/gecko\/\d/i.test(o),C=/MSIE \d/.test(o),b=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(o),S=/Edge\/(\d+)/.exec(o),s=C||b||S,h=s&&(C?document.documentMode||6:+(S||b)[1]),g=!S&&/WebKit\//.test(o),T=g&&/Qt\/\d+\.\d+/.test(o),w=!S&&/Chrome\/(\d+)/.exec(o),c=w&&+w[1],d=/Opera\//.test(o),k=/Apple Computer/.test(navigator.vendor),z=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(o),M=/PhantomJS/.test(o),_=k&&(/Mobile\/\w+/.test(o)||navigator.maxTouchPoints>2),W=/Android/.test(o),E=_||W||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(o),N=_||/Mac/.test(p),G=/\bCrOS\b/.test(o),J=/win/i.test(p),re=d&&o.match(/Version\/(\d*\.\d*)/);re&&(re=Number(re[1])),re&&re>=15&&(d=!1,g=!0);var q=N&&(T||d&&(re==null||re<12.11)),O=v||s&&h>=9;function D(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var Q=function(e,t){var n=e.className,r=D(t).exec(n);if(r){var i=n.slice(r.index+r[0].length);e.className=n.slice(0,r.index)+(i?r[1]+i:"")}};function j(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function V(e,t){return j(e).appendChild(t)}function y(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),typeof t=="string")i.appendChild(document.createTextNode(t));else if(t)for(var a=0;a=t)return l+(t-a);l+=u-a,l+=n-l%n,a=u+1}}var qe=function(){this.id=null,this.f=null,this.time=0,this.handler=Ee(this.onTimeout,this)};qe.prototype.onTimeout=function(e){e.id=0,e.time<=+new Date?e.f():setTimeout(e.handler,e.time-+new Date)},qe.prototype.set=function(e,t){this.f=t;var n=+new Date+e;(!this.id||n=t)return r+Math.min(l,t-i);if(i+=a-r,i+=n-i%n,r=a+1,i>=t)return r}}var U=[""];function Z(e){for(;U.length<=e;)U.push(ce(U)+" ");return U[e]}function ce(e){return e[e.length-1]}function He(e,t){for(var n=[],r=0;r"\x80"&&(e.toUpperCase()!=e.toLowerCase()||Ue.test(e))}function Me(e,t){return t?t.source.indexOf("\\w")>-1&&we(e)?!0:t.test(e):we(e)}function Le(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var $=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function H(e){return e.charCodeAt(0)>=768&&$.test(e)}function se(e,t,n){for(;(n<0?t>0:tn?-1:1;;){if(t==n)return t;var i=(t+n)/2,a=r<0?Math.ceil(i):Math.floor(i);if(a==t)return e(a)?t:n;e(a)?n=a:t=a+r}}function nt(e,t,n,r){if(!e)return r(t,n,"ltr",0);for(var i=!1,a=0;at||t==n&&l.to==t)&&(r(Math.max(l.from,t),Math.min(l.to,n),l.level==1?"rtl":"ltr",a),i=!0)}i||r(t,n,"ltr")}var dt=null;function Pt(e,t,n){var r;dt=null;for(var i=0;it)return i;a.to==t&&(a.from!=a.to&&n=="before"?r=i:dt=i),a.from==t&&(a.from!=a.to&&n!="before"?r=i:dt=i)}return r??dt}var It=function(){var e="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",t="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";function n(m){return m<=247?e.charAt(m):1424<=m&&m<=1524?"R":1536<=m&&m<=1785?t.charAt(m-1536):1774<=m&&m<=2220?"r":8192<=m&&m<=8203?"w":m==8204?"b":"L"}var r=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,i=/[stwN]/,a=/[LRr]/,l=/[Lb1n]/,u=/[1n]/;function f(m,A,B){this.level=m,this.from=A,this.to=B}return function(m,A){var B=A=="ltr"?"L":"R";if(m.length==0||A=="ltr"&&!r.test(m))return!1;for(var ee=m.length,Y=[],ie=0;ie-1&&(r[t]=i.slice(0,a).concat(i.slice(a+1)))}}}function it(e,t){var n=nr(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i0}function Wt(e){e.prototype.on=function(t,n){Fe(this,t,n)},e.prototype.off=function(t,n){_t(this,t,n)}}function kt(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function Rr(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Ct(e){return e.defaultPrevented!=null?e.defaultPrevented:e.returnValue==!1}function dr(e){kt(e),Rr(e)}function yn(e){return e.target||e.srcElement}function Ut(e){var t=e.which;return t==null&&(e.button&1?t=1:e.button&2?t=3:e.button&4&&(t=2)),N&&e.ctrlKey&&t==1&&(t=3),t}var eo=function(){if(s&&h<9)return!1;var e=y("div");return"draggable"in e||"dragDrop"in e}(),Hr;function ei(e){if(Hr==null){var t=y("span","\u200B");V(e,y("span",[t,document.createTextNode("x")])),e.firstChild.offsetHeight!=0&&(Hr=t.offsetWidth<=1&&t.offsetHeight>2&&!(s&&h<8))}var n=Hr?y("span","\u200B"):y("span","\xA0",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}var xn;function pr(e){if(xn!=null)return xn;var t=V(e,document.createTextNode("A\u062EA")),n=X(t,0,1).getBoundingClientRect(),r=X(t,1,2).getBoundingClientRect();return j(e),!n||n.left==n.right?!1:xn=r.right-n.right<3}var Ht=` + +b`.split(/\n/).length!=3?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e.indexOf(` +`,t);i==-1&&(i=e.length);var a=e.slice(t,e.charAt(i-1)=="\r"?i-1:i),l=a.indexOf("\r");l!=-1?(n.push(a.slice(0,l)),t+=l+1):(n.push(a),t=i+1)}return n}:function(e){return e.split(/\r\n?|\n/)},hr=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch{return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch{}return!t||t.parentElement()!=e?!1:t.compareEndPoints("StartToEnd",t)!=0},ti=function(){var e=y("div");return"oncopy"in e?!0:(e.setAttribute("oncopy","return;"),typeof e.oncopy=="function")}(),$t=null;function to(e){if($t!=null)return $t;var t=V(e,y("span","x")),n=t.getBoundingClientRect(),r=X(t,0,1).getBoundingClientRect();return $t=Math.abs(n.left-r.left)>1}var Wr={},Kt={};function Gt(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Wr[e]=t}function Cr(e,t){Kt[e]=t}function Ur(e){if(typeof e=="string"&&Kt.hasOwnProperty(e))e=Kt[e];else if(e&&typeof e.name=="string"&&Kt.hasOwnProperty(e.name)){var t=Kt[e.name];typeof t=="string"&&(t={name:t}),e=oe(t,e),e.name=t.name}else{if(typeof e=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return Ur("application/xml");if(typeof e=="string"&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return Ur("application/json")}return typeof e=="string"?{name:e}:e||{name:"null"}}function $r(e,t){t=Ur(t);var n=Wr[t.name];if(!n)return $r(e,"text/plain");var r=n(e,t);if(gr.hasOwnProperty(t.name)){var i=gr[t.name];for(var a in i)i.hasOwnProperty(a)&&(r.hasOwnProperty(a)&&(r["_"+a]=r[a]),r[a]=i[a])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var l in t.modeProps)r[l]=t.modeProps[l];return r}var gr={};function Kr(e,t){var n=gr.hasOwnProperty(e)?gr[e]:gr[e]={};ge(t,n)}function Vt(e,t){if(t===!0)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function _n(e,t){for(var n;e.innerMode&&(n=e.innerMode(t),!(!n||n.mode==e));)t=n.state,e=n.mode;return n||{mode:e,state:t}}function Gr(e,t,n){return e.startState?e.startState(t,n):!0}var at=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};at.prototype.eol=function(){return this.pos>=this.string.length},at.prototype.sol=function(){return this.pos==this.lineStart},at.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},at.prototype.next=function(){if(this.post},at.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},at.prototype.skipToEnd=function(){this.pos=this.string.length},at.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},at.prototype.backUp=function(e){this.pos-=e},at.prototype.column=function(){return this.lastColumnPos0?null:(a&&t!==!1&&(this.pos+=a[0].length),a)}},at.prototype.current=function(){return this.string.slice(this.start,this.pos)},at.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},at.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},at.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};function Ae(e,t){if(t-=e.first,t<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],a=i.chunkSize();if(t=e.first&&tn?ne(n,Ae(e,n).text.length):Sc(t,Ae(e,t.line).text.length)}function Sc(e,t){var n=e.ch;return n==null||n>t?ne(e.line,t):n<0?ne(e.line,0):e}function ca(e,t){for(var n=[],r=0;rthis.maxLookAhead&&(this.maxLookAhead=e),t},Jt.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},Jt.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},Jt.fromSaved=function(e,t,n){return t instanceof ri?new Jt(e,Vt(e.mode,t.state),n,t.lookAhead):new Jt(e,Vt(e.mode,t),n)},Jt.prototype.save=function(e){var t=e!==!1?Vt(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ri(t,this.maxLookAhead):t};function fa(e,t,n,r){var i=[e.state.modeGen],a={};va(e,t.text,e.doc.mode,n,function(m,A){return i.push(m,A)},a,r);for(var l=n.state,u=function(m){n.baseTokens=i;var A=e.state.overlays[m],B=1,ee=0;n.state=!0,va(e,t.text,A.mode,n,function(Y,ie){for(var ue=B;eeY&&i.splice(B,1,Y,i[B+1],me),B+=2,ee=Math.min(Y,me)}if(ie)if(A.opaque)i.splice(ue,B-ue,Y,"overlay "+ie),B=ue+2;else for(;uee.options.maxHighlightLength&&Vt(e.doc.mode,r.state),a=fa(e,t,r);i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=a.styles,a.classes?t.styleClasses=a.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function wn(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return new Jt(r,!0,t);var a=Tc(e,t,n),l=a>r.first&&Ae(r,a-1).stateAfter,u=l?Jt.fromSaved(r,l,a):new Jt(r,Gr(r.mode),a);return r.iter(a,t,function(f){ro(e,f.text,u);var m=u.line;f.stateAfter=m==t-1||m%5==0||m>=i.viewFrom&&mt.start)return a}throw new Error("Mode "+e.name+" failed to advance stream.")}var ha=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function ga(e,t,n,r){var i=e.doc,a=i.mode,l;t=je(i,t);var u=Ae(i,t.line),f=wn(e,t.line,n),m=new at(u.text,e.options.tabSize,f),A;for(r&&(A=[]);(r||m.pose.options.maxHighlightLength?(u=!1,l&&ro(e,t,r,A.pos),A.pos=t.length,B=null):B=ma(no(n,A,r.state,ee),a),ee){var Y=ee[0].name;Y&&(B="m-"+(B?Y+" "+B:Y))}if(!u||m!=B){for(;fl;--u){if(u<=a.first)return a.first;var f=Ae(a,u-1),m=f.stateAfter;if(m&&(!n||u+(m instanceof ri?m.lookAhead:0)<=a.modeFrontier))return u;var A=Oe(f.text,null,e.options.tabSize);(i==null||r>A)&&(i=u-1,r=A)}return i}function Lc(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontiern;r--){var i=Ae(e,r).stateAfter;if(i&&(!(i instanceof ri)||r+i.lookAhead=t:a.to>t);(r||(r=[])).push(new ni(l,a.from,f?null:a.to))}}return r}function Dc(e,t,n){var r;if(e)for(var i=0;i=t:a.to>t);if(u||a.from==t&&l.type=="bookmark"&&(!n||a.marker.insertLeft)){var f=a.from==null||(l.inclusiveLeft?a.from<=t:a.from0&&u)for(var Ce=0;Ce0)){var A=[f,1],B=ye(m.from,u.from),ee=ye(m.to,u.to);(B<0||!l.inclusiveLeft&&!B)&&A.push({from:m.from,to:u.from}),(ee>0||!l.inclusiveRight&&!ee)&&A.push({from:u.to,to:m.to}),i.splice.apply(i,A),f+=A.length-3}}return i}function xa(e){var t=e.markedSpans;if(t){for(var n=0;nt)&&(!r||oo(r,a.marker)<0)&&(r=a.marker)}return r}function Sa(e,t,n,r,i){var a=Ae(e,t),l=or&&a.markedSpans;if(l)for(var u=0;u=0&&B<=0||A<=0&&B>=0)&&(A<=0&&(f.marker.inclusiveRight&&i.inclusiveLeft?ye(m.to,n)>=0:ye(m.to,n)>0)||A>=0&&(f.marker.inclusiveRight&&i.inclusiveLeft?ye(m.from,r)<=0:ye(m.from,r)<0)))return!0}}}function Zt(e){for(var t;t=wa(e);)e=t.find(-1,!0).line;return e}function Fc(e){for(var t;t=ai(e);)e=t.find(1,!0).line;return e}function Nc(e){for(var t,n;t=ai(e);)e=t.find(1,!0).line,(n||(n=[])).push(e);return n}function ao(e,t){var n=Ae(e,t),r=Zt(n);return n==r?t:x(r)}function Ta(e,t){if(t>e.lastLine())return t;var n=Ae(e,t),r;if(!mr(e,n))return t;for(;r=ai(n);)n=r.find(1,!0).line;return x(n)+1}function mr(e,t){var n=or&&t.markedSpans;if(n){for(var r=void 0,i=0;it.maxLineLength&&(t.maxLineLength=i,t.maxLine=r)})}var Xr=function(e,t,n){this.text=e,_a(this,t),this.height=n?n(this):1};Xr.prototype.lineNo=function(){return x(this)},Wt(Xr);function Oc(e,t,n,r){e.text=t,e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null),e.order!=null&&(e.order=null),xa(e),_a(e,n);var i=r?r(e):1;i!=e.height&&Bt(e,i)}function Pc(e){e.parent=null,xa(e)}var Bc={},jc={};function La(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?jc:Bc;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function Ca(e,t){var n=K("span",null,null,g?"padding-right: .1px":null),r={pre:K("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var a=i?t.rest[i-1]:t.line,l=void 0;r.pos=0,r.addToken=Hc,pr(e.display.measure)&&(l=Pe(a,e.doc.direction))&&(r.addToken=Uc(r.addToken,l)),r.map=[];var u=t!=e.display.externalMeasured&&x(a);$c(a,r,da(e,a,u)),a.styleClasses&&(a.styleClasses.bgClass&&(r.bgClass=xe(a.styleClasses.bgClass,r.bgClass||"")),a.styleClasses.textClass&&(r.textClass=xe(a.styleClasses.textClass,r.textClass||""))),r.map.length==0&&r.map.push(0,0,r.content.appendChild(ei(e.display.measure))),i==0?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(g){var f=r.content.lastChild;(/\bcm-tab\b/.test(f.className)||f.querySelector&&f.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return it(e,"renderLine",e,t.line,r.pre),r.pre.className&&(r.textClass=xe(r.pre.className,r.textClass||"")),r}function Rc(e){var t=y("span","\u2022","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function Hc(e,t,n,r,i,a,l){if(t){var u=e.splitSpaces?Wc(t,e.trailingSpace):t,f=e.cm.state.specialChars,m=!1,A;if(!f.test(t))e.col+=t.length,A=document.createTextNode(u),e.map.push(e.pos,e.pos+t.length,A),s&&h<9&&(m=!0),e.pos+=t.length;else{A=document.createDocumentFragment();for(var B=0;;){f.lastIndex=B;var ee=f.exec(t),Y=ee?ee.index-B:t.length-B;if(Y){var ie=document.createTextNode(u.slice(B,B+Y));s&&h<9?A.appendChild(y("span",[ie])):A.appendChild(ie),e.map.push(e.pos,e.pos+Y,ie),e.col+=Y,e.pos+=Y}if(!ee)break;B+=Y+1;var ue=void 0;if(ee[0]==" "){var me=e.cm.options.tabSize,ve=me-e.col%me;ue=A.appendChild(y("span",Z(ve),"cm-tab")),ue.setAttribute("role","presentation"),ue.setAttribute("cm-text"," "),e.col+=ve}else ee[0]=="\r"||ee[0]==` +`?(ue=A.appendChild(y("span",ee[0]=="\r"?"\u240D":"\u2424","cm-invalidchar")),ue.setAttribute("cm-text",ee[0]),e.col+=1):(ue=e.cm.options.specialCharPlaceholder(ee[0]),ue.setAttribute("cm-text",ee[0]),s&&h<9?A.appendChild(y("span",[ue])):A.appendChild(ue),e.col+=1);e.map.push(e.pos,e.pos+1,ue),e.pos++}}if(e.trailingSpace=u.charCodeAt(t.length-1)==32,n||r||i||m||a||l){var _e=n||"";r&&(_e+=r),i&&(_e+=i);var be=y("span",[A],_e,a);if(l)for(var Ce in l)l.hasOwnProperty(Ce)&&Ce!="style"&&Ce!="class"&&be.setAttribute(Ce,l[Ce]);return e.content.appendChild(be)}e.content.appendChild(A)}}function Wc(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,r="",i=0;im&&B.from<=m));ee++);if(B.to>=A)return e(n,r,i,a,l,u,f);e(n,r.slice(0,B.to-m),i,a,null,u,f),a=null,r=r.slice(B.to-m),m=B.to}}}function Ea(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",n.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function $c(e,t,n){var r=e.markedSpans,i=e.text,a=0;if(!r){for(var l=1;lf||$e.collapsed&&Ie.to==f&&Ie.from==f)){if(Ie.to!=null&&Ie.to!=f&&Y>Ie.to&&(Y=Ie.to,ue=""),$e.className&&(ie+=" "+$e.className),$e.css&&(ee=(ee?ee+";":"")+$e.css),$e.startStyle&&Ie.from==f&&(me+=" "+$e.startStyle),$e.endStyle&&Ie.to==Y&&(Ce||(Ce=[])).push($e.endStyle,Ie.to),$e.title&&((_e||(_e={})).title=$e.title),$e.attributes)for(var Ve in $e.attributes)(_e||(_e={}))[Ve]=$e.attributes[Ve];$e.collapsed&&(!ve||oo(ve.marker,$e)<0)&&(ve=Ie)}else Ie.from>f&&Y>Ie.from&&(Y=Ie.from)}if(Ce)for(var vt=0;vt=u)break;for(var Ot=Math.min(u,Y);;){if(A){var At=f+A.length;if(!ve){var ut=At>Ot?A.slice(0,Ot-f):A;t.addToken(t,ut,B?B+ie:ie,me,f+ut.length==Y?ue:"",ee,_e)}if(At>=Ot){A=A.slice(Ot-f),f=Ot;break}f=At,me=""}A=i.slice(a,a=n[m++]),B=La(n[m++],t.cm.options)}}}function za(e,t,n){this.line=t,this.rest=Nc(t),this.size=this.rest?x(ce(this.rest))-n+1:1,this.node=this.text=null,this.hidden=mr(e,t)}function si(e,t,n){for(var r=[],i,a=t;a2&&a.push((f.bottom+m.top)/2-n.top)}}a.push(n.bottom-n.top)}}function Na(e,t,n){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};if(e.rest){for(var r=0;rn)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}}function rf(e,t){t=Zt(t);var n=x(t),r=e.display.externalMeasured=new za(e.doc,t,n);r.lineN=n;var i=r.built=Ca(e,r);return r.text=i.pre,V(e.display.lineMeasure,i.pre),r}function Oa(e,t,n,r){return tr(e,Qr(e,t),n,r)}function po(e,t){if(t>=e.display.viewFrom&&t=n.lineN&&tt)&&(a=f-u,i=a-1,t>=f&&(l="right")),i!=null){if(r=e[m+2],u==f&&n==(r.insertLeft?"left":"right")&&(l=n),n=="left"&&i==0)for(;m&&e[m-2]==e[m-3]&&e[m-1].insertLeft;)r=e[(m-=3)+2],l="left";if(n=="right"&&i==f-u)for(;m=0&&(n=e[i]).left==n.right;i--);return n}function of(e,t,n,r){var i=Ba(t.map,n,r),a=i.node,l=i.start,u=i.end,f=i.collapse,m;if(a.nodeType==3){for(var A=0;A<4;A++){for(;l&&H(t.line.text.charAt(i.coverStart+l));)--l;for(;i.coverStart+u0&&(f=r="right");var B;e.options.lineWrapping&&(B=a.getClientRects()).length>1?m=B[r=="right"?B.length-1:0]:m=a.getBoundingClientRect()}if(s&&h<9&&!l&&(!m||!m.left&&!m.right)){var ee=a.parentNode.getClientRects()[0];ee?m={left:ee.left,right:ee.left+Jr(e.display),top:ee.top,bottom:ee.bottom}:m=Pa}for(var Y=m.top-t.rect.top,ie=m.bottom-t.rect.top,ue=(Y+ie)/2,me=t.view.measure.heights,ve=0;ve=r.text.length?(f=r.text.length,m="before"):f<=0&&(f=0,m="after"),!u)return l(m=="before"?f-1:f,m=="before");function A(ie,ue,me){var ve=u[ue],_e=ve.level==1;return l(me?ie-1:ie,_e!=me)}var B=Pt(u,f,m),ee=dt,Y=A(f,B,m=="before");return ee!=null&&(Y.other=A(f,ee,m!="before")),Y}function $a(e,t){var n=0;t=je(e.doc,t),e.options.lineWrapping||(n=Jr(e.display)*t.ch);var r=Ae(e.doc,t.line),i=ar(r)+ui(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function go(e,t,n,r,i){var a=ne(e,t,n);return a.xRel=i,r&&(a.outside=r),a}function mo(e,t,n){var r=e.doc;if(n+=e.display.viewOffset,n<0)return go(r.first,0,null,-1,-1);var i=P(r,n),a=r.first+r.size-1;if(i>a)return go(r.first+r.size-1,Ae(r,a).text.length,null,1,1);t<0&&(t=0);for(var l=Ae(r,i);;){var u=lf(e,l,i,t,n),f=Ic(l,u.ch+(u.xRel>0||u.outside>0?1:0));if(!f)return u;var m=f.find(1);if(m.line==i)return m;l=Ae(r,i=m.line)}}function Ka(e,t,n,r){r-=ho(t);var i=t.text.length,a=De(function(l){return tr(e,n,l-1).bottom<=r},i,0);return i=De(function(l){return tr(e,n,l).top>r},a,i),{begin:a,end:i}}function Ga(e,t,n,r){n||(n=Qr(e,t));var i=ci(e,t,tr(e,n,r),"line").top;return Ka(e,t,n,i)}function vo(e,t,n,r){return e.bottom<=n?!1:e.top>n?!0:(r?e.left:e.right)>t}function lf(e,t,n,r,i){i-=ar(t);var a=Qr(e,t),l=ho(t),u=0,f=t.text.length,m=!0,A=Pe(t,e.doc.direction);if(A){var B=(e.options.lineWrapping?uf:sf)(e,t,n,a,A,r,i);m=B.level!=1,u=m?B.from:B.to-1,f=m?B.to:B.from-1}var ee=null,Y=null,ie=De(function(Ne){var Ie=tr(e,a,Ne);return Ie.top+=l,Ie.bottom+=l,vo(Ie,r,i,!1)?(Ie.top<=i&&Ie.left<=r&&(ee=Ne,Y=Ie),!0):!1},u,f),ue,me,ve=!1;if(Y){var _e=r-Y.left=Ce.bottom?1:0}return ie=se(t.text,ie,1),go(n,ie,me,ve,r-ue)}function sf(e,t,n,r,i,a,l){var u=De(function(B){var ee=i[B],Y=ee.level!=1;return vo(Xt(e,ne(n,Y?ee.to:ee.from,Y?"before":"after"),"line",t,r),a,l,!0)},0,i.length-1),f=i[u];if(u>0){var m=f.level!=1,A=Xt(e,ne(n,m?f.from:f.to,m?"after":"before"),"line",t,r);vo(A,a,l,!0)&&A.top>l&&(f=i[u-1])}return f}function uf(e,t,n,r,i,a,l){var u=Ka(e,t,r,l),f=u.begin,m=u.end;/\s/.test(t.text.charAt(m-1))&&m--;for(var A=null,B=null,ee=0;ee=m||Y.to<=f)){var ie=Y.level!=1,ue=tr(e,r,ie?Math.min(m,Y.to)-1:Math.max(f,Y.from)).right,me=ueme)&&(A=Y,B=me)}}return A||(A=i[i.length-1]),A.fromm&&(A={from:A.from,to:m,level:A.level}),A}var zr;function Vr(e){if(e.cachedTextHeight!=null)return e.cachedTextHeight;if(zr==null){zr=y("pre",null,"CodeMirror-line-like");for(var t=0;t<49;++t)zr.appendChild(document.createTextNode("x")),zr.appendChild(y("br"));zr.appendChild(document.createTextNode("x"))}V(e.measure,zr);var n=zr.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),j(e.measure),n||1}function Jr(e){if(e.cachedCharWidth!=null)return e.cachedCharWidth;var t=y("span","xxxxxxxxxx"),n=y("pre",[t],"CodeMirror-line-like");V(e.measure,n);var r=t.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function bo(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,a=t.gutters.firstChild,l=0;a;a=a.nextSibling,++l){var u=e.display.gutterSpecs[l].className;n[u]=a.offsetLeft+a.clientLeft+i,r[u]=a.clientWidth}return{fixedPos:yo(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function yo(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function Za(e){var t=Vr(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/Jr(e.display)-3);return function(i){if(mr(e.doc,i))return 0;var a=0;if(i.widgets)for(var l=0;l0&&(m=Ae(e.doc,f.line).text).length==f.ch){var A=Oe(m,m.length,e.options.tabSize)-m.length;f=ne(f.line,Math.max(0,Math.round((a-Fa(e.display).left)/Jr(e.display))-A))}return f}function Ar(e,t){if(t>=e.display.viewTo||(t-=e.display.viewFrom,t<0))return null;for(var n=e.display.view,r=0;rt)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)or&&ao(e.doc,t)i.viewFrom?br(e):(i.viewFrom+=r,i.viewTo+=r);else if(t<=i.viewFrom&&n>=i.viewTo)br(e);else if(t<=i.viewFrom){var a=di(e,n,n+r,1);a?(i.view=i.view.slice(a.index),i.viewFrom=a.lineN,i.viewTo+=r):br(e)}else if(n>=i.viewTo){var l=di(e,t,t,-1);l?(i.view=i.view.slice(0,l.index),i.viewTo=l.lineN):br(e)}else{var u=di(e,t,t,-1),f=di(e,n,n+r,1);u&&f?(i.view=i.view.slice(0,u.index).concat(si(e,u.lineN,f.lineN)).concat(i.view.slice(f.index)),i.viewTo+=r):br(e)}var m=i.externalMeasured;m&&(n=i.lineN&&t=r.viewTo)){var a=r.view[Ar(e,t)];if(a.node!=null){var l=a.changes||(a.changes=[]);Se(l,n)==-1&&l.push(n)}}}function br(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function di(e,t,n,r){var i=Ar(e,t),a,l=e.display.view;if(!or||n==e.doc.first+e.doc.size)return{index:i,lineN:n};for(var u=e.display.viewFrom,f=0;f0){if(i==l.length-1)return null;a=u+l[i].size-t,i++}else a=u-t;t+=a,n+=a}for(;ao(e.doc,n)!=n;){if(i==(r<0?0:l.length-1))return null;n+=r*l[i-(r<0?1:0)].size,i+=r}return{index:i,lineN:n}}function cf(e,t,n){var r=e.display,i=r.view;i.length==0||t>=r.viewTo||n<=r.viewFrom?(r.view=si(e,t,n),r.viewFrom=t):(r.viewFrom>t?r.view=si(e,t,r.viewFrom).concat(r.view):r.viewFromn&&(r.view=r.view.slice(0,Ar(e,n)))),r.viewTo=n}function Xa(e){for(var t=e.display.view,n=0,r=0;r=e.display.viewTo||f.to().line0?l:e.defaultCharWidth())+"px"}if(r.other){var u=n.appendChild(y("div","\xA0","CodeMirror-cursor CodeMirror-secondarycursor"));u.style.display="",u.style.left=r.other.left+"px",u.style.top=r.other.top+"px",u.style.height=(r.other.bottom-r.other.top)*.85+"px"}}function pi(e,t){return e.top-t.top||e.left-t.left}function ff(e,t,n){var r=e.display,i=e.doc,a=document.createDocumentFragment(),l=Fa(e.display),u=l.left,f=Math.max(r.sizerWidth,Er(e)-r.sizer.offsetLeft)-l.right,m=i.direction=="ltr";function A(be,Ce,Ne,Ie){Ce<0&&(Ce=0),Ce=Math.round(Ce),Ie=Math.round(Ie),a.appendChild(y("div",null,"CodeMirror-selected","position: absolute; left: "+be+`px; + top: `+Ce+"px; width: "+(Ne??f-be)+`px; + height: `+(Ie-Ce)+"px"))}function B(be,Ce,Ne){var Ie=Ae(i,be),$e=Ie.text.length,Ve,vt;function rt(ut,Dt){return fi(e,ne(be,ut),"div",Ie,Dt)}function Ot(ut,Dt,yt){var ft=Ga(e,Ie,null,ut),ct=Dt=="ltr"==(yt=="after")?"left":"right",lt=yt=="after"?ft.begin:ft.end-(/\s/.test(Ie.text.charAt(ft.end-1))?2:1);return rt(lt,ct)[ct]}var At=Pe(Ie,i.direction);return nt(At,Ce||0,Ne??$e,function(ut,Dt,yt,ft){var ct=yt=="ltr",lt=rt(ut,ct?"left":"right"),qt=rt(Dt-1,ct?"right":"left"),pn=Ce==null&&ut==0,Sr=Ne==null&&Dt==$e,St=ft==0,rr=!At||ft==At.length-1;if(qt.top-lt.top<=3){var bt=(m?pn:Sr)&&St,Zo=(m?Sr:pn)&&rr,cr=bt?u:(ct?lt:qt).left,Nr=Zo?f:(ct?qt:lt).right;A(cr,lt.top,Nr-cr,lt.bottom)}else{var Or,Lt,hn,Xo;ct?(Or=m&&pn&&St?u:lt.left,Lt=m?f:Ot(ut,yt,"before"),hn=m?u:Ot(Dt,yt,"after"),Xo=m&&Sr&&rr?f:qt.right):(Or=m?Ot(ut,yt,"before"):u,Lt=!m&&pn&&St?f:lt.right,hn=!m&&Sr&&rr?u:qt.left,Xo=m?Ot(Dt,yt,"after"):f),A(Or,lt.top,Lt-Or,lt.bottom),lt.bottom0?t.blinker=setInterval(function(){e.hasFocus()||en(e),t.cursorDiv.style.visibility=(n=!n)?"":"hidden"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function Qa(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||So(e))}function wo(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&en(e))},100)}function So(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),e.options.readOnly!="nocursor"&&(e.state.focused||(it(e,"focus",e,t),e.state.focused=!0,le(e.display.wrapper,"CodeMirror-focused"),!e.curOp&&e.display.selForContextMenu!=e.doc.sel&&(e.display.input.reset(),g&&setTimeout(function(){return e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),ko(e))}function en(e,t){e.state.delayingBlurEvent||(e.state.focused&&(it(e,"blur",e,t),e.state.focused=!1,Q(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}function hi(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=Math.max(0,t.scroller.getBoundingClientRect().top),i=t.lineDiv.getBoundingClientRect().top,a=0,l=0;l.005||Y<-.005)&&(ie.display.sizerWidth){var ue=Math.ceil(A/Jr(e.display));ue>e.display.maxLineLength&&(e.display.maxLineLength=ue,e.display.maxLine=u.line,e.display.maxLineChanged=!0)}}}Math.abs(a)>2&&(t.scroller.scrollTop+=a)}function Va(e){if(e.widgets)for(var t=0;t=l&&(a=P(t,ar(Ae(t,f))-e.wrapper.clientHeight),l=f)}return{from:a,to:Math.max(l,a+1)}}function df(e,t){if(!ot(e,"scrollCursorIntoView")){var n=e.display,r=n.sizer.getBoundingClientRect(),i=null,a=n.wrapper.ownerDocument;if(t.top+r.top<0?i=!0:t.bottom+r.top>(a.defaultView.innerHeight||a.documentElement.clientHeight)&&(i=!1),i!=null&&!M){var l=y("div","\u200B",null,`position: absolute; + top: `+(t.top-n.viewOffset-ui(e.display))+`px; + height: `+(t.bottom-t.top+er(e)+n.barHeight)+`px; + left: `+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(l),l.scrollIntoView(i),e.display.lineSpace.removeChild(l)}}}function pf(e,t,n,r){r==null&&(r=0);var i;!e.options.lineWrapping&&t==n&&(n=t.sticky=="before"?ne(t.line,t.ch+1,"before"):t,t=t.ch?ne(t.line,t.sticky=="before"?t.ch-1:t.ch,"after"):t);for(var a=0;a<5;a++){var l=!1,u=Xt(e,t),f=!n||n==t?u:Xt(e,n);i={left:Math.min(u.left,f.left),top:Math.min(u.top,f.top)-r,right:Math.max(u.left,f.left),bottom:Math.max(u.bottom,f.bottom)+r};var m=To(e,i),A=e.doc.scrollTop,B=e.doc.scrollLeft;if(m.scrollTop!=null&&(An(e,m.scrollTop),Math.abs(e.doc.scrollTop-A)>1&&(l=!0)),m.scrollLeft!=null&&(Dr(e,m.scrollLeft),Math.abs(e.doc.scrollLeft-B)>1&&(l=!0)),!l)break}return i}function hf(e,t){var n=To(e,t);n.scrollTop!=null&&An(e,n.scrollTop),n.scrollLeft!=null&&Dr(e,n.scrollLeft)}function To(e,t){var n=e.display,r=Vr(e.display);t.top<0&&(t.top=0);var i=e.curOp&&e.curOp.scrollTop!=null?e.curOp.scrollTop:n.scroller.scrollTop,a=fo(e),l={};t.bottom-t.top>a&&(t.bottom=t.top+a);var u=e.doc.height+co(n),f=t.topu-r;if(t.topi+a){var A=Math.min(t.top,(m?u:t.bottom)-a);A!=i&&(l.scrollTop=A)}var B=e.options.fixedGutter?0:n.gutters.offsetWidth,ee=e.curOp&&e.curOp.scrollLeft!=null?e.curOp.scrollLeft:n.scroller.scrollLeft-B,Y=Er(e)-n.gutters.offsetWidth,ie=t.right-t.left>Y;return ie&&(t.right=t.left+Y),t.left<10?l.scrollLeft=0:t.leftY+ee-3&&(l.scrollLeft=t.right+(ie?0:10)-Y),l}function Lo(e,t){t!=null&&(mi(e),e.curOp.scrollTop=(e.curOp.scrollTop==null?e.doc.scrollTop:e.curOp.scrollTop)+t)}function tn(e){mi(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Mn(e,t,n){(t!=null||n!=null)&&mi(e),t!=null&&(e.curOp.scrollLeft=t),n!=null&&(e.curOp.scrollTop=n)}function gf(e,t){mi(e),e.curOp.scrollToPos=t}function mi(e){var t=e.curOp.scrollToPos;if(t){e.curOp.scrollToPos=null;var n=$a(e,t.from),r=$a(e,t.to);Ja(e,n,r,t.margin)}}function Ja(e,t,n,r){var i=To(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-r,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+r});Mn(e,i.scrollLeft,i.scrollTop)}function An(e,t){Math.abs(e.doc.scrollTop-t)<2||(v||Eo(e,{top:t}),el(e,t,!0),v&&Eo(e),In(e,100))}function el(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),!(e.display.scroller.scrollTop==t&&!n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Dr(e,t,n,r){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),!((n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r)&&(e.doc.scrollLeft=t,ol(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Dn(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+co(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+er(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var qr=function(e,t,n){this.cm=n;var r=this.vert=y("div",[y("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=y("div",[y("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");r.tabIndex=i.tabIndex=-1,e(r),e(i),Fe(r,"scroll",function(){r.clientHeight&&t(r.scrollTop,"vertical")}),Fe(i,"scroll",function(){i.clientWidth&&t(i.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,s&&h<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};qr.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?r+"px":"0";var i=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+"px"}else this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?r+"px":"0",this.horiz.style.left=e.barLeft+"px";var a=e.viewWidth-e.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+a)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(r==0&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:t?r:0}},qr.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},qr.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},qr.prototype.zeroWidthHack=function(){var e=N&&!z?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.visibility=this.vert.style.visibility="hidden",this.disableHoriz=new qe,this.disableVert=new qe},qr.prototype.enableZeroWidthBar=function(e,t,n){e.style.visibility="";function r(){var i=e.getBoundingClientRect(),a=n=="vert"?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1);a!=e?e.style.visibility="hidden":t.set(1e3,r)}t.set(1e3,r)},qr.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var qn=function(){};qn.prototype.update=function(){return{bottom:0,right:0}},qn.prototype.setScrollLeft=function(){},qn.prototype.setScrollTop=function(){},qn.prototype.clear=function(){};function rn(e,t){t||(t=Dn(e));var n=e.display.barWidth,r=e.display.barHeight;tl(e,t);for(var i=0;i<4&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&hi(e),tl(e,Dn(e)),n=e.display.barWidth,r=e.display.barHeight}function tl(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+"px",n.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=r.bottom+"px",n.scrollbarFiller.style.width=r.right+"px"):n.scrollbarFiller.style.display="",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=r.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}var rl={native:qr,null:qn};function nl(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&Q(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new rl[e.options.scrollbarStyle](function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),Fe(t,"mousedown",function(){e.state.focused&&setTimeout(function(){return e.display.input.focus()},0)}),t.setAttribute("cm-not-content","true")},function(t,n){n=="horizontal"?Dr(e,t):An(e,t)},e),e.display.scrollbars.addClass&&le(e.display.wrapper,e.display.scrollbars.addClass)}var mf=0;function Ir(e){e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++mf,markArrays:null},Kc(e.curOp)}function Fr(e){var t=e.curOp;t&&Zc(t,function(n){for(var r=0;r=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new vi(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function yf(e){e.updatedDisplay=e.mustUpdate&&Co(e.cm,e.update)}function xf(e){var t=e.cm,n=t.display;e.updatedDisplay&&hi(t),e.barMeasure=Dn(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=Oa(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+er(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-Er(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function _f(e){var t=e.cm;e.adjustWidthTo!=null&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft=e.display.viewTo)){var n=+new Date+e.options.workTime,r=wn(e,t.highlightFrontier),i=[];t.iter(r.line,Math.min(t.first+t.size,e.display.viewTo+500),function(a){if(r.line>=e.display.viewFrom){var l=a.styles,u=a.text.length>e.options.maxHighlightLength?Vt(t.mode,r.state):null,f=fa(e,a,r,!0);u&&(r.state=u),a.styles=f.styles;var m=a.styleClasses,A=f.classes;A?a.styleClasses=A:m&&(a.styleClasses=null);for(var B=!l||l.length!=a.styles.length||m!=A&&(!m||!A||m.bgClass!=A.bgClass||m.textClass!=A.textClass),ee=0;!B&&een)return In(e,e.options.workDelay),!0}),t.highlightFrontier=r.line,t.modeFrontier=Math.max(t.modeFrontier,r.line),i.length&&Nt(e,function(){for(var a=0;a=n.viewFrom&&t.visible.to<=n.viewTo&&(n.updateLineNumbers==null||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&Xa(e)==0)return!1;al(e)&&(br(e),t.dims=bo(e));var i=r.first+r.size,a=Math.max(t.visible.from-e.options.viewportMargin,r.first),l=Math.min(i,t.visible.to+e.options.viewportMargin);n.viewFroml&&n.viewTo-l<20&&(l=Math.min(i,n.viewTo)),or&&(a=ao(e.doc,a),l=Ta(e.doc,l));var u=a!=n.viewFrom||l!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;cf(e,a,l),n.viewOffset=ar(Ae(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var f=Xa(e);if(!u&&f==0&&!t.force&&n.renderedView==n.view&&(n.updateLineNumbers==null||n.updateLineNumbers>=n.viewTo))return!1;var m=Tf(e);return f>4&&(n.lineDiv.style.display="none"),Cf(e,n.updateLineNumbers,t.dims),f>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,Lf(m),j(n.cursorDiv),j(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,u&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,In(e,400)),n.updateLineNumbers=null,!0}function il(e,t){for(var n=t.viewport,r=!0;;r=!1){if(!r||!e.options.lineWrapping||t.oldDisplayWidth==Er(e)){if(n&&n.top!=null&&(n={top:Math.min(e.doc.height+co(e.display)-fo(e),n.top)}),t.visible=gi(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break}else r&&(t.visible=gi(e.display,e.doc,n));if(!Co(e,t))break;hi(e);var i=Dn(e);zn(e),rn(e,i),Mo(e,i),t.force=!1}t.signal(e,"update",e),(e.display.viewFrom!=e.display.reportedViewFrom||e.display.viewTo!=e.display.reportedViewTo)&&(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function Eo(e,t){var n=new vi(e,t);if(Co(e,n)){hi(e),il(e,n);var r=Dn(e);zn(e),rn(e,r),Mo(e,r),n.finish()}}function Cf(e,t,n){var r=e.display,i=e.options.lineNumbers,a=r.lineDiv,l=a.firstChild;function u(ie){var ue=ie.nextSibling;return g&&N&&e.display.currentWheelTarget==ie?ie.style.display="none":ie.parentNode.removeChild(ie),ue}for(var f=r.view,m=r.viewFrom,A=0;A-1&&(Y=!1),Ma(e,B,m,n)),Y&&(j(B.lineNumber),B.lineNumber.appendChild(document.createTextNode(he(e.options,m)))),l=B.node.nextSibling}m+=B.size}for(;l;)l=u(l)}function zo(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px",ht(e,"gutterChanged",e)}function Mo(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+er(e)+"px"}function ol(e){var t=e.display,n=t.view;if(!(!t.alignWidgets&&(!t.gutters.firstChild||!e.options.fixedGutter))){for(var r=yo(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,a=r+"px",l=0;l=105&&(i.wrapper.style.clipPath="inset(0px)"),i.wrapper.setAttribute("translate","no"),s&&h<8&&(i.gutters.style.zIndex=-1,i.scroller.style.paddingRight=0),!g&&!(v&&E)&&(i.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(i.wrapper):e(i.wrapper)),i.viewFrom=i.viewTo=t.first,i.reportedViewFrom=i.reportedViewTo=t.first,i.view=[],i.renderedView=null,i.externalMeasured=null,i.viewOffset=0,i.lastWrapHeight=i.lastWrapWidth=0,i.updateLineNumbers=null,i.nativeBarWidth=i.barHeight=i.barWidth=0,i.scrollbarsClipped=!1,i.lineNumWidth=i.lineNumInnerWidth=i.lineNumChars=null,i.alignWidgets=!1,i.cachedCharWidth=i.cachedTextHeight=i.cachedPaddingH=null,i.maxLine=null,i.maxLineLength=0,i.maxLineChanged=!1,i.wheelDX=i.wheelDY=i.wheelStartX=i.wheelStartY=null,i.shift=!1,i.selForContextMenu=null,i.activeTouch=null,i.gutterSpecs=Ao(r.gutters,r.lineNumbers),ll(i),n.init(i)}var bi=0,sr=null;s?sr=-.53:v?sr=15:w?sr=-.7:k&&(sr=-1/3);function sl(e){var t=e.wheelDeltaX,n=e.wheelDeltaY;return t==null&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail),n==null&&e.detail&&e.axis==e.VERTICAL_AXIS?n=e.detail:n==null&&(n=e.wheelDelta),{x:t,y:n}}function zf(e){var t=sl(e);return t.x*=sr,t.y*=sr,t}function ul(e,t){w&&c==102&&(e.display.chromeScrollHack==null?e.display.sizer.style.pointerEvents="none":clearTimeout(e.display.chromeScrollHack),e.display.chromeScrollHack=setTimeout(function(){e.display.chromeScrollHack=null,e.display.sizer.style.pointerEvents=""},100));var n=sl(t),r=n.x,i=n.y,a=sr;t.deltaMode===0&&(r=t.deltaX,i=t.deltaY,a=1);var l=e.display,u=l.scroller,f=u.scrollWidth>u.clientWidth,m=u.scrollHeight>u.clientHeight;if(r&&f||i&&m){if(i&&N&&g){e:for(var A=t.target,B=l.view;A!=u;A=A.parentNode)for(var ee=0;ee=0&&ye(e,r.to())<=0)return n}return-1};var Ye=function(e,t){this.anchor=e,this.head=t};Ye.prototype.from=function(){return Zr(this.anchor,this.head)},Ye.prototype.to=function(){return Et(this.anchor,this.head)},Ye.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch};function Yt(e,t,n){var r=e&&e.options.selectionsMayTouch,i=t[n];t.sort(function(ee,Y){return ye(ee.from(),Y.from())}),n=Se(t,i);for(var a=1;a0:f>=0){var m=Zr(u.from(),l.from()),A=Et(u.to(),l.to()),B=u.empty()?l.from()==l.head:u.from()==u.head;a<=n&&--n,t.splice(--a,2,new Ye(B?A:m,B?m:A))}}return new jt(t,n)}function yr(e,t){return new jt([new Ye(e,t||e)],0)}function xr(e){return e.text?ne(e.from.line+e.text.length-1,ce(e.text).length+(e.text.length==1?e.from.ch:0)):e.to}function cl(e,t){if(ye(e,t.from)<0)return e;if(ye(e,t.to)<=0)return xr(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=xr(t).ch-t.to.ch),ne(n,r)}function Do(e,t){for(var n=[],r=0;r1&&e.remove(u.line+1,ie-1),e.insert(u.line+1,ve)}ht(e,"change",e,t)}function _r(e,t,n){function r(i,a,l){if(i.linked)for(var u=0;u1&&!e.done[e.done.length-2].ranges)return e.done.pop(),ce(e.done)}function ml(e,t,n,r){var i=e.history;i.undone.length=0;var a=+new Date,l,u;if((i.lastOp==r||i.lastOrigin==t.origin&&t.origin&&(t.origin.charAt(0)=="+"&&i.lastModTime>a-(e.cm?e.cm.options.historyEventDelay:500)||t.origin.charAt(0)=="*"))&&(l=Df(i,i.lastOp==r)))u=ce(l.changes),ye(t.from,t.to)==0&&ye(t.from,u.to)==0?u.to=xr(t):l.changes.push(Fo(e,t));else{var f=ce(i.done);for((!f||!f.ranges)&&xi(e.sel,i.done),l={changes:[Fo(e,t)],generation:i.generation},i.done.push(l);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=a,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,u||it(e,"historyAdded")}function qf(e,t,n,r){var i=t.charAt(0);return i=="*"||i=="+"&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}function If(e,t,n,r){var i=e.history,a=r&&r.origin;n==i.lastSelOp||a&&i.lastSelOrigin==a&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==a||qf(e,a,ce(i.done),t))?i.done[i.done.length-1]=t:xi(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=a,i.lastSelOp=n,r&&r.clearRedo!==!1&&gl(i.undone)}function xi(e,t){var n=ce(t);n&&n.ranges&&n.equals(e)||t.push(e)}function vl(e,t,n,r){var i=t["spans_"+e.id],a=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,r),function(l){l.markedSpans&&((i||(i=t["spans_"+e.id]={}))[a]=l.markedSpans),++a})}function Ff(e){if(!e)return null;for(var t,n=0;n-1&&(ce(u)[B]=m[B],delete m[B])}}return r}function No(e,t,n,r){if(r){var i=e.anchor;if(n){var a=ye(t,i)<0;a!=ye(n,i)<0?(i=t,t=n):a!=ye(t,n)<0&&(t=n)}return new Ye(i,t)}else return new Ye(n||t,t)}function _i(e,t,n,r,i){i==null&&(i=e.cm&&(e.cm.display.shift||e.extend)),wt(e,new jt([No(e.sel.primary(),t,n,i)],0),r)}function yl(e,t,n){for(var r=[],i=e.cm&&(e.cm.display.shift||e.extend),a=0;a=t.ch:u.to>t.ch))){if(i&&(it(f,"beforeCursorEnter"),f.explicitlyCleared))if(a.markedSpans){--l;continue}else break;if(!f.atomic)continue;if(n){var B=f.find(r<0?1:-1),ee=void 0;if((r<0?A:m)&&(B=Tl(e,B,-r,B&&B.line==t.line?a:null)),B&&B.line==t.line&&(ee=ye(B,n))&&(r<0?ee<0:ee>0))return on(e,B,t,r,i)}var Y=f.find(r<0?-1:1);return(r<0?m:A)&&(Y=Tl(e,Y,r,Y.line==t.line?a:null)),Y?on(e,Y,t,r,i):null}}return t}function wi(e,t,n,r,i){var a=r||1,l=on(e,t,n,a,i)||!i&&on(e,t,n,a,!0)||on(e,t,n,-a,i)||!i&&on(e,t,n,-a,!0);return l||(e.cantEdit=!0,ne(e.first,0))}function Tl(e,t,n,r){return n<0&&t.ch==0?t.line>e.first?je(e,ne(t.line-1)):null:n>0&&t.ch==(r||Ae(e,t.line)).text.length?t.line=0;--i)El(e,{from:r[i].from,to:r[i].to,text:i?[""]:t.text,origin:t.origin});else El(e,t)}}function El(e,t){if(!(t.text.length==1&&t.text[0]==""&&ye(t.from,t.to)==0)){var n=Do(e,t);ml(e,t,n,e.cm?e.cm.curOp.id:NaN),On(e,t,n,io(e,t));var r=[];_r(e,function(i,a){!a&&Se(r,i.history)==-1&&(Dl(i.history,t),r.push(i.history)),On(i,t,null,io(i,t))})}}function Si(e,t,n){var r=e.cm&&e.cm.state.suppressEdits;if(!(r&&!n)){for(var i=e.history,a,l=e.sel,u=t=="undo"?i.done:i.undone,f=t=="undo"?i.undone:i.done,m=0;m=0;--Y){var ie=ee(Y);if(ie)return ie.v}}}}function zl(e,t){if(t!=0&&(e.first+=t,e.sel=new jt(He(e.sel.ranges,function(i){return new Ye(ne(i.anchor.line+t,i.anchor.ch),ne(i.head.line+t,i.head.ch))}),e.sel.primIndex),e.cm)){zt(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;re.lastLine())){if(t.from.linea&&(t={from:t.from,to:ne(a,Ae(e,a).text.length),text:[t.text[0]],origin:t.origin}),t.removed=ir(e,t.from,t.to),n||(n=Do(e,t)),e.cm?Pf(e.cm,t,r):Io(e,t,r),ki(e,n,ke),e.cantEdit&&wi(e,ne(e.firstLine(),0))&&(e.cantEdit=!1)}}function Pf(e,t,n){var r=e.doc,i=e.display,a=t.from,l=t.to,u=!1,f=a.line;e.options.lineWrapping||(f=x(Zt(Ae(r,a.line))),r.iter(f,l.line+1,function(Y){if(Y==i.maxLine)return u=!0,!0})),r.sel.contains(t.from,t.to)>-1&&Rt(e),Io(r,t,n,Za(e)),e.options.lineWrapping||(r.iter(f,a.line+t.text.length,function(Y){var ie=li(Y);ie>i.maxLineLength&&(i.maxLine=Y,i.maxLineLength=ie,i.maxLineChanged=!0,u=!1)}),u&&(e.curOp.updateMaxLine=!0)),Lc(r,a.line),In(e,400);var m=t.text.length-(l.line-a.line)-1;t.full?zt(e):a.line==l.line&&t.text.length==1&&!dl(e.doc,t)?vr(e,a.line,"text"):zt(e,a.line,l.line+1,m);var A=Ft(e,"changes"),B=Ft(e,"change");if(B||A){var ee={from:a,to:l,text:t.text,removed:t.removed,origin:t.origin};B&&ht(e,"change",e,ee),A&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(ee)}e.display.selForContextMenu=null}function ln(e,t,n,r,i){var a;r||(r=n),ye(r,n)<0&&(a=[r,n],n=a[0],r=a[1]),typeof t=="string"&&(t=e.splitLines(t)),an(e,{from:n,to:r,text:t,origin:i})}function Ml(e,t,n,r){n1||!(this.children[0]instanceof Bn))){var u=[];this.collapse(u),this.children=[new Bn(u)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t50){for(var l=i.lines.length%25+25,u=l;u10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;re.display.maxLineLength&&(e.display.maxLine=m,e.display.maxLineLength=A,e.display.maxLineChanged=!0)}r!=null&&e&&this.collapsed&&zt(e,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&wl(e.doc)),e&&ht(e,"markerCleared",e,this,r,i),t&&Fr(e),this.parent&&this.parent.clear()}},kr.prototype.find=function(e,t){e==null&&this.type=="bookmark"&&(e=1);for(var n,r,i=0;i0||l==0&&a.clearWhenEmpty!==!1)return a;if(a.replacedWith&&(a.collapsed=!0,a.widgetNode=K("span",[a.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||a.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(a.widgetNode.insertLeft=!0)),a.collapsed){if(Sa(e,t.line,t,n,a)||t.line!=n.line&&Sa(e,n.line,t,n,a))throw new Error("Inserting collapsed marker partially overlapping an existing one");Ec()}a.addToHistory&&ml(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var u=t.line,f=e.cm,m;if(e.iter(u,n.line+1,function(B){f&&a.collapsed&&!f.options.lineWrapping&&Zt(B)==f.display.maxLine&&(m=!0),a.collapsed&&u!=t.line&&Bt(B,0),Mc(B,new ni(a,u==t.line?t.ch:null,u==n.line?n.ch:null),e.cm&&e.cm.curOp),++u}),a.collapsed&&e.iter(t.line,n.line+1,function(B){mr(e,B)&&Bt(B,0)}),a.clearOnEnter&&Fe(a,"beforeCursorEnter",function(){return a.clear()}),a.readOnly&&(Cc(),(e.history.done.length||e.history.undone.length)&&e.clearHistory()),a.collapsed&&(a.id=++Il,a.atomic=!0),f){if(m&&(f.curOp.updateMaxLine=!0),a.collapsed)zt(f,t.line,n.line+1);else if(a.className||a.startStyle||a.endStyle||a.css||a.attributes||a.title)for(var A=t.line;A<=n.line;A++)vr(f,A,"text");a.atomic&&wl(f.doc),ht(f,"markerAdded",f,a)}return a}var Hn=function(e,t){this.markers=e,this.primary=t;for(var n=0;n=0;f--)an(this,r[f]);u?_l(this,u):this.cm&&tn(this.cm)}),undo:mt(function(){Si(this,"undo")}),redo:mt(function(){Si(this,"redo")}),undoSelection:mt(function(){Si(this,"undo",!0)}),redoSelection:mt(function(){Si(this,"redo",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,n){e=je(this,e),t=je(this,t);var r=[],i=e.line;return this.iter(e.line,t.line+1,function(a){var l=a.markedSpans;if(l)for(var u=0;u=f.to||f.from==null&&i!=e.line||f.from!=null&&i==t.line&&f.from>=t.ch)&&(!n||n(f.marker))&&r.push(f.marker.parent||f.marker)}++i}),r},getAllMarks:function(){var e=[];return this.iter(function(t){var n=t.markedSpans;if(n)for(var r=0;re)return t=e,!0;e-=a,++n}),je(this,ne(n,t))},indexFromPos:function(e){e=je(this,e);var t=e.ch;if(e.linet&&(t=e.from),e.to!=null&&e.to-1){t.state.draggingText(e),setTimeout(function(){return t.display.input.focus()},20);return}try{var A=e.dataTransfer.getData("Text");if(A){var B;if(t.state.draggingText&&!t.state.draggingText.copy&&(B=t.listSelections()),ki(t.doc,yr(n,n)),B)for(var ee=0;ee=0;u--)ln(e.doc,"",r[u].from,r[u].to,"+delete");tn(e)})}function Po(e,t,n){var r=se(e.text,t+n,n);return r<0||r>e.text.length?null:r}function Bo(e,t,n){var r=Po(e,t.ch,n);return r==null?null:new ne(t.line,r,n<0?"after":"before")}function jo(e,t,n,r,i){if(e){t.doc.direction=="rtl"&&(i=-i);var a=Pe(n,t.doc.direction);if(a){var l=i<0?ce(a):a[0],u=i<0==(l.level==1),f=u?"after":"before",m;if(l.level>0||t.doc.direction=="rtl"){var A=Qr(t,n);m=i<0?n.text.length-1:0;var B=tr(t,A,m).top;m=De(function(ee){return tr(t,A,ee).top==B},i<0==(l.level==1)?l.from:l.to-1,m),f=="before"&&(m=Po(n,m,1))}else m=i<0?l.to:l.from;return new ne(r,m,f)}}return new ne(r,i<0?n.text.length:0,i<0?"before":"after")}function Vf(e,t,n,r){var i=Pe(t,e.doc.direction);if(!i)return Bo(t,n,r);n.ch>=t.text.length?(n.ch=t.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var a=Pt(i,n.ch,n.sticky),l=i[a];if(e.doc.direction=="ltr"&&l.level%2==0&&(r>0?l.to>n.ch:l.from=l.from&&ee>=A.begin)){var Y=B?"before":"after";return new ne(n.line,ee,Y)}}var ie=function(ve,_e,be){for(var Ce=function(Ve,vt){return vt?new ne(n.line,u(Ve,1),"before"):new ne(n.line,Ve,"after")};ve>=0&&ve0==(Ne.level!=1),$e=Ie?be.begin:u(be.end,-1);if(Ne.from<=$e&&$e0?A.end:u(A.begin,-1);return me!=null&&!(r>0&&me==t.text.length)&&(ue=ie(r>0?0:i.length-1,r,m(me)),ue)?ue:null}var $n={selectAll:Ll,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),ke)},killLine:function(e){return cn(e,function(t){if(t.empty()){var n=Ae(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line0)i=new ne(i.line,i.ch+1),e.replaceRange(a.charAt(i.ch-1)+a.charAt(i.ch-2),ne(i.line,i.ch-2),i,"+transpose");else if(i.line>e.doc.first){var l=Ae(e.doc,i.line-1).text;l&&(i=new ne(i.line,1),e.replaceRange(a.charAt(0)+e.doc.lineSeparator()+l.charAt(l.length-1),ne(i.line-1,l.length-1),i,"+transpose"))}}n.push(new Ye(i,i))}e.setSelections(n)})},newlineAndIndent:function(e){return Nt(e,function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,"+input");t=e.listSelections();for(var r=0;re&&ye(t,this.pos)==0&&n==this.button};var Gn,Zn;function od(e,t){var n=+new Date;return Zn&&Zn.compare(n,e,t)?(Gn=Zn=null,"triple"):Gn&&Gn.compare(n,e,t)?(Zn=new Ho(n,e,t),Gn=null,"double"):(Gn=new Ho(n,e,t),Zn=null,"single")}function Yl(e){var t=this,n=t.display;if(!(ot(t,e)||n.activeTouch&&n.input.supportsTouch())){if(n.input.ensurePolled(),n.shift=e.shiftKey,lr(n,e)){g||(n.scroller.draggable=!1,setTimeout(function(){return n.scroller.draggable=!0},100));return}if(!Wo(t,e)){var r=Mr(t,e),i=Ut(e),a=r?od(r,i):"single";pe(t).focus(),i==1&&t.state.selectingText&&t.state.selectingText(e),!(r&&ad(t,i,r,a,e))&&(i==1?r?sd(t,r,a,e):yn(e)==n.scroller&&kt(e):i==2?(r&&_i(t.doc,r),setTimeout(function(){return n.input.focus()},20)):i==3&&(O?t.display.input.onContextMenu(e):wo(t)))}}}function ad(e,t,n,r,i){var a="Click";return r=="double"?a="Double"+a:r=="triple"&&(a="Triple"+a),a=(t==1?"Left":t==2?"Middle":"Right")+a,Kn(e,Rl(a,i),i,function(l){if(typeof l=="string"&&(l=$n[l]),!l)return!1;var u=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),u=l(e,n)!=Ze}finally{e.state.suppressEdits=!1}return u})}function ld(e,t,n){var r=e.getOption("configureMouse"),i=r?r(e,t,n):{};if(i.unit==null){var a=G?n.shiftKey&&n.metaKey:n.altKey;i.unit=a?"rectangle":t=="single"?"char":t=="double"?"word":"line"}return(i.extend==null||e.doc.extend)&&(i.extend=e.doc.extend||n.shiftKey),i.addNew==null&&(i.addNew=N?n.metaKey:n.ctrlKey),i.moveOnDrag==null&&(i.moveOnDrag=!(N?n.altKey:n.ctrlKey)),i}function sd(e,t,n,r){s?setTimeout(Ee(Qa,e),0):e.curOp.focus=R(de(e));var i=ld(e,n,r),a=e.doc.sel,l;e.options.dragDrop&&eo&&!e.isReadOnly()&&n=="single"&&(l=a.contains(t))>-1&&(ye((l=a.ranges[l]).from(),t)<0||t.xRel>0)&&(ye(l.to(),t)>0||t.xRel<0)?ud(e,r,t,i):cd(e,r,t,i)}function ud(e,t,n,r){var i=e.display,a=!1,l=gt(e,function(m){g&&(i.scroller.draggable=!1),e.state.draggingText=!1,e.state.delayingBlurEvent&&(e.hasFocus()?e.state.delayingBlurEvent=!1:wo(e)),_t(i.wrapper.ownerDocument,"mouseup",l),_t(i.wrapper.ownerDocument,"mousemove",u),_t(i.scroller,"dragstart",f),_t(i.scroller,"drop",l),a||(kt(m),r.addNew||_i(e.doc,n,null,null,r.extend),g&&!k||s&&h==9?setTimeout(function(){i.wrapper.ownerDocument.body.focus({preventScroll:!0}),i.input.focus()},20):i.input.focus())}),u=function(m){a=a||Math.abs(t.clientX-m.clientX)+Math.abs(t.clientY-m.clientY)>=10},f=function(){return a=!0};g&&(i.scroller.draggable=!0),e.state.draggingText=l,l.copy=!r.moveOnDrag,Fe(i.wrapper.ownerDocument,"mouseup",l),Fe(i.wrapper.ownerDocument,"mousemove",u),Fe(i.scroller,"dragstart",f),Fe(i.scroller,"drop",l),e.state.delayingBlurEvent=!0,setTimeout(function(){return i.input.focus()},20),i.scroller.dragDrop&&i.scroller.dragDrop()}function Ql(e,t,n){if(n=="char")return new Ye(t,t);if(n=="word")return e.findWordAt(t);if(n=="line")return new Ye(ne(t.line,0),je(e.doc,ne(t.line+1,0)));var r=n(e,t);return new Ye(r.from,r.to)}function cd(e,t,n,r){s&&wo(e);var i=e.display,a=e.doc;kt(t);var l,u,f=a.sel,m=f.ranges;if(r.addNew&&!r.extend?(u=a.sel.contains(n),u>-1?l=m[u]:l=new Ye(n,n)):(l=a.sel.primary(),u=a.sel.primIndex),r.unit=="rectangle")r.addNew||(l=new Ye(n,n)),n=Mr(e,t,!0,!0),u=-1;else{var A=Ql(e,n,r.unit);r.extend?l=No(l,A.anchor,A.head,r.extend):l=A}r.addNew?u==-1?(u=m.length,wt(a,Yt(e,m.concat([l]),u),{scroll:!1,origin:"*mouse"})):m.length>1&&m[u].empty()&&r.unit=="char"&&!r.extend?(wt(a,Yt(e,m.slice(0,u).concat(m.slice(u+1)),0),{scroll:!1,origin:"*mouse"}),f=a.sel):Oo(a,u,l,Je):(u=0,wt(a,new jt([l],0),Je),f=a.sel);var B=n;function ee(be){if(ye(B,be)!=0)if(B=be,r.unit=="rectangle"){for(var Ce=[],Ne=e.options.tabSize,Ie=Oe(Ae(a,n.line).text,n.ch,Ne),$e=Oe(Ae(a,be.line).text,be.ch,Ne),Ve=Math.min(Ie,$e),vt=Math.max(Ie,$e),rt=Math.min(n.line,be.line),Ot=Math.min(e.lastLine(),Math.max(n.line,be.line));rt<=Ot;rt++){var At=Ae(a,rt).text,ut=Ge(At,Ve,Ne);Ve==vt?Ce.push(new Ye(ne(rt,ut),ne(rt,ut))):At.length>ut&&Ce.push(new Ye(ne(rt,ut),ne(rt,Ge(At,vt,Ne))))}Ce.length||Ce.push(new Ye(n,n)),wt(a,Yt(e,f.ranges.slice(0,u).concat(Ce),u),{origin:"*mouse",scroll:!1}),e.scrollIntoView(be)}else{var Dt=l,yt=Ql(e,be,r.unit),ft=Dt.anchor,ct;ye(yt.anchor,ft)>0?(ct=yt.head,ft=Zr(Dt.from(),yt.anchor)):(ct=yt.anchor,ft=Et(Dt.to(),yt.head));var lt=f.ranges.slice(0);lt[u]=fd(e,new Ye(je(a,ft),ct)),wt(a,Yt(e,lt,u),Je)}}var Y=i.wrapper.getBoundingClientRect(),ie=0;function ue(be){var Ce=++ie,Ne=Mr(e,be,!0,r.unit=="rectangle");if(Ne)if(ye(Ne,B)!=0){e.curOp.focus=R(de(e)),ee(Ne);var Ie=gi(i,a);(Ne.line>=Ie.to||Ne.lineY.bottom?20:0;$e&&setTimeout(gt(e,function(){ie==Ce&&(i.scroller.scrollTop+=$e,ue(be))}),50)}}function me(be){e.state.selectingText=!1,ie=1/0,be&&(kt(be),i.input.focus()),_t(i.wrapper.ownerDocument,"mousemove",ve),_t(i.wrapper.ownerDocument,"mouseup",_e),a.history.lastSelOrigin=null}var ve=gt(e,function(be){be.buttons===0||!Ut(be)?me(be):ue(be)}),_e=gt(e,me);e.state.selectingText=_e,Fe(i.wrapper.ownerDocument,"mousemove",ve),Fe(i.wrapper.ownerDocument,"mouseup",_e)}function fd(e,t){var n=t.anchor,r=t.head,i=Ae(e.doc,n.line);if(ye(n,r)==0&&n.sticky==r.sticky)return t;var a=Pe(i);if(!a)return t;var l=Pt(a,n.ch,n.sticky),u=a[l];if(u.from!=n.ch&&u.to!=n.ch)return t;var f=l+(u.from==n.ch==(u.level!=1)?0:1);if(f==0||f==a.length)return t;var m;if(r.line!=n.line)m=(r.line-n.line)*(e.doc.direction=="ltr"?1:-1)>0;else{var A=Pt(a,r.ch,r.sticky),B=A-l||(r.ch-n.ch)*(u.level==1?-1:1);A==f-1||A==f?m=B<0:m=B>0}var ee=a[f+(m?-1:0)],Y=m==(ee.level==1),ie=Y?ee.from:ee.to,ue=Y?"after":"before";return n.ch==ie&&n.sticky==ue?t:new Ye(new ne(n.line,ie,ue),r)}function Vl(e,t,n,r){var i,a;if(t.touches)i=t.touches[0].clientX,a=t.touches[0].clientY;else try{i=t.clientX,a=t.clientY}catch{return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&kt(t);var l=e.display,u=l.lineDiv.getBoundingClientRect();if(a>u.bottom||!Ft(e,n))return Ct(t);a-=u.top-l.viewOffset;for(var f=0;f=i){var A=P(e.doc,a),B=e.display.gutterSpecs[f];return it(e,n,e,A,B.className,t),Ct(t)}}}function Wo(e,t){return Vl(e,t,"gutterClick",!0)}function Jl(e,t){lr(e.display,t)||dd(e,t)||ot(e,t,"contextmenu")||O||e.display.input.onContextMenu(t)}function dd(e,t){return Ft(e,"gutterContextMenu")?Vl(e,t,"gutterContextMenu",!1):!1}function es(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),En(e)}var fn={toString:function(){return"CodeMirror.Init"}},ts={},Ei={};function pd(e){var t=e.optionHandlers;function n(r,i,a,l){e.defaults[r]=i,a&&(t[r]=l?function(u,f,m){m!=fn&&a(u,f,m)}:a)}e.defineOption=n,e.Init=fn,n("value","",function(r,i){return r.setValue(i)},!0),n("mode",null,function(r,i){r.doc.modeOption=i,qo(r)},!0),n("indentUnit",2,qo,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,function(r){Nn(r),En(r),zt(r)},!0),n("lineSeparator",null,function(r,i){if(r.doc.lineSep=i,!!i){var a=[],l=r.doc.first;r.doc.iter(function(f){for(var m=0;;){var A=f.text.indexOf(i,m);if(A==-1)break;m=A+i.length,a.push(ne(l,A))}l++});for(var u=a.length-1;u>=0;u--)ln(r.doc,i,a[u],ne(a[u].line,a[u].ch+i.length))}}),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\u202d\u202e\u2066\u2067\u2069\ufeff\ufff9-\ufffc]/g,function(r,i,a){r.state.specialChars=new RegExp(i.source+(i.test(" ")?"":"| "),"g"),a!=fn&&r.refresh()}),n("specialCharPlaceholder",Rc,function(r){return r.refresh()},!0),n("electricChars",!0),n("inputStyle",E?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),n("spellcheck",!1,function(r,i){return r.getInputField().spellcheck=i},!0),n("autocorrect",!1,function(r,i){return r.getInputField().autocorrect=i},!0),n("autocapitalize",!1,function(r,i){return r.getInputField().autocapitalize=i},!0),n("rtlMoveVisually",!J),n("wholeLineUpdateBefore",!0),n("theme","default",function(r){es(r),Fn(r)},!0),n("keyMap","default",function(r,i,a){var l=Li(i),u=a!=fn&&Li(a);u&&u.detach&&u.detach(r,l),l.attach&&l.attach(r,u||null)}),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,gd,!0),n("gutters",[],function(r,i){r.display.gutterSpecs=Ao(i,r.options.lineNumbers),Fn(r)},!0),n("fixedGutter",!0,function(r,i){r.display.gutters.style.left=i?yo(r.display)+"px":"0",r.refresh()},!0),n("coverGutterNextToScrollbar",!1,function(r){return rn(r)},!0),n("scrollbarStyle","native",function(r){nl(r),rn(r),r.display.scrollbars.setScrollTop(r.doc.scrollTop),r.display.scrollbars.setScrollLeft(r.doc.scrollLeft)},!0),n("lineNumbers",!1,function(r,i){r.display.gutterSpecs=Ao(r.options.gutters,i),Fn(r)},!0),n("firstLineNumber",1,Fn,!0),n("lineNumberFormatter",function(r){return r},Fn,!0),n("showCursorWhenSelecting",!1,zn,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,function(r,i){i=="nocursor"&&(en(r),r.display.input.blur()),r.display.input.readOnlyChanged(i)}),n("screenReaderLabel",null,function(r,i){i=i===""?null:i,r.display.input.screenReaderLabelChanged(i)}),n("disableInput",!1,function(r,i){i||r.display.input.reset()},!0),n("dragDrop",!0,hd),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,zn,!0),n("singleCursorHeightPerLine",!0,zn,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,Nn,!0),n("addModeClass",!1,Nn,!0),n("pollInterval",100),n("undoDepth",200,function(r,i){return r.doc.history.undoDepth=i}),n("historyEventDelay",1250),n("viewportMargin",10,function(r){return r.refresh()},!0),n("maxHighlightLength",1e4,Nn,!0),n("moveInputWithCursor",!0,function(r,i){i||r.display.input.resetPosition()}),n("tabindex",null,function(r,i){return r.display.input.getField().tabIndex=i||""}),n("autofocus",null),n("direction","ltr",function(r,i){return r.doc.setDirection(i)},!0),n("phrases",null)}function hd(e,t,n){var r=n&&n!=fn;if(!t!=!r){var i=e.display.dragFunctions,a=t?Fe:_t;a(e.display.scroller,"dragstart",i.start),a(e.display.scroller,"dragenter",i.enter),a(e.display.scroller,"dragover",i.over),a(e.display.scroller,"dragleave",i.leave),a(e.display.scroller,"drop",i.drop)}}function gd(e){e.options.lineWrapping?(le(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(Q(e.display.wrapper,"CodeMirror-wrap"),so(e)),xo(e),zt(e),En(e),setTimeout(function(){return rn(e)},100)}function tt(e,t){var n=this;if(!(this instanceof tt))return new tt(e,t);this.options=t=t?ge(t):{},ge(ts,t,!1);var r=t.value;typeof r=="string"?r=new Mt(r,t.mode,null,t.lineSeparator,t.direction):t.mode&&(r.modeOption=t.mode),this.doc=r;var i=new tt.inputStyles[t.inputStyle](this),a=this.display=new Ef(e,r,i,t);a.wrapper.CodeMirror=this,es(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),nl(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new qe,keySeq:null,specialChars:null},t.autofocus&&!E&&a.input.focus(),s&&h<11&&setTimeout(function(){return n.display.input.reset(!0)},20),md(this),Gf(),Ir(this),this.curOp.forceUpdate=!0,pl(this,r),t.autofocus&&!E||this.hasFocus()?setTimeout(function(){n.hasFocus()&&!n.state.focused&&So(n)},20):en(this);for(var l in Ei)Ei.hasOwnProperty(l)&&Ei[l](this,t[l],fn);al(this),t.finishInit&&t.finishInit(this);for(var u=0;u20*20}Fe(t.scroller,"touchstart",function(f){if(!ot(e,f)&&!a(f)&&!Wo(e,f)){t.input.ensurePolled(),clearTimeout(n);var m=+new Date;t.activeTouch={start:m,moved:!1,prev:m-r.end<=300?r:null},f.touches.length==1&&(t.activeTouch.left=f.touches[0].pageX,t.activeTouch.top=f.touches[0].pageY)}}),Fe(t.scroller,"touchmove",function(){t.activeTouch&&(t.activeTouch.moved=!0)}),Fe(t.scroller,"touchend",function(f){var m=t.activeTouch;if(m&&!lr(t,f)&&m.left!=null&&!m.moved&&new Date-m.start<300){var A=e.coordsChar(t.activeTouch,"page"),B;!m.prev||l(m,m.prev)?B=new Ye(A,A):!m.prev.prev||l(m,m.prev.prev)?B=e.findWordAt(A):B=new Ye(ne(A.line,0),je(e.doc,ne(A.line+1,0))),e.setSelection(B.anchor,B.head),e.focus(),kt(f)}i()}),Fe(t.scroller,"touchcancel",i),Fe(t.scroller,"scroll",function(){t.scroller.clientHeight&&(An(e,t.scroller.scrollTop),Dr(e,t.scroller.scrollLeft,!0),it(e,"scroll",e))}),Fe(t.scroller,"mousewheel",function(f){return ul(e,f)}),Fe(t.scroller,"DOMMouseScroll",function(f){return ul(e,f)}),Fe(t.wrapper,"scroll",function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0}),t.dragFunctions={enter:function(f){ot(e,f)||dr(f)},over:function(f){ot(e,f)||(Kf(e,f),dr(f))},start:function(f){return $f(e,f)},drop:gt(e,Uf),leave:function(f){ot(e,f)||Ol(e)}};var u=t.input.getField();Fe(u,"keyup",function(f){return Zl.call(e,f)}),Fe(u,"keydown",gt(e,Gl)),Fe(u,"keypress",gt(e,Xl)),Fe(u,"focus",function(f){return So(e,f)}),Fe(u,"blur",function(f){return en(e,f)})}var Uo=[];tt.defineInitHook=function(e){return Uo.push(e)};function Xn(e,t,n,r){var i=e.doc,a;n==null&&(n="add"),n=="smart"&&(i.mode.indent?a=wn(e,t).state:n="prev");var l=e.options.tabSize,u=Ae(i,t),f=Oe(u.text,null,l);u.stateAfter&&(u.stateAfter=null);var m=u.text.match(/^\s*/)[0],A;if(!r&&!/\S/.test(u.text))A=0,n="not";else if(n=="smart"&&(A=i.mode.indent(a,u.text.slice(m.length),u.text),A==Ze||A>150)){if(!r)return;n="prev"}n=="prev"?t>i.first?A=Oe(Ae(i,t-1).text,null,l):A=0:n=="add"?A=f+e.options.indentUnit:n=="subtract"?A=f-e.options.indentUnit:typeof n=="number"&&(A=f+n),A=Math.max(0,A);var B="",ee=0;if(e.options.indentWithTabs)for(var Y=Math.floor(A/l);Y;--Y)ee+=l,B+=" ";if(eel,f=Ht(t),m=null;if(u&&r.ranges.length>1)if(Qt&&Qt.text.join(` +`)==t){if(r.ranges.length%Qt.text.length==0){m=[];for(var A=0;A=0;ee--){var Y=r.ranges[ee],ie=Y.from(),ue=Y.to();Y.empty()&&(n&&n>0?ie=ne(ie.line,ie.ch-n):e.state.overwrite&&!u?ue=ne(ue.line,Math.min(Ae(a,ue.line).text.length,ue.ch+ce(f).length)):u&&Qt&&Qt.lineWise&&Qt.text.join(` +`)==f.join(` +`)&&(ie=ue=ne(ie.line,0)));var me={from:ie,to:ue,text:m?m[ee%m.length]:f,origin:i||(u?"paste":e.state.cutIncoming>l?"cut":"+input")};an(e.doc,me),ht(e,"inputRead",e,me)}t&&!u&&ns(e,t),tn(e),e.curOp.updateInput<2&&(e.curOp.updateInput=B),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function rs(e,t){var n=e.clipboardData&&e.clipboardData.getData("Text");if(n)return e.preventDefault(),!t.isReadOnly()&&!t.options.disableInput&&t.hasFocus()&&Nt(t,function(){return $o(t,n,0,null,"paste")}),!0}function ns(e,t){if(!(!e.options.electricChars||!e.options.smartIndent))for(var n=e.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var a=e.getModeAt(i.head),l=!1;if(a.electricChars){for(var u=0;u-1){l=Xn(e,i.head.line,"smart");break}}else a.electricInput&&a.electricInput.test(Ae(e.doc,i.head.line).text.slice(0,i.head.ch))&&(l=Xn(e,i.head.line,"smart"));l&&ht(e,"electricInput",e,i.head.line)}}}function is(e){for(var t=[],n=[],r=0;ra&&(Xn(this,u.head.line,r,!0),a=u.head.line,l==this.doc.sel.primIndex&&tn(this));else{var f=u.from(),m=u.to(),A=Math.max(a,f.line);a=Math.min(this.lastLine(),m.line-(m.ch?0:1))+1;for(var B=A;B0&&Oo(this.doc,l,new Ye(f,ee[l].to()),ke)}}}),getTokenAt:function(r,i){return ga(this,r,i)},getLineTokens:function(r,i){return ga(this,ne(r),i,!0)},getTokenTypeAt:function(r){r=je(this.doc,r);var i=da(this,Ae(this.doc,r.line)),a=0,l=(i.length-1)/2,u=r.ch,f;if(u==0)f=i[2];else for(;;){var m=a+l>>1;if((m?i[m*2-1]:0)>=u)l=m;else if(i[m*2+1]f&&(r=f,l=!0),u=Ae(this.doc,r)}else u=r;return ci(this,u,{top:0,left:0},i||"page",a||l).top+(l?this.doc.height-ar(u):0)},defaultTextHeight:function(){return Vr(this.display)},defaultCharWidth:function(){return Jr(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(r,i,a,l,u){var f=this.display;r=Xt(this,je(this.doc,r));var m=r.bottom,A=r.left;if(i.style.position="absolute",i.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(i),f.sizer.appendChild(i),l=="over")m=r.top;else if(l=="above"||l=="near"){var B=Math.max(f.wrapper.clientHeight,this.doc.height),ee=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);(l=="above"||r.bottom+i.offsetHeight>B)&&r.top>i.offsetHeight?m=r.top-i.offsetHeight:r.bottom+i.offsetHeight<=B&&(m=r.bottom),A+i.offsetWidth>ee&&(A=ee-i.offsetWidth)}i.style.top=m+"px",i.style.left=i.style.right="",u=="right"?(A=f.sizer.clientWidth-i.offsetWidth,i.style.right="0px"):(u=="left"?A=0:u=="middle"&&(A=(f.sizer.clientWidth-i.offsetWidth)/2),i.style.left=A+"px"),a&&hf(this,{left:A,top:m,right:A+i.offsetWidth,bottom:m+i.offsetHeight})},triggerOnKeyDown:Tt(Gl),triggerOnKeyPress:Tt(Xl),triggerOnKeyUp:Zl,triggerOnMouseDown:Tt(Yl),execCommand:function(r){if($n.hasOwnProperty(r))return $n[r].call(null,this)},triggerElectric:Tt(function(r){ns(this,r)}),findPosH:function(r,i,a,l){var u=1;i<0&&(u=-1,i=-i);for(var f=je(this.doc,r),m=0;m0&&A(a.charAt(l-1));)--l;for(;u.5||this.options.lineWrapping)&&xo(this),it(this,"refresh",this)}),swapDoc:Tt(function(r){var i=this.doc;return i.cm=null,this.state.selectingText&&this.state.selectingText(),pl(this,r),En(this),this.display.input.reset(),Mn(this,r.scrollLeft,r.scrollTop),this.curOp.forceScroll=!0,ht(this,"swapDoc",this,i),i}),phrase:function(r){var i=this.options.phrases;return i&&Object.prototype.hasOwnProperty.call(i,r)?i[r]:r},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Wt(e),e.registerHelper=function(r,i,a){n.hasOwnProperty(r)||(n[r]=e[r]={_global:[]}),n[r][i]=a},e.registerGlobalHelper=function(r,i,a,l){e.registerHelper(r,i,l),n[r]._global.push({pred:a,val:l})}}function Go(e,t,n,r,i){var a=t,l=n,u=Ae(e,t.line),f=i&&e.direction=="rtl"?-n:n;function m(){var _e=t.line+f;return _e=e.first+e.size?!1:(t=new ne(_e,t.ch,t.sticky),u=Ae(e,_e))}function A(_e){var be;if(r=="codepoint"){var Ce=u.text.charCodeAt(t.ch+(n>0?0:-1));if(isNaN(Ce))be=null;else{var Ne=n>0?Ce>=55296&&Ce<56320:Ce>=56320&&Ce<57343;be=new ne(t.line,Math.max(0,Math.min(u.text.length,t.ch+n*(Ne?2:1))),-n)}}else i?be=Vf(e.cm,u,t,n):be=Bo(u,t,n);if(be==null)if(!_e&&m())t=jo(i,e.cm,u,t.line,f);else return!1;else t=be;return!0}if(r=="char"||r=="codepoint")A();else if(r=="column")A(!0);else if(r=="word"||r=="group")for(var B=null,ee=r=="group",Y=e.cm&&e.cm.getHelper(t,"wordChars"),ie=!0;!(n<0&&!A(!ie));ie=!1){var ue=u.text.charAt(t.ch)||` +`,me=Me(ue,Y)?"w":ee&&ue==` +`?"n":!ee||/\s/.test(ue)?null:"p";if(ee&&!ie&&!me&&(me="s"),B&&B!=me){n<0&&(n=1,A(),t.sticky="after");break}if(me&&(B=me),n>0&&!A(!ie))break}var ve=wi(e,t,a,l,!0);return Xe(a,ve)&&(ve.hitSide=!0),ve}function as(e,t,n,r){var i=e.doc,a=t.left,l;if(r=="page"){var u=Math.min(e.display.wrapper.clientHeight,pe(e).innerHeight||i(e).documentElement.clientHeight),f=Math.max(u-.5*Vr(e.display),3);l=(n>0?t.bottom:t.top)+n*f}else r=="line"&&(l=n>0?t.bottom+3:t.top-3);for(var m;m=mo(e,a,l),!!m.outside;){if(n<0?l<=0:l>=i.height){m.hitSide=!0;break}l+=n*5}return m}var Qe=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new qe,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};Qe.prototype.init=function(e){var t=this,n=this,r=n.cm,i=n.div=e.lineDiv;i.contentEditable=!0,Ko(i,r.options.spellcheck,r.options.autocorrect,r.options.autocapitalize);function a(u){for(var f=u.target;f;f=f.parentNode){if(f==i)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(f.className))break}return!1}Fe(i,"paste",function(u){!a(u)||ot(r,u)||rs(u,r)||h<=11&&setTimeout(gt(r,function(){return t.updateFromDOM()}),20)}),Fe(i,"compositionstart",function(u){t.composing={data:u.data,done:!1}}),Fe(i,"compositionupdate",function(u){t.composing||(t.composing={data:u.data,done:!1})}),Fe(i,"compositionend",function(u){t.composing&&(u.data!=t.composing.data&&t.readFromDOMSoon(),t.composing.done=!0)}),Fe(i,"touchstart",function(){return n.forceCompositionEnd()}),Fe(i,"input",function(){t.composing||t.readFromDOMSoon()});function l(u){if(!(!a(u)||ot(r,u))){if(r.somethingSelected())zi({lineWise:!1,text:r.getSelections()}),u.type=="cut"&&r.replaceSelection("",null,"cut");else if(r.options.lineWiseCopyCut){var f=is(r);zi({lineWise:!0,text:f.text}),u.type=="cut"&&r.operation(function(){r.setSelections(f.ranges,0,ke),r.replaceSelection("",null,"cut")})}else return;if(u.clipboardData){u.clipboardData.clearData();var m=Qt.text.join(` +`);if(u.clipboardData.setData("Text",m),u.clipboardData.getData("Text")==m){u.preventDefault();return}}var A=os(),B=A.firstChild;Ko(B),r.display.lineSpace.insertBefore(A,r.display.lineSpace.firstChild),B.value=Qt.text.join(` +`);var ee=R(ze(i));I(B),setTimeout(function(){r.display.lineSpace.removeChild(A),ee.focus(),ee==i&&n.showPrimarySelection()},50)}}Fe(i,"copy",l),Fe(i,"cut",l)},Qe.prototype.screenReaderLabelChanged=function(e){e?this.div.setAttribute("aria-label",e):this.div.removeAttribute("aria-label")},Qe.prototype.prepareSelection=function(){var e=Ya(this.cm,!1);return e.focus=R(ze(this.div))==this.div,e},Qe.prototype.showSelection=function(e,t){!e||!this.cm.display.view.length||((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},Qe.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},Qe.prototype.showPrimarySelection=function(){var e=this.getSelection(),t=this.cm,n=t.doc.sel.primary(),r=n.from(),i=n.to();if(t.display.viewTo==t.display.viewFrom||r.line>=t.display.viewTo||i.line=t.display.viewFrom&&ls(t,r)||{node:u[0].measure.map[2],offset:0},m=i.linee.firstLine()&&(r=ne(r.line-1,Ae(e.doc,r.line-1).length)),i.ch==Ae(e.doc,i.line).text.length&&i.linet.viewTo-1)return!1;var a,l,u;r.line==t.viewFrom||(a=Ar(e,r.line))==0?(l=x(t.view[0].line),u=t.view[0].node):(l=x(t.view[a].line),u=t.view[a-1].node.nextSibling);var f=Ar(e,i.line),m,A;if(f==t.view.length-1?(m=t.viewTo-1,A=t.lineDiv.lastChild):(m=x(t.view[f+1].line)-1,A=t.view[f+1].node.previousSibling),!u)return!1;for(var B=e.doc.splitLines(yd(e,u,A,l,m)),ee=ir(e.doc,ne(l,0),ne(m,Ae(e.doc,m).text.length));B.length>1&&ee.length>1;)if(ce(B)==ce(ee))B.pop(),ee.pop(),m--;else if(B[0]==ee[0])B.shift(),ee.shift(),l++;else break;for(var Y=0,ie=0,ue=B[0],me=ee[0],ve=Math.min(ue.length,me.length);Yr.ch&&_e.charCodeAt(_e.length-ie-1)==be.charCodeAt(be.length-ie-1);)Y--,ie++;B[B.length-1]=_e.slice(0,_e.length-ie).replace(/^\u200b+/,""),B[0]=B[0].slice(Y).replace(/\u200b+$/,"");var Ne=ne(l,Y),Ie=ne(m,ee.length?ce(ee).length-ie:0);if(B.length>1||B[0]||ye(Ne,Ie))return ln(e.doc,B,Ne,Ie,"+input"),!0},Qe.prototype.ensurePolled=function(){this.forceCompositionEnd()},Qe.prototype.reset=function(){this.forceCompositionEnd()},Qe.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Qe.prototype.readFromDOMSoon=function(){var e=this;this.readDOMTimeout==null&&(this.readDOMTimeout=setTimeout(function(){if(e.readDOMTimeout=null,e.composing)if(e.composing.done)e.composing=null;else return;e.updateFromDOM()},80))},Qe.prototype.updateFromDOM=function(){var e=this;(this.cm.isReadOnly()||!this.pollContent())&&Nt(this.cm,function(){return zt(e.cm)})},Qe.prototype.setUneditable=function(e){e.contentEditable="false"},Qe.prototype.onKeyPress=function(e){e.charCode==0||this.composing||(e.preventDefault(),this.cm.isReadOnly()||gt(this.cm,$o)(this.cm,String.fromCharCode(e.charCode==null?e.keyCode:e.charCode),0))},Qe.prototype.readOnlyChanged=function(e){this.div.contentEditable=String(e!="nocursor")},Qe.prototype.onContextMenu=function(){},Qe.prototype.resetPosition=function(){},Qe.prototype.needsContentAttribute=!0;function ls(e,t){var n=po(e,t.line);if(!n||n.hidden)return null;var r=Ae(e.doc,t.line),i=Na(n,r,t.line),a=Pe(r,e.doc.direction),l="left";if(a){var u=Pt(a,t.ch);l=u%2?"right":"left"}var f=Ba(i.map,t.ch,l);return f.offset=f.collapse=="right"?f.end:f.start,f}function bd(e){for(var t=e;t;t=t.parentNode)if(/CodeMirror-gutter-wrapper/.test(t.className))return!0;return!1}function dn(e,t){return t&&(e.bad=!0),e}function yd(e,t,n,r,i){var a="",l=!1,u=e.doc.lineSeparator(),f=!1;function m(Y){return function(ie){return ie.id==Y}}function A(){l&&(a+=u,f&&(a+=u),l=f=!1)}function B(Y){Y&&(A(),a+=Y)}function ee(Y){if(Y.nodeType==1){var ie=Y.getAttribute("cm-text");if(ie){B(ie);return}var ue=Y.getAttribute("cm-marker"),me;if(ue){var ve=e.findMarks(ne(r,0),ne(i+1,0),m(+ue));ve.length&&(me=ve[0].find(0))&&B(ir(e.doc,me.from,me.to).join(u));return}if(Y.getAttribute("contenteditable")=="false")return;var _e=/^(pre|div|p|li|table|br)$/i.test(Y.nodeName);if(!/^br$/i.test(Y.nodeName)&&Y.textContent.length==0)return;_e&&A();for(var be=0;be=9&&t.hasSelection&&(t.hasSelection=null),n.poll()}),Fe(i,"paste",function(l){ot(r,l)||rs(l,r)||(r.state.pasteIncoming=+new Date,n.fastPoll())});function a(l){if(!ot(r,l)){if(r.somethingSelected())zi({lineWise:!1,text:r.getSelections()});else if(r.options.lineWiseCopyCut){var u=is(r);zi({lineWise:!0,text:u.text}),l.type=="cut"?r.setSelections(u.ranges,null,ke):(n.prevInput="",i.value=u.text.join(` +`),I(i))}else return;l.type=="cut"&&(r.state.cutIncoming=+new Date)}}Fe(i,"cut",a),Fe(i,"copy",a),Fe(e.scroller,"paste",function(l){if(!(lr(e,l)||ot(r,l))){if(!i.dispatchEvent){r.state.pasteIncoming=+new Date,n.focus();return}var u=new Event("paste");u.clipboardData=l.clipboardData,i.dispatchEvent(u)}}),Fe(e.lineSpace,"selectstart",function(l){lr(e,l)||kt(l)}),Fe(i,"compositionstart",function(){var l=r.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:l,range:r.markText(l,r.getCursor("to"),{className:"CodeMirror-composing"})}}),Fe(i,"compositionend",function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)})},st.prototype.createField=function(e){this.wrapper=os(),this.textarea=this.wrapper.firstChild;var t=this.cm.options;Ko(this.textarea,t.spellcheck,t.autocorrect,t.autocapitalize)},st.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute("aria-label",e):this.textarea.removeAttribute("aria-label")},st.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,r=Ya(e);if(e.options.moveInputWithCursor){var i=Xt(e,n.sel.primary().head,"div"),a=t.wrapper.getBoundingClientRect(),l=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+l.top-a.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+l.left-a.left))}return r},st.prototype.showSelection=function(e){var t=this.cm,n=t.display;V(n.cursorDiv,e.cursors),V(n.selectionDiv,e.selection),e.teTop!=null&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},st.prototype.reset=function(e){if(!(this.contextMenuPending||this.composing&&e)){var t=this.cm;if(this.resetting=!0,t.somethingSelected()){this.prevInput="";var n=t.getSelection();this.textarea.value=n,t.state.focused&&I(this.textarea),s&&h>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value="",s&&h>=9&&(this.hasSelection=null));this.resetting=!1}},st.prototype.getField=function(){return this.textarea},st.prototype.supportsTouch=function(){return!1},st.prototype.focus=function(){if(this.cm.options.readOnly!="nocursor"&&(!E||R(ze(this.textarea))!=this.textarea))try{this.textarea.focus()}catch{}},st.prototype.blur=function(){this.textarea.blur()},st.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},st.prototype.receivedFocus=function(){this.slowPoll()},st.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},st.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0;function n(){var r=t.poll();!r&&!e?(e=!0,t.polling.set(60,n)):(t.pollingFast=!1,t.slowPoll())}t.polling.set(20,n)},st.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||this.resetting||!t.state.focused||hr(n)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=n.value;if(i==r&&!t.somethingSelected())return!1;if(s&&h>=9&&this.hasSelection===i||N&&/[\uf700-\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var a=i.charCodeAt(0);if(a==8203&&!r&&(r="\u200B"),a==8666)return this.reset(),this.cm.execCommand("undo")}for(var l=0,u=Math.min(r.length,i.length);l1e3||i.indexOf(` +`)>-1?n.value=e.prevInput="":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},st.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},st.prototype.onKeyPress=function(){s&&h>=9&&(this.hasSelection=null),this.fastPoll()},st.prototype.onContextMenu=function(e){var t=this,n=t.cm,r=n.display,i=t.textarea;t.contextMenuPending&&t.contextMenuPending();var a=Mr(n,e),l=r.scroller.scrollTop;if(!a||d)return;var u=n.options.resetSelectionOnContextMenu;u&&n.doc.sel.contains(a)==-1&>(n,wt)(n.doc,yr(a),ke);var f=i.style.cssText,m=t.wrapper.style.cssText,A=t.wrapper.offsetParent.getBoundingClientRect();t.wrapper.style.cssText="position: static",i.style.cssText=`position: absolute; width: 30px; height: 30px; + top: `+(e.clientY-A.top-5)+"px; left: "+(e.clientX-A.left-5)+`px; + z-index: 1000; background: `+(s?"rgba(255, 255, 255, .05)":"transparent")+`; + outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);`;var B;g&&(B=i.ownerDocument.defaultView.scrollY),r.input.focus(),g&&i.ownerDocument.defaultView.scrollTo(null,B),r.input.reset(),n.somethingSelected()||(i.value=t.prevInput=" "),t.contextMenuPending=Y,r.selForContextMenu=n.doc.sel,clearTimeout(r.detectingSelectAll);function ee(){if(i.selectionStart!=null){var ue=n.somethingSelected(),me="\u200B"+(ue?i.value:"");i.value="\u21DA",i.value=me,t.prevInput=ue?"":"\u200B",i.selectionStart=1,i.selectionEnd=me.length,r.selForContextMenu=n.doc.sel}}function Y(){if(t.contextMenuPending==Y&&(t.contextMenuPending=!1,t.wrapper.style.cssText=m,i.style.cssText=f,s&&h<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=l),i.selectionStart!=null)){(!s||s&&h<9)&&ee();var ue=0,me=function(){r.selForContextMenu==n.doc.sel&&i.selectionStart==0&&i.selectionEnd>0&&t.prevInput=="\u200B"?gt(n,Ll)(n):ue++<10?r.detectingSelectAll=setTimeout(me,500):(r.selForContextMenu=null,r.input.reset())};r.detectingSelectAll=setTimeout(me,200)}}if(s&&h>=9&&ee(),O){dr(e);var ie=function(){_t(window,"mouseup",ie),setTimeout(Y,20)};Fe(window,"mouseup",ie)}else setTimeout(Y,50)},st.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled=e=="nocursor",this.textarea.readOnly=!!e},st.prototype.setUneditable=function(){},st.prototype.needsContentAttribute=!1;function _d(e,t){if(t=t?ge(t):{},t.value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),t.autofocus==null){var n=R(ze(e));t.autofocus=n==e||e.getAttribute("autofocus")!=null&&n==document.body}function r(){e.value=u.getValue()}var i;if(e.form&&(Fe(e.form,"submit",r),!t.leaveSubmitMethodAlone)){var a=e.form;i=a.submit;try{var l=a.submit=function(){r(),a.submit=i,a.submit(),a.submit=l}}catch{}}t.finishInit=function(f){f.save=r,f.getTextArea=function(){return e},f.toTextArea=function(){f.toTextArea=isNaN,r(),e.parentNode.removeChild(f.getWrapperElement()),e.style.display="",e.form&&(_t(e.form,"submit",r),!t.leaveSubmitMethodAlone&&typeof e.form.submit=="function"&&(e.form.submit=i))}},e.style.display="none";var u=tt(function(f){return e.parentNode.insertBefore(f,e.nextSibling)},t);return u}function kd(e){e.off=_t,e.on=Fe,e.wheelEventPixels=zf,e.Doc=Mt,e.splitLines=Ht,e.countColumn=Oe,e.findColumn=Ge,e.isWordChar=we,e.Pass=Ze,e.signal=it,e.Line=Xr,e.changeEnd=xr,e.scrollbarModel=rl,e.Pos=ne,e.cmpPos=ye,e.modes=Wr,e.mimeModes=Kt,e.resolveMode=Ur,e.getMode=$r,e.modeExtensions=gr,e.extendMode=Kr,e.copyState=Vt,e.startState=Gr,e.innerMode=_n,e.commands=$n,e.keyMap=ur,e.keyName=Hl,e.isModifierKey=jl,e.lookupKey=un,e.normalizeKeyMap=Qf,e.StringStream=at,e.SharedTextMarker=Hn,e.TextMarker=kr,e.LineWidget=Rn,e.e_preventDefault=kt,e.e_stopPropagation=Rr,e.e_stop=dr,e.addClass=le,e.contains=F,e.rmClass=Q,e.keyNames=wr}pd(tt),vd(tt);var wd="iter insert remove copy getEditor constructor".split(" ");for(var Ai in Mt.prototype)Mt.prototype.hasOwnProperty(Ai)&&Se(wd,Ai)<0&&(tt.prototype[Ai]=function(e){return function(){return e.apply(this.doc,arguments)}}(Mt.prototype[Ai]));return Wt(Mt),tt.inputStyles={textarea:st,contenteditable:Qe},tt.defineMode=function(e){!tt.defaults.mode&&e!="null"&&(tt.defaults.mode=e),Gt.apply(this,arguments)},tt.defineMIME=Cr,tt.defineMode("null",function(){return{token:function(e){return e.skipToEnd()}}}),tt.defineMIME("text/plain","null"),tt.defineExtension=function(e,t){tt.prototype[e]=t},tt.defineDocExtension=function(e,t){Mt.prototype[e]=t},tt.fromTextArea=_d,kd(tt),tt.version="5.65.19",tt})});var Yn=Ke((us,cs)=>{(function(o){typeof us=="object"&&typeof cs=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.overlayMode=function(p,v,C){return{startState:function(){return{base:o.startState(p),overlay:o.startState(v),basePos:0,baseCur:null,overlayPos:0,overlayCur:null,streamSeen:null}},copyState:function(b){return{base:o.copyState(p,b.base),overlay:o.copyState(v,b.overlay),basePos:b.basePos,baseCur:null,overlayPos:b.overlayPos,overlayCur:null}},token:function(b,S){return(b!=S.streamSeen||Math.min(S.basePos,S.overlayPos){(function(o){typeof fs=="object"&&typeof ds=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";var p=/^(\s*)(>[> ]*|[*+-] \[[x ]\]\s|[*+-]\s|(\d+)([.)]))(\s*)/,v=/^(\s*)(>[> ]*|[*+-] \[[x ]\]|[*+-]|(\d+)[.)])(\s*)$/,C=/[*+-]\s/;o.commands.newlineAndIndentContinueMarkdownList=function(S){if(S.getOption("disableInput"))return o.Pass;for(var s=S.listSelections(),h=[],g=0;g\s*$/.test(z),E=!/>\s*$/.test(z);(W||E)&&S.replaceRange("",{line:T.line,ch:0},{line:T.line,ch:T.ch+1}),h[g]=` +`}else{var N=M[1],G=M[5],J=!(C.test(M[2])||M[2].indexOf(">")>=0),re=J?parseInt(M[3],10)+1+M[4]:M[2].replace("x"," ");h[g]=` +`+N+re+G,J&&b(S,T)}}S.replaceSelections(h)};function b(S,s){var h=s.line,g=0,T=0,w=p.exec(S.getLine(h)),c=w[1];do{g+=1;var d=h+g,k=S.getLine(d),z=p.exec(k);if(z){var M=z[1],_=parseInt(w[3],10)+g-T,W=parseInt(z[3],10),E=W;if(c===M&&!isNaN(W))_===W&&(E=W+1),_>W&&(E=_+1),S.replaceRange(k.replace(p,M+E+z[4]+z[5]),{line:d,ch:0},{line:d,ch:k.length});else{if(c.length>M.length||c.length{(function(o){typeof hs=="object"&&typeof gs=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){o.defineOption("placeholder","",function(h,g,T){var w=T&&T!=o.Init;if(g&&!w)h.on("blur",b),h.on("change",S),h.on("swapDoc",S),o.on(h.getInputField(),"compositionupdate",h.state.placeholderCompose=function(){C(h)}),S(h);else if(!g&&w){h.off("blur",b),h.off("change",S),h.off("swapDoc",S),o.off(h.getInputField(),"compositionupdate",h.state.placeholderCompose),p(h);var c=h.getWrapperElement();c.className=c.className.replace(" CodeMirror-empty","")}g&&!h.hasFocus()&&b(h)});function p(h){h.state.placeholder&&(h.state.placeholder.parentNode.removeChild(h.state.placeholder),h.state.placeholder=null)}function v(h){p(h);var g=h.state.placeholder=document.createElement("pre");g.style.cssText="height: 0; overflow: visible",g.style.direction=h.getOption("direction"),g.className="CodeMirror-placeholder CodeMirror-line-like";var T=h.getOption("placeholder");typeof T=="string"&&(T=document.createTextNode(T)),g.appendChild(T),h.display.lineSpace.insertBefore(g,h.display.lineSpace.firstChild)}function C(h){setTimeout(function(){var g=!1;if(h.lineCount()==1){var T=h.getInputField();g=T.nodeName=="TEXTAREA"?!h.getLine(0).length:!/[^\u200b]/.test(T.querySelector(".CodeMirror-line").textContent)}g?v(h):p(h)},20)}function b(h){s(h)&&v(h)}function S(h){var g=h.getWrapperElement(),T=s(h);g.className=g.className.replace(" CodeMirror-empty","")+(T?" CodeMirror-empty":""),T?v(h):p(h)}function s(h){return h.lineCount()===1&&h.getLine(0)===""}})});var ys=Ke((vs,bs)=>{(function(o){typeof vs=="object"&&typeof bs=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineOption("styleSelectedText",!1,function(w,c,d){var k=d&&d!=o.Init;c&&!k?(w.state.markedSelection=[],w.state.markedSelectionStyle=typeof c=="string"?c:"CodeMirror-selectedtext",g(w),w.on("cursorActivity",p),w.on("change",v)):!c&&k&&(w.off("cursorActivity",p),w.off("change",v),h(w),w.state.markedSelection=w.state.markedSelectionStyle=null)});function p(w){w.state.markedSelection&&w.operation(function(){T(w)})}function v(w){w.state.markedSelection&&w.state.markedSelection.length&&w.operation(function(){h(w)})}var C=8,b=o.Pos,S=o.cmpPos;function s(w,c,d,k){if(S(c,d)!=0)for(var z=w.state.markedSelection,M=w.state.markedSelectionStyle,_=c.line;;){var W=_==c.line?c:b(_,0),E=_+C,N=E>=d.line,G=N?d:b(E,0),J=w.markText(W,G,{className:M});if(k==null?z.push(J):z.splice(k++,0,J),N)break;_=E}}function h(w){for(var c=w.state.markedSelection,d=0;d1)return g(w);var c=w.getCursor("start"),d=w.getCursor("end"),k=w.state.markedSelection;if(!k.length)return s(w,c,d);var z=k[0].find(),M=k[k.length-1].find();if(!z||!M||d.line-c.line<=C||S(c,M.to)>=0||S(d,z.from)<=0)return g(w);for(;S(c,z.from)>0;)k.shift().clear(),z=k[0].find();for(S(c,z.from)<0&&(z.to.line-c.line0&&(d.line-M.from.line{(function(o){typeof xs=="object"&&typeof _s=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";var p=o.Pos;function v(_){var W=_.flags;return W??(_.ignoreCase?"i":"")+(_.global?"g":"")+(_.multiline?"m":"")}function C(_,W){for(var E=v(_),N=E,G=0;Gre);q++){var O=_.getLine(J++);N=N==null?O:N+` +`+O}G=G*2,W.lastIndex=E.ch;var D=W.exec(N);if(D){var Q=N.slice(0,D.index).split(` +`),j=D[0].split(` +`),V=E.line+Q.length-1,y=Q[Q.length-1].length;return{from:p(V,y),to:p(V+j.length-1,j.length==1?y+j[0].length:j[j.length-1].length),match:D}}}}function h(_,W,E){for(var N,G=0;G<=_.length;){W.lastIndex=G;var J=W.exec(_);if(!J)break;var re=J.index+J[0].length;if(re>_.length-E)break;(!N||re>N.index+N[0].length)&&(N=J),G=J.index+1}return N}function g(_,W,E){W=C(W,"g");for(var N=E.line,G=E.ch,J=_.firstLine();N>=J;N--,G=-1){var re=_.getLine(N),q=h(re,W,G<0?0:re.length-G);if(q)return{from:p(N,q.index),to:p(N,q.index+q[0].length),match:q}}}function T(_,W,E){if(!b(W))return g(_,W,E);W=C(W,"gm");for(var N,G=1,J=_.getLine(E.line).length-E.ch,re=E.line,q=_.firstLine();re>=q;){for(var O=0;O=q;O++){var D=_.getLine(re--);N=N==null?D:D+` +`+N}G*=2;var Q=h(N,W,J);if(Q){var j=N.slice(0,Q.index).split(` +`),V=Q[0].split(` +`),y=re+j.length,K=j[j.length-1].length;return{from:p(y,K),to:p(y+V.length-1,V.length==1?K+V[0].length:V[V.length-1].length),match:Q}}}}var w,c;String.prototype.normalize?(w=function(_){return _.normalize("NFD").toLowerCase()},c=function(_){return _.normalize("NFD")}):(w=function(_){return _.toLowerCase()},c=function(_){return _});function d(_,W,E,N){if(_.length==W.length)return E;for(var G=0,J=E+Math.max(0,_.length-W.length);;){if(G==J)return G;var re=G+J>>1,q=N(_.slice(0,re)).length;if(q==E)return re;q>E?J=re:G=re+1}}function k(_,W,E,N){if(!W.length)return null;var G=N?w:c,J=G(W).split(/\r|\n\r?/);e:for(var re=E.line,q=E.ch,O=_.lastLine()+1-J.length;re<=O;re++,q=0){var D=_.getLine(re).slice(q),Q=G(D);if(J.length==1){var j=Q.indexOf(J[0]);if(j==-1)continue e;var E=d(D,Q,j,G)+q;return{from:p(re,d(D,Q,j,G)+q),to:p(re,d(D,Q,j+J[0].length,G)+q)}}else{var V=Q.length-J[0].length;if(Q.slice(V)!=J[0])continue e;for(var y=1;y=O;re--,q=-1){var D=_.getLine(re);q>-1&&(D=D.slice(0,q));var Q=G(D);if(J.length==1){var j=Q.lastIndexOf(J[0]);if(j==-1)continue e;return{from:p(re,d(D,Q,j,G)),to:p(re,d(D,Q,j+J[0].length,G))}}else{var V=J[J.length-1];if(Q.slice(0,V.length)!=V)continue e;for(var y=1,E=re-J.length+1;y(this.doc.getLine(W.line)||"").length&&(W.ch=0,W.line++)),o.cmpPos(W,this.doc.clipPos(W))!=0))return this.atOccurrence=!1;var E=this.matches(_,W);if(this.afterEmptyMatch=E&&o.cmpPos(E.from,E.to)==0,E)return this.pos=E,this.atOccurrence=!0,this.pos.match||!0;var N=p(_?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:N,to:N},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(_,W){if(this.atOccurrence){var E=o.splitLines(_);this.doc.replaceRange(E,this.pos.from,this.pos.to,W),this.pos.to=p(this.pos.from.line+E.length-1,E[E.length-1].length+(E.length==1?this.pos.from.ch:0))}}},o.defineExtension("getSearchCursor",function(_,W,E){return new M(this.doc,_,W,E)}),o.defineDocExtension("getSearchCursor",function(_,W,E){return new M(this,_,W,E)}),o.defineExtension("selectMatches",function(_,W){for(var E=[],N=this.getSearchCursor(_,this.getCursor("from"),W);N.findNext()&&!(o.cmpPos(N.to(),this.getCursor("to"))>0);)E.push({anchor:N.from(),head:N.to()});E.length&&this.setSelections(E,0)})})});var Vo=Ke((ws,Ss)=>{(function(o){typeof ws=="object"&&typeof Ss=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";function p(F,R,le,xe,I,L){this.indented=F,this.column=R,this.type=le,this.info=xe,this.align=I,this.prev=L}function v(F,R,le,xe){var I=F.indented;return F.context&&F.context.type=="statement"&&le!="statement"&&(I=F.context.indented),F.context=new p(I,R,le,xe,null,F.context)}function C(F){var R=F.context.type;return(R==")"||R=="]"||R=="}")&&(F.indented=F.context.indented),F.context=F.context.prev}function b(F,R,le){if(R.prevToken=="variable"||R.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(F.string.slice(0,le))||R.typeAtEndOfLine&&F.column()==F.indentation())return!0}function S(F){for(;;){if(!F||F.type=="top")return!0;if(F.type=="}"&&F.prev.info!="namespace")return!1;F=F.prev}}o.defineMode("clike",function(F,R){var le=F.indentUnit,xe=R.statementIndentUnit||le,I=R.dontAlignCalls,L=R.keywords||{},de=R.types||{},ze=R.builtin||{},pe=R.blockKeywords||{},Ee=R.defKeywords||{},ge=R.atoms||{},Oe=R.hooks||{},qe=R.multiLineStrings,Se=R.indentStatements!==!1,Be=R.indentSwitch!==!1,Ze=R.namespaceSeparator,ke=R.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,Je=R.numberStart||/[\d\.]/,Re=R.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,Ge=R.isOperatorChar||/[+\-*&%=<>!?|\/]/,U=R.isIdentifierChar||/[\w\$_\xa1-\uffff]/,Z=R.isReservedIdentifier||!1,ce,He;function te(we,Me){var Le=we.next();if(Oe[Le]){var $=Oe[Le](we,Me);if($!==!1)return $}if(Le=='"'||Le=="'")return Me.tokenize=fe(Le),Me.tokenize(we,Me);if(Je.test(Le)){if(we.backUp(1),we.match(Re))return"number";we.next()}if(ke.test(Le))return ce=Le,null;if(Le=="/"){if(we.eat("*"))return Me.tokenize=oe,oe(we,Me);if(we.eat("/"))return we.skipToEnd(),"comment"}if(Ge.test(Le)){for(;!we.match(/^\/[\/*]/,!1)&&we.eat(Ge););return"operator"}if(we.eatWhile(U),Ze)for(;we.match(Ze);)we.eatWhile(U);var H=we.current();return h(L,H)?(h(pe,H)&&(ce="newstatement"),h(Ee,H)&&(He=!0),"keyword"):h(de,H)?"type":h(ze,H)||Z&&Z(H)?(h(pe,H)&&(ce="newstatement"),"builtin"):h(ge,H)?"atom":"variable"}function fe(we){return function(Me,Le){for(var $=!1,H,se=!1;(H=Me.next())!=null;){if(H==we&&!$){se=!0;break}$=!$&&H=="\\"}return(se||!($||qe))&&(Le.tokenize=null),"string"}}function oe(we,Me){for(var Le=!1,$;$=we.next();){if($=="/"&&Le){Me.tokenize=null;break}Le=$=="*"}return"comment"}function Ue(we,Me){R.typeFirstDefinitions&&we.eol()&&S(Me.context)&&(Me.typeAtEndOfLine=b(we,Me,we.pos))}return{startState:function(we){return{tokenize:null,context:new p((we||0)-le,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(we,Me){var Le=Me.context;if(we.sol()&&(Le.align==null&&(Le.align=!1),Me.indented=we.indentation(),Me.startOfLine=!0),we.eatSpace())return Ue(we,Me),null;ce=He=null;var $=(Me.tokenize||te)(we,Me);if($=="comment"||$=="meta")return $;if(Le.align==null&&(Le.align=!0),ce==";"||ce==":"||ce==","&&we.match(/^\s*(?:\/\/.*)?$/,!1))for(;Me.context.type=="statement";)C(Me);else if(ce=="{")v(Me,we.column(),"}");else if(ce=="[")v(Me,we.column(),"]");else if(ce=="(")v(Me,we.column(),")");else if(ce=="}"){for(;Le.type=="statement";)Le=C(Me);for(Le.type=="}"&&(Le=C(Me));Le.type=="statement";)Le=C(Me)}else ce==Le.type?C(Me):Se&&((Le.type=="}"||Le.type=="top")&&ce!=";"||Le.type=="statement"&&ce=="newstatement")&&v(Me,we.column(),"statement",we.current());if($=="variable"&&(Me.prevToken=="def"||R.typeFirstDefinitions&&b(we,Me,we.start)&&S(Me.context)&&we.match(/^\s*\(/,!1))&&($="def"),Oe.token){var H=Oe.token(we,Me,$);H!==void 0&&($=H)}return $=="def"&&R.styleDefs===!1&&($="variable"),Me.startOfLine=!1,Me.prevToken=He?"def":$||ce,Ue(we,Me),$},indent:function(we,Me){if(we.tokenize!=te&&we.tokenize!=null||we.typeAtEndOfLine&&S(we.context))return o.Pass;var Le=we.context,$=Me&&Me.charAt(0),H=$==Le.type;if(Le.type=="statement"&&$=="}"&&(Le=Le.prev),R.dontIndentStatements)for(;Le.type=="statement"&&R.dontIndentStatements.test(Le.info);)Le=Le.prev;if(Oe.indent){var se=Oe.indent(we,Le,Me,le);if(typeof se=="number")return se}var De=Le.prev&&Le.prev.info=="switch";if(R.allmanIndentation&&/[{(]/.test($)){for(;Le.type!="top"&&Le.type!="}";)Le=Le.prev;return Le.indented}return Le.type=="statement"?Le.indented+($=="{"?0:xe):Le.align&&(!I||Le.type!=")")?Le.column+(H?0:1):Le.type==")"&&!H?Le.indented+xe:Le.indented+(H?0:le)+(!H&&De&&!/^(?:case|default)\b/.test(Me)?le:0)},electricInput:Be?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});function s(F){for(var R={},le=F.split(" "),xe=0;xe!?|\/#:@]/,hooks:{"@":function(F){return F.eatWhile(/[\w\$_]/),"meta"},'"':function(F,R){return F.match('""')?(R.tokenize=j,R.tokenize(F,R)):!1},"'":function(F){return F.match(/^(\\[^'\s]+|[^\\'])'/)?"string-2":(F.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(F,R){var le=R.context;return le.type=="}"&&le.align&&F.eat(">")?(R.context=new p(le.indented,le.column,le.type,le.info,null,le.prev),"operator"):!1},"/":function(F,R){return F.eat("*")?(R.tokenize=V(1),R.tokenize(F,R)):!1}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}});function y(F){return function(R,le){for(var xe=!1,I,L=!1;!R.eol();){if(!F&&!xe&&R.match('"')){L=!0;break}if(F&&R.match('"""')){L=!0;break}I=R.next(),!xe&&I=="$"&&R.match("{")&&R.skipTo("}"),xe=!xe&&I=="\\"&&!F}return(L||!F)&&(le.tokenize=null),"string"}}Q("text/x-kotlin",{name:"clike",keywords:s("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam value"),types:s("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:s("catch class do else finally for if where try while enum"),defKeywords:s("class val var object interface fun"),atoms:s("true false null this"),hooks:{"@":function(F){return F.eatWhile(/[\w\$_]/),"meta"},"*":function(F,R){return R.prevToken=="."?"variable":"operator"},'"':function(F,R){return R.tokenize=y(F.match('""')),R.tokenize(F,R)},"/":function(F,R){return F.eat("*")?(R.tokenize=V(1),R.tokenize(F,R)):!1},indent:function(F,R,le,xe){var I=le&&le.charAt(0);if((F.prevToken=="}"||F.prevToken==")")&&le=="")return F.indented;if(F.prevToken=="operator"&&le!="}"&&F.context.type!="}"||F.prevToken=="variable"&&I=="."||(F.prevToken=="}"||F.prevToken==")")&&I==".")return xe*2+R.indented;if(R.align&&R.type=="}")return R.indented+(F.context.type==(le||"").charAt(0)?0:xe)}},modeProps:{closeBrackets:{triples:'"'}}}),Q(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:s("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:s("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:s("for while do if else struct"),builtin:s("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:s("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":E},modeProps:{fold:["brace","include"]}}),Q("text/x-nesc",{name:"clike",keywords:s(g+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:z,blockKeywords:s(_),atoms:s("null true false"),hooks:{"#":E},modeProps:{fold:["brace","include"]}}),Q("text/x-objectivec",{name:"clike",keywords:s(g+" "+w),types:M,builtin:s(c),blockKeywords:s(_+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:s(W+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:s("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:G,hooks:{"#":E,"*":N},modeProps:{fold:["brace","include"]}}),Q("text/x-objectivec++",{name:"clike",keywords:s(g+" "+w+" "+T),types:M,builtin:s(c),blockKeywords:s(_+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:s(W+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:s("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:G,hooks:{"#":E,"*":N,u:re,U:re,L:re,R:re,0:J,1:J,2:J,3:J,4:J,5:J,6:J,7:J,8:J,9:J,token:function(F,R,le){if(le=="variable"&&F.peek()=="("&&(R.prevToken==";"||R.prevToken==null||R.prevToken=="}")&&q(F.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),Q("text/x-squirrel",{name:"clike",keywords:s("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:z,blockKeywords:s("case catch class else for foreach if switch try while"),defKeywords:s("function local class"),typeFirstDefinitions:!0,atoms:s("true false null"),hooks:{"#":E},modeProps:{fold:["brace","include"]}});var K=null;function X(F){return function(R,le){for(var xe=!1,I,L=!1;!R.eol();){if(!xe&&R.match('"')&&(F=="single"||R.match('""'))){L=!0;break}if(!xe&&R.match("``")){K=X(F),L=!0;break}I=R.next(),xe=F=="single"&&!xe&&I=="\\"}return L&&(le.tokenize=null),"string"}}Q("text/x-ceylon",{name:"clike",keywords:s("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(F){var R=F.charAt(0);return R===R.toUpperCase()&&R!==R.toLowerCase()},blockKeywords:s("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:s("class dynamic function interface module object package value"),builtin:s("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:s("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(F){return F.eatWhile(/[\w\$_]/),"meta"},'"':function(F,R){return R.tokenize=X(F.match('""')?"triple":"single"),R.tokenize(F,R)},"`":function(F,R){return!K||!F.match("`")?!1:(R.tokenize=K,K=null,R.tokenize(F,R))},"'":function(F){return F.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(F,R,le){if((le=="variable"||le=="type")&&R.prevToken==".")return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})});var Cs=Ke((Ts,Ls)=>{(function(o){typeof Ts=="object"&&typeof Ls=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("cmake",function(){var p=/({)?[a-zA-Z0-9_]+(})?/;function v(b,S){for(var s,h,g=!1;!b.eol()&&(s=b.next())!=S.pending;){if(s==="$"&&h!="\\"&&S.pending=='"'){g=!0;break}h=s}return g&&b.backUp(1),s==S.pending?S.continueString=!1:S.continueString=!0,"string"}function C(b,S){var s=b.next();return s==="$"?b.match(p)?"variable-2":"variable":S.continueString?(b.backUp(1),v(b,S)):b.match(/(\s+)?\w+\(/)||b.match(/(\s+)?\w+\ \(/)?(b.backUp(1),"def"):s=="#"?(b.skipToEnd(),"comment"):s=="'"||s=='"'?(S.pending=s,v(b,S)):s=="("||s==")"?"bracket":s.match(/[0-9]/)?"number":(b.eatWhile(/[\w-]/),null)}return{startState:function(){var b={};return b.inDefinition=!1,b.inInclude=!1,b.continueString=!1,b.pending=!1,b},token:function(b,S){return b.eatSpace()?null:C(b,S)}}}),o.defineMIME("text/x-cmake","cmake")})});var gn=Ke((Es,zs)=>{(function(o){typeof Es=="object"&&typeof zs=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("css",function(O,D){var Q=D.inline;D.propertyKeywords||(D=o.resolveMode("text/css"));var j=O.indentUnit,V=D.tokenHooks,y=D.documentTypes||{},K=D.mediaTypes||{},X=D.mediaFeatures||{},F=D.mediaValueKeywords||{},R=D.propertyKeywords||{},le=D.nonStandardPropertyKeywords||{},xe=D.fontProperties||{},I=D.counterDescriptors||{},L=D.colorKeywords||{},de=D.valueKeywords||{},ze=D.allowNested,pe=D.lineComment,Ee=D.supportsAtComponent===!0,ge=O.highlightNonStandardPropertyKeywords!==!1,Oe,qe;function Se(te,fe){return Oe=fe,te}function Be(te,fe){var oe=te.next();if(V[oe]){var Ue=V[oe](te,fe);if(Ue!==!1)return Ue}if(oe=="@")return te.eatWhile(/[\w\\\-]/),Se("def",te.current());if(oe=="="||(oe=="~"||oe=="|")&&te.eat("="))return Se(null,"compare");if(oe=='"'||oe=="'")return fe.tokenize=Ze(oe),fe.tokenize(te,fe);if(oe=="#")return te.eatWhile(/[\w\\\-]/),Se("atom","hash");if(oe=="!")return te.match(/^\s*\w*/),Se("keyword","important");if(/\d/.test(oe)||oe=="."&&te.eat(/\d/))return te.eatWhile(/[\w.%]/),Se("number","unit");if(oe==="-"){if(/[\d.]/.test(te.peek()))return te.eatWhile(/[\w.%]/),Se("number","unit");if(te.match(/^-[\w\\\-]*/))return te.eatWhile(/[\w\\\-]/),te.match(/^\s*:/,!1)?Se("variable-2","variable-definition"):Se("variable-2","variable");if(te.match(/^\w+-/))return Se("meta","meta")}else return/[,+>*\/]/.test(oe)?Se(null,"select-op"):oe=="."&&te.match(/^-?[_a-z][_a-z0-9-]*/i)?Se("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(oe)?Se(null,oe):te.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(te.current())&&(fe.tokenize=ke),Se("variable callee","variable")):/[\w\\\-]/.test(oe)?(te.eatWhile(/[\w\\\-]/),Se("property","word")):Se(null,null)}function Ze(te){return function(fe,oe){for(var Ue=!1,we;(we=fe.next())!=null;){if(we==te&&!Ue){te==")"&&fe.backUp(1);break}Ue=!Ue&&we=="\\"}return(we==te||!Ue&&te!=")")&&(oe.tokenize=null),Se("string","string")}}function ke(te,fe){return te.next(),te.match(/^\s*[\"\')]/,!1)?fe.tokenize=null:fe.tokenize=Ze(")"),Se(null,"(")}function Je(te,fe,oe){this.type=te,this.indent=fe,this.prev=oe}function Re(te,fe,oe,Ue){return te.context=new Je(oe,fe.indentation()+(Ue===!1?0:j),te.context),oe}function Ge(te){return te.context.prev&&(te.context=te.context.prev),te.context.type}function U(te,fe,oe){return He[oe.context.type](te,fe,oe)}function Z(te,fe,oe,Ue){for(var we=Ue||1;we>0;we--)oe.context=oe.context.prev;return U(te,fe,oe)}function ce(te){var fe=te.current().toLowerCase();de.hasOwnProperty(fe)?qe="atom":L.hasOwnProperty(fe)?qe="keyword":qe="variable"}var He={};return He.top=function(te,fe,oe){if(te=="{")return Re(oe,fe,"block");if(te=="}"&&oe.context.prev)return Ge(oe);if(Ee&&/@component/i.test(te))return Re(oe,fe,"atComponentBlock");if(/^@(-moz-)?document$/i.test(te))return Re(oe,fe,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(te))return Re(oe,fe,"atBlock");if(/^@(font-face|counter-style)/i.test(te))return oe.stateArg=te,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(te))return"keyframes";if(te&&te.charAt(0)=="@")return Re(oe,fe,"at");if(te=="hash")qe="builtin";else if(te=="word")qe="tag";else{if(te=="variable-definition")return"maybeprop";if(te=="interpolation")return Re(oe,fe,"interpolation");if(te==":")return"pseudo";if(ze&&te=="(")return Re(oe,fe,"parens")}return oe.context.type},He.block=function(te,fe,oe){if(te=="word"){var Ue=fe.current().toLowerCase();return R.hasOwnProperty(Ue)?(qe="property","maybeprop"):le.hasOwnProperty(Ue)?(qe=ge?"string-2":"property","maybeprop"):ze?(qe=fe.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(qe+=" error","maybeprop")}else return te=="meta"?"block":!ze&&(te=="hash"||te=="qualifier")?(qe="error","block"):He.top(te,fe,oe)},He.maybeprop=function(te,fe,oe){return te==":"?Re(oe,fe,"prop"):U(te,fe,oe)},He.prop=function(te,fe,oe){if(te==";")return Ge(oe);if(te=="{"&&ze)return Re(oe,fe,"propBlock");if(te=="}"||te=="{")return Z(te,fe,oe);if(te=="(")return Re(oe,fe,"parens");if(te=="hash"&&!/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(fe.current()))qe+=" error";else if(te=="word")ce(fe);else if(te=="interpolation")return Re(oe,fe,"interpolation");return"prop"},He.propBlock=function(te,fe,oe){return te=="}"?Ge(oe):te=="word"?(qe="property","maybeprop"):oe.context.type},He.parens=function(te,fe,oe){return te=="{"||te=="}"?Z(te,fe,oe):te==")"?Ge(oe):te=="("?Re(oe,fe,"parens"):te=="interpolation"?Re(oe,fe,"interpolation"):(te=="word"&&ce(fe),"parens")},He.pseudo=function(te,fe,oe){return te=="meta"?"pseudo":te=="word"?(qe="variable-3",oe.context.type):U(te,fe,oe)},He.documentTypes=function(te,fe,oe){return te=="word"&&y.hasOwnProperty(fe.current())?(qe="tag",oe.context.type):He.atBlock(te,fe,oe)},He.atBlock=function(te,fe,oe){if(te=="(")return Re(oe,fe,"atBlock_parens");if(te=="}"||te==";")return Z(te,fe,oe);if(te=="{")return Ge(oe)&&Re(oe,fe,ze?"block":"top");if(te=="interpolation")return Re(oe,fe,"interpolation");if(te=="word"){var Ue=fe.current().toLowerCase();Ue=="only"||Ue=="not"||Ue=="and"||Ue=="or"?qe="keyword":K.hasOwnProperty(Ue)?qe="attribute":X.hasOwnProperty(Ue)?qe="property":F.hasOwnProperty(Ue)?qe="keyword":R.hasOwnProperty(Ue)?qe="property":le.hasOwnProperty(Ue)?qe=ge?"string-2":"property":de.hasOwnProperty(Ue)?qe="atom":L.hasOwnProperty(Ue)?qe="keyword":qe="error"}return oe.context.type},He.atComponentBlock=function(te,fe,oe){return te=="}"?Z(te,fe,oe):te=="{"?Ge(oe)&&Re(oe,fe,ze?"block":"top",!1):(te=="word"&&(qe="error"),oe.context.type)},He.atBlock_parens=function(te,fe,oe){return te==")"?Ge(oe):te=="{"||te=="}"?Z(te,fe,oe,2):He.atBlock(te,fe,oe)},He.restricted_atBlock_before=function(te,fe,oe){return te=="{"?Re(oe,fe,"restricted_atBlock"):te=="word"&&oe.stateArg=="@counter-style"?(qe="variable","restricted_atBlock_before"):U(te,fe,oe)},He.restricted_atBlock=function(te,fe,oe){return te=="}"?(oe.stateArg=null,Ge(oe)):te=="word"?(oe.stateArg=="@font-face"&&!xe.hasOwnProperty(fe.current().toLowerCase())||oe.stateArg=="@counter-style"&&!I.hasOwnProperty(fe.current().toLowerCase())?qe="error":qe="property","maybeprop"):"restricted_atBlock"},He.keyframes=function(te,fe,oe){return te=="word"?(qe="variable","keyframes"):te=="{"?Re(oe,fe,"top"):U(te,fe,oe)},He.at=function(te,fe,oe){return te==";"?Ge(oe):te=="{"||te=="}"?Z(te,fe,oe):(te=="word"?qe="tag":te=="hash"&&(qe="builtin"),"at")},He.interpolation=function(te,fe,oe){return te=="}"?Ge(oe):te=="{"||te==";"?Z(te,fe,oe):(te=="word"?qe="variable":te!="variable"&&te!="("&&te!=")"&&(qe="error"),"interpolation")},{startState:function(te){return{tokenize:null,state:Q?"block":"top",stateArg:null,context:new Je(Q?"block":"top",te||0,null)}},token:function(te,fe){if(!fe.tokenize&&te.eatSpace())return null;var oe=(fe.tokenize||Be)(te,fe);return oe&&typeof oe=="object"&&(Oe=oe[1],oe=oe[0]),qe=oe,Oe!="comment"&&(fe.state=He[fe.state](Oe,te,fe)),qe},indent:function(te,fe){var oe=te.context,Ue=fe&&fe.charAt(0),we=oe.indent;return oe.type=="prop"&&(Ue=="}"||Ue==")")&&(oe=oe.prev),oe.prev&&(Ue=="}"&&(oe.type=="block"||oe.type=="top"||oe.type=="interpolation"||oe.type=="restricted_atBlock")?(oe=oe.prev,we=oe.indent):(Ue==")"&&(oe.type=="parens"||oe.type=="atBlock_parens")||Ue=="{"&&(oe.type=="at"||oe.type=="atBlock"))&&(we=Math.max(0,oe.indent-j))),we},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:pe,fold:"brace"}});function p(O){for(var D={},Q=0;Q{(function(o){typeof Ms=="object"&&typeof As=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("diff",function(){var p={"+":"positive","-":"negative","@":"meta"};return{token:function(v){var C=v.string.search(/[\t ]+?$/);if(!v.sol()||C===0)return v.skipToEnd(),("error "+(p[v.string.charAt(0)]||"")).replace(/ $/,"");var b=p[v.peek()]||v.skipToEnd();return C===-1?v.skipToEnd():v.pos=C,b}}}),o.defineMIME("text/x-diff","diff")})});var mn=Ke((qs,Is)=>{(function(o){typeof qs=="object"&&typeof Is=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";var p={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},v={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};o.defineMode("xml",function(C,b){var S=C.indentUnit,s={},h=b.htmlMode?p:v;for(var g in h)s[g]=h[g];for(var g in b)s[g]=b[g];var T,w;function c(y,K){function X(le){return K.tokenize=le,le(y,K)}var F=y.next();if(F=="<")return y.eat("!")?y.eat("[")?y.match("CDATA[")?X(z("atom","]]>")):null:y.match("--")?X(z("comment","-->")):y.match("DOCTYPE",!0,!0)?(y.eatWhile(/[\w\._\-]/),X(M(1))):null:y.eat("?")?(y.eatWhile(/[\w\._\-]/),K.tokenize=z("meta","?>"),"meta"):(T=y.eat("/")?"closeTag":"openTag",K.tokenize=d,"tag bracket");if(F=="&"){var R;return y.eat("#")?y.eat("x")?R=y.eatWhile(/[a-fA-F\d]/)&&y.eat(";"):R=y.eatWhile(/[\d]/)&&y.eat(";"):R=y.eatWhile(/[\w\.\-:]/)&&y.eat(";"),R?"atom":"error"}else return y.eatWhile(/[^&<]/),null}c.isInText=!0;function d(y,K){var X=y.next();if(X==">"||X=="/"&&y.eat(">"))return K.tokenize=c,T=X==">"?"endTag":"selfcloseTag","tag bracket";if(X=="=")return T="equals",null;if(X=="<"){K.tokenize=c,K.state=G,K.tagName=K.tagStart=null;var F=K.tokenize(y,K);return F?F+" tag error":"tag error"}else return/[\'\"]/.test(X)?(K.tokenize=k(X),K.stringStartCol=y.column(),K.tokenize(y,K)):(y.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function k(y){var K=function(X,F){for(;!X.eol();)if(X.next()==y){F.tokenize=d;break}return"string"};return K.isInAttribute=!0,K}function z(y,K){return function(X,F){for(;!X.eol();){if(X.match(K)){F.tokenize=c;break}X.next()}return y}}function M(y){return function(K,X){for(var F;(F=K.next())!=null;){if(F=="<")return X.tokenize=M(y+1),X.tokenize(K,X);if(F==">")if(y==1){X.tokenize=c;break}else return X.tokenize=M(y-1),X.tokenize(K,X)}return"meta"}}function _(y){return y&&y.toLowerCase()}function W(y,K,X){this.prev=y.context,this.tagName=K||"",this.indent=y.indented,this.startOfLine=X,(s.doNotIndent.hasOwnProperty(K)||y.context&&y.context.noIndent)&&(this.noIndent=!0)}function E(y){y.context&&(y.context=y.context.prev)}function N(y,K){for(var X;;){if(!y.context||(X=y.context.tagName,!s.contextGrabbers.hasOwnProperty(_(X))||!s.contextGrabbers[_(X)].hasOwnProperty(_(K))))return;E(y)}}function G(y,K,X){return y=="openTag"?(X.tagStart=K.column(),J):y=="closeTag"?re:G}function J(y,K,X){return y=="word"?(X.tagName=K.current(),w="tag",D):s.allowMissingTagName&&y=="endTag"?(w="tag bracket",D(y,K,X)):(w="error",J)}function re(y,K,X){if(y=="word"){var F=K.current();return X.context&&X.context.tagName!=F&&s.implicitlyClosed.hasOwnProperty(_(X.context.tagName))&&E(X),X.context&&X.context.tagName==F||s.matchClosing===!1?(w="tag",q):(w="tag error",O)}else return s.allowMissingTagName&&y=="endTag"?(w="tag bracket",q(y,K,X)):(w="error",O)}function q(y,K,X){return y!="endTag"?(w="error",q):(E(X),G)}function O(y,K,X){return w="error",q(y,K,X)}function D(y,K,X){if(y=="word")return w="attribute",Q;if(y=="endTag"||y=="selfcloseTag"){var F=X.tagName,R=X.tagStart;return X.tagName=X.tagStart=null,y=="selfcloseTag"||s.autoSelfClosers.hasOwnProperty(_(F))?N(X,F):(N(X,F),X.context=new W(X,F,R==X.indented)),G}return w="error",D}function Q(y,K,X){return y=="equals"?j:(s.allowMissing||(w="error"),D(y,K,X))}function j(y,K,X){return y=="string"?V:y=="word"&&s.allowUnquoted?(w="string",D):(w="error",D(y,K,X))}function V(y,K,X){return y=="string"?V:D(y,K,X)}return{startState:function(y){var K={tokenize:c,state:G,indented:y||0,tagName:null,tagStart:null,context:null};return y!=null&&(K.baseIndent=y),K},token:function(y,K){if(!K.tagName&&y.sol()&&(K.indented=y.indentation()),y.eatSpace())return null;T=null;var X=K.tokenize(y,K);return(X||T)&&X!="comment"&&(w=null,K.state=K.state(T||X,y,K),w&&(X=w=="error"?X+" error":w)),X},indent:function(y,K,X){var F=y.context;if(y.tokenize.isInAttribute)return y.tagStart==y.indented?y.stringStartCol+1:y.indented+S;if(F&&F.noIndent)return o.Pass;if(y.tokenize!=d&&y.tokenize!=c)return X?X.match(/^(\s*)/)[0].length:0;if(y.tagName)return s.multilineTagIndentPastTag!==!1?y.tagStart+y.tagName.length+2:y.tagStart+S*(s.multilineTagIndentFactor||1);if(s.alignCDATA&&/$/,blockCommentStart:"",configuration:s.htmlMode?"html":"xml",helperType:s.htmlMode?"html":"xml",skipAttribute:function(y){y.state==j&&(y.state=D)},xmlCurrentTag:function(y){return y.tagName?{name:y.tagName,close:y.type=="closeTag"}:null},xmlCurrentContext:function(y){for(var K=[],X=y.context;X;X=X.prev)K.push(X.tagName);return K.reverse()}}}),o.defineMIME("text/xml","xml"),o.defineMIME("application/xml","xml"),o.mimeModes.hasOwnProperty("text/html")||o.defineMIME("text/html",{name:"xml",htmlMode:!0})})});var vn=Ke((Fs,Ns)=>{(function(o){typeof Fs=="object"&&typeof Ns=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("javascript",function(p,v){var C=p.indentUnit,b=v.statementIndent,S=v.jsonld,s=v.json||S,h=v.trackScope!==!1,g=v.typescript,T=v.wordCharacters||/[\w$\xa1-\uffff]/,w=function(){function x(pt){return{type:pt,style:"keyword"}}var P=x("keyword a"),ae=x("keyword b"),he=x("keyword c"),ne=x("keyword d"),ye=x("operator"),Xe={type:"atom",style:"atom"};return{if:x("if"),while:P,with:P,else:ae,do:ae,try:ae,finally:ae,return:ne,break:ne,continue:ne,new:x("new"),delete:he,void:he,throw:he,debugger:x("debugger"),var:x("var"),const:x("var"),let:x("var"),function:x("function"),catch:x("catch"),for:x("for"),switch:x("switch"),case:x("case"),default:x("default"),in:ye,typeof:ye,instanceof:ye,true:Xe,false:Xe,null:Xe,undefined:Xe,NaN:Xe,Infinity:Xe,this:x("this"),class:x("class"),super:x("atom"),yield:he,export:x("export"),import:x("import"),extends:he,await:he}}(),c=/[+\-*&%=<>!?|~^@]/,d=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function k(x){for(var P=!1,ae,he=!1;(ae=x.next())!=null;){if(!P){if(ae=="/"&&!he)return;ae=="["?he=!0:he&&ae=="]"&&(he=!1)}P=!P&&ae=="\\"}}var z,M;function _(x,P,ae){return z=x,M=ae,P}function W(x,P){var ae=x.next();if(ae=='"'||ae=="'")return P.tokenize=E(ae),P.tokenize(x,P);if(ae=="."&&x.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return _("number","number");if(ae=="."&&x.match(".."))return _("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(ae))return _(ae);if(ae=="="&&x.eat(">"))return _("=>","operator");if(ae=="0"&&x.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return _("number","number");if(/\d/.test(ae))return x.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),_("number","number");if(ae=="/")return x.eat("*")?(P.tokenize=N,N(x,P)):x.eat("/")?(x.skipToEnd(),_("comment","comment")):Bt(x,P,1)?(k(x),x.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),_("regexp","string-2")):(x.eat("="),_("operator","operator",x.current()));if(ae=="`")return P.tokenize=G,G(x,P);if(ae=="#"&&x.peek()=="!")return x.skipToEnd(),_("meta","meta");if(ae=="#"&&x.eatWhile(T))return _("variable","property");if(ae=="<"&&x.match("!--")||ae=="-"&&x.match("->")&&!/\S/.test(x.string.slice(0,x.start)))return x.skipToEnd(),_("comment","comment");if(c.test(ae))return(ae!=">"||!P.lexical||P.lexical.type!=">")&&(x.eat("=")?(ae=="!"||ae=="=")&&x.eat("="):/[<>*+\-|&?]/.test(ae)&&(x.eat(ae),ae==">"&&x.eat(ae))),ae=="?"&&x.eat(".")?_("."):_("operator","operator",x.current());if(T.test(ae)){x.eatWhile(T);var he=x.current();if(P.lastType!="."){if(w.propertyIsEnumerable(he)){var ne=w[he];return _(ne.type,ne.style,he)}if(he=="async"&&x.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return _("async","keyword",he)}return _("variable","variable",he)}}function E(x){return function(P,ae){var he=!1,ne;if(S&&P.peek()=="@"&&P.match(d))return ae.tokenize=W,_("jsonld-keyword","meta");for(;(ne=P.next())!=null&&!(ne==x&&!he);)he=!he&&ne=="\\";return he||(ae.tokenize=W),_("string","string")}}function N(x,P){for(var ae=!1,he;he=x.next();){if(he=="/"&&ae){P.tokenize=W;break}ae=he=="*"}return _("comment","comment")}function G(x,P){for(var ae=!1,he;(he=x.next())!=null;){if(!ae&&(he=="`"||he=="$"&&x.eat("{"))){P.tokenize=W;break}ae=!ae&&he=="\\"}return _("quasi","string-2",x.current())}var J="([{}])";function re(x,P){P.fatArrowAt&&(P.fatArrowAt=null);var ae=x.string.indexOf("=>",x.start);if(!(ae<0)){if(g){var he=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(x.string.slice(x.start,ae));he&&(ae=he.index)}for(var ne=0,ye=!1,Xe=ae-1;Xe>=0;--Xe){var pt=x.string.charAt(Xe),Et=J.indexOf(pt);if(Et>=0&&Et<3){if(!ne){++Xe;break}if(--ne==0){pt=="("&&(ye=!0);break}}else if(Et>=3&&Et<6)++ne;else if(T.test(pt))ye=!0;else if(/["'\/`]/.test(pt))for(;;--Xe){if(Xe==0)return;var Zr=x.string.charAt(Xe-1);if(Zr==pt&&x.string.charAt(Xe-2)!="\\"){Xe--;break}}else if(ye&&!ne){++Xe;break}}ye&&!ne&&(P.fatArrowAt=Xe)}}var q={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function O(x,P,ae,he,ne,ye){this.indented=x,this.column=P,this.type=ae,this.prev=ne,this.info=ye,he!=null&&(this.align=he)}function D(x,P){if(!h)return!1;for(var ae=x.localVars;ae;ae=ae.next)if(ae.name==P)return!0;for(var he=x.context;he;he=he.prev)for(var ae=he.vars;ae;ae=ae.next)if(ae.name==P)return!0}function Q(x,P,ae,he,ne){var ye=x.cc;for(j.state=x,j.stream=ne,j.marked=null,j.cc=ye,j.style=P,x.lexical.hasOwnProperty("align")||(x.lexical.align=!0);;){var Xe=ye.length?ye.pop():s?Se:Oe;if(Xe(ae,he)){for(;ye.length&&ye[ye.length-1].lex;)ye.pop()();return j.marked?j.marked:ae=="variable"&&D(x,he)?"variable-2":P}}}var j={state:null,column:null,marked:null,cc:null};function V(){for(var x=arguments.length-1;x>=0;x--)j.cc.push(arguments[x])}function y(){return V.apply(null,arguments),!0}function K(x,P){for(var ae=P;ae;ae=ae.next)if(ae.name==x)return!0;return!1}function X(x){var P=j.state;if(j.marked="def",!!h){if(P.context){if(P.lexical.info=="var"&&P.context&&P.context.block){var ae=F(x,P.context);if(ae!=null){P.context=ae;return}}else if(!K(x,P.localVars)){P.localVars=new xe(x,P.localVars);return}}v.globalVars&&!K(x,P.globalVars)&&(P.globalVars=new xe(x,P.globalVars))}}function F(x,P){if(P)if(P.block){var ae=F(x,P.prev);return ae?ae==P.prev?P:new le(ae,P.vars,!0):null}else return K(x,P.vars)?P:new le(P.prev,new xe(x,P.vars),!1);else return null}function R(x){return x=="public"||x=="private"||x=="protected"||x=="abstract"||x=="readonly"}function le(x,P,ae){this.prev=x,this.vars=P,this.block=ae}function xe(x,P){this.name=x,this.next=P}var I=new xe("this",new xe("arguments",null));function L(){j.state.context=new le(j.state.context,j.state.localVars,!1),j.state.localVars=I}function de(){j.state.context=new le(j.state.context,j.state.localVars,!0),j.state.localVars=null}L.lex=de.lex=!0;function ze(){j.state.localVars=j.state.context.vars,j.state.context=j.state.context.prev}ze.lex=!0;function pe(x,P){var ae=function(){var he=j.state,ne=he.indented;if(he.lexical.type=="stat")ne=he.lexical.indented;else for(var ye=he.lexical;ye&&ye.type==")"&&ye.align;ye=ye.prev)ne=ye.indented;he.lexical=new O(ne,j.stream.column(),x,null,he.lexical,P)};return ae.lex=!0,ae}function Ee(){var x=j.state;x.lexical.prev&&(x.lexical.type==")"&&(x.indented=x.lexical.indented),x.lexical=x.lexical.prev)}Ee.lex=!0;function ge(x){function P(ae){return ae==x?y():x==";"||ae=="}"||ae==")"||ae=="]"?V():y(P)}return P}function Oe(x,P){return x=="var"?y(pe("vardef",P),Rr,ge(";"),Ee):x=="keyword a"?y(pe("form"),Ze,Oe,Ee):x=="keyword b"?y(pe("form"),Oe,Ee):x=="keyword d"?j.stream.match(/^\s*$/,!1)?y():y(pe("stat"),Je,ge(";"),Ee):x=="debugger"?y(ge(";")):x=="{"?y(pe("}"),de,De,Ee,ze):x==";"?y():x=="if"?(j.state.lexical.info=="else"&&j.state.cc[j.state.cc.length-1]==Ee&&j.state.cc.pop()(),y(pe("form"),Ze,Oe,Ee,Hr)):x=="function"?y(Ht):x=="for"?y(pe("form"),de,ei,Oe,ze,Ee):x=="class"||g&&P=="interface"?(j.marked="keyword",y(pe("form",x=="class"?x:P),Wr,Ee)):x=="variable"?g&&P=="declare"?(j.marked="keyword",y(Oe)):g&&(P=="module"||P=="enum"||P=="type")&&j.stream.match(/^\s*\w/,!1)?(j.marked="keyword",P=="enum"?y(Ae):P=="type"?y(ti,ge("operator"),Pe,ge(";")):y(pe("form"),Ct,ge("{"),pe("}"),De,Ee,Ee)):g&&P=="namespace"?(j.marked="keyword",y(pe("form"),Se,Oe,Ee)):g&&P=="abstract"?(j.marked="keyword",y(Oe)):y(pe("stat"),Ue):x=="switch"?y(pe("form"),Ze,ge("{"),pe("}","switch"),de,De,Ee,Ee,ze):x=="case"?y(Se,ge(":")):x=="default"?y(ge(":")):x=="catch"?y(pe("form"),L,qe,Oe,Ee,ze):x=="export"?y(pe("stat"),Ur,Ee):x=="import"?y(pe("stat"),gr,Ee):x=="async"?y(Oe):P=="@"?y(Se,Oe):V(pe("stat"),Se,ge(";"),Ee)}function qe(x){if(x=="(")return y($t,ge(")"))}function Se(x,P){return ke(x,P,!1)}function Be(x,P){return ke(x,P,!0)}function Ze(x){return x!="("?V():y(pe(")"),Je,ge(")"),Ee)}function ke(x,P,ae){if(j.state.fatArrowAt==j.stream.start){var he=ae?He:ce;if(x=="(")return y(L,pe(")"),H($t,")"),Ee,ge("=>"),he,ze);if(x=="variable")return V(L,Ct,ge("=>"),he,ze)}var ne=ae?Ge:Re;return q.hasOwnProperty(x)?y(ne):x=="function"?y(Ht,ne):x=="class"||g&&P=="interface"?(j.marked="keyword",y(pe("form"),to,Ee)):x=="keyword c"||x=="async"?y(ae?Be:Se):x=="("?y(pe(")"),Je,ge(")"),Ee,ne):x=="operator"||x=="spread"?y(ae?Be:Se):x=="["?y(pe("]"),at,Ee,ne):x=="{"?se(Me,"}",null,ne):x=="quasi"?V(U,ne):x=="new"?y(te(ae)):y()}function Je(x){return x.match(/[;\}\)\],]/)?V():V(Se)}function Re(x,P){return x==","?y(Je):Ge(x,P,!1)}function Ge(x,P,ae){var he=ae==!1?Re:Ge,ne=ae==!1?Se:Be;if(x=="=>")return y(L,ae?He:ce,ze);if(x=="operator")return/\+\+|--/.test(P)||g&&P=="!"?y(he):g&&P=="<"&&j.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?y(pe(">"),H(Pe,">"),Ee,he):P=="?"?y(Se,ge(":"),ne):y(ne);if(x=="quasi")return V(U,he);if(x!=";"){if(x=="(")return se(Be,")","call",he);if(x==".")return y(we,he);if(x=="[")return y(pe("]"),Je,ge("]"),Ee,he);if(g&&P=="as")return j.marked="keyword",y(Pe,he);if(x=="regexp")return j.state.lastType=j.marked="operator",j.stream.backUp(j.stream.pos-j.stream.start-1),y(ne)}}function U(x,P){return x!="quasi"?V():P.slice(P.length-2)!="${"?y(U):y(Je,Z)}function Z(x){if(x=="}")return j.marked="string-2",j.state.tokenize=G,y(U)}function ce(x){return re(j.stream,j.state),V(x=="{"?Oe:Se)}function He(x){return re(j.stream,j.state),V(x=="{"?Oe:Be)}function te(x){return function(P){return P=="."?y(x?oe:fe):P=="variable"&&g?y(Ft,x?Ge:Re):V(x?Be:Se)}}function fe(x,P){if(P=="target")return j.marked="keyword",y(Re)}function oe(x,P){if(P=="target")return j.marked="keyword",y(Ge)}function Ue(x){return x==":"?y(Ee,Oe):V(Re,ge(";"),Ee)}function we(x){if(x=="variable")return j.marked="property",y()}function Me(x,P){if(x=="async")return j.marked="property",y(Me);if(x=="variable"||j.style=="keyword"){if(j.marked="property",P=="get"||P=="set")return y(Le);var ae;return g&&j.state.fatArrowAt==j.stream.start&&(ae=j.stream.match(/^\s*:\s*/,!1))&&(j.state.fatArrowAt=j.stream.pos+ae[0].length),y($)}else{if(x=="number"||x=="string")return j.marked=S?"property":j.style+" property",y($);if(x=="jsonld-keyword")return y($);if(g&&R(P))return j.marked="keyword",y(Me);if(x=="[")return y(Se,nt,ge("]"),$);if(x=="spread")return y(Be,$);if(P=="*")return j.marked="keyword",y(Me);if(x==":")return V($)}}function Le(x){return x!="variable"?V($):(j.marked="property",y(Ht))}function $(x){if(x==":")return y(Be);if(x=="(")return V(Ht)}function H(x,P,ae){function he(ne,ye){if(ae?ae.indexOf(ne)>-1:ne==","){var Xe=j.state.lexical;return Xe.info=="call"&&(Xe.pos=(Xe.pos||0)+1),y(function(pt,Et){return pt==P||Et==P?V():V(x)},he)}return ne==P||ye==P?y():ae&&ae.indexOf(";")>-1?V(x):y(ge(P))}return function(ne,ye){return ne==P||ye==P?y():V(x,he)}}function se(x,P,ae){for(var he=3;he"),Pe);if(x=="quasi")return V(_t,Rt)}function xt(x){if(x=="=>")return y(Pe)}function Fe(x){return x.match(/[\}\)\]]/)?y():x==","||x==";"?y(Fe):V(nr,Fe)}function nr(x,P){if(x=="variable"||j.style=="keyword")return j.marked="property",y(nr);if(P=="?"||x=="number"||x=="string")return y(nr);if(x==":")return y(Pe);if(x=="[")return y(ge("variable"),dt,ge("]"),nr);if(x=="(")return V(hr,nr);if(!x.match(/[;\}\)\],]/))return y()}function _t(x,P){return x!="quasi"?V():P.slice(P.length-2)!="${"?y(_t):y(Pe,it)}function it(x){if(x=="}")return j.marked="string-2",j.state.tokenize=G,y(_t)}function ot(x,P){return x=="variable"&&j.stream.match(/^\s*[?:]/,!1)||P=="?"?y(ot):x==":"?y(Pe):x=="spread"?y(ot):V(Pe)}function Rt(x,P){if(P=="<")return y(pe(">"),H(Pe,">"),Ee,Rt);if(P=="|"||x=="."||P=="&")return y(Pe);if(x=="[")return y(Pe,ge("]"),Rt);if(P=="extends"||P=="implements")return j.marked="keyword",y(Pe);if(P=="?")return y(Pe,ge(":"),Pe)}function Ft(x,P){if(P=="<")return y(pe(">"),H(Pe,">"),Ee,Rt)}function Wt(){return V(Pe,kt)}function kt(x,P){if(P=="=")return y(Pe)}function Rr(x,P){return P=="enum"?(j.marked="keyword",y(Ae)):V(Ct,nt,Ut,eo)}function Ct(x,P){if(g&&R(P))return j.marked="keyword",y(Ct);if(x=="variable")return X(P),y();if(x=="spread")return y(Ct);if(x=="[")return se(yn,"]");if(x=="{")return se(dr,"}")}function dr(x,P){return x=="variable"&&!j.stream.match(/^\s*:/,!1)?(X(P),y(Ut)):(x=="variable"&&(j.marked="property"),x=="spread"?y(Ct):x=="}"?V():x=="["?y(Se,ge("]"),ge(":"),dr):y(ge(":"),Ct,Ut))}function yn(){return V(Ct,Ut)}function Ut(x,P){if(P=="=")return y(Be)}function eo(x){if(x==",")return y(Rr)}function Hr(x,P){if(x=="keyword b"&&P=="else")return y(pe("form","else"),Oe,Ee)}function ei(x,P){if(P=="await")return y(ei);if(x=="(")return y(pe(")"),xn,Ee)}function xn(x){return x=="var"?y(Rr,pr):x=="variable"?y(pr):V(pr)}function pr(x,P){return x==")"?y():x==";"?y(pr):P=="in"||P=="of"?(j.marked="keyword",y(Se,pr)):V(Se,pr)}function Ht(x,P){if(P=="*")return j.marked="keyword",y(Ht);if(x=="variable")return X(P),y(Ht);if(x=="(")return y(L,pe(")"),H($t,")"),Ee,Pt,Oe,ze);if(g&&P=="<")return y(pe(">"),H(Wt,">"),Ee,Ht)}function hr(x,P){if(P=="*")return j.marked="keyword",y(hr);if(x=="variable")return X(P),y(hr);if(x=="(")return y(L,pe(")"),H($t,")"),Ee,Pt,ze);if(g&&P=="<")return y(pe(">"),H(Wt,">"),Ee,hr)}function ti(x,P){if(x=="keyword"||x=="variable")return j.marked="type",y(ti);if(P=="<")return y(pe(">"),H(Wt,">"),Ee)}function $t(x,P){return P=="@"&&y(Se,$t),x=="spread"?y($t):g&&R(P)?(j.marked="keyword",y($t)):g&&x=="this"?y(nt,Ut):V(Ct,nt,Ut)}function to(x,P){return x=="variable"?Wr(x,P):Kt(x,P)}function Wr(x,P){if(x=="variable")return X(P),y(Kt)}function Kt(x,P){if(P=="<")return y(pe(">"),H(Wt,">"),Ee,Kt);if(P=="extends"||P=="implements"||g&&x==",")return P=="implements"&&(j.marked="keyword"),y(g?Pe:Se,Kt);if(x=="{")return y(pe("}"),Gt,Ee)}function Gt(x,P){if(x=="async"||x=="variable"&&(P=="static"||P=="get"||P=="set"||g&&R(P))&&j.stream.match(/^\s+#?[\w$\xa1-\uffff]/,!1))return j.marked="keyword",y(Gt);if(x=="variable"||j.style=="keyword")return j.marked="property",y(Cr,Gt);if(x=="number"||x=="string")return y(Cr,Gt);if(x=="[")return y(Se,nt,ge("]"),Cr,Gt);if(P=="*")return j.marked="keyword",y(Gt);if(g&&x=="(")return V(hr,Gt);if(x==";"||x==",")return y(Gt);if(x=="}")return y();if(P=="@")return y(Se,Gt)}function Cr(x,P){if(P=="!"||P=="?")return y(Cr);if(x==":")return y(Pe,Ut);if(P=="=")return y(Be);var ae=j.state.lexical.prev,he=ae&&ae.info=="interface";return V(he?hr:Ht)}function Ur(x,P){return P=="*"?(j.marked="keyword",y(Gr,ge(";"))):P=="default"?(j.marked="keyword",y(Se,ge(";"))):x=="{"?y(H($r,"}"),Gr,ge(";")):V(Oe)}function $r(x,P){if(P=="as")return j.marked="keyword",y(ge("variable"));if(x=="variable")return V(Be,$r)}function gr(x){return x=="string"?y():x=="("?V(Se):x=="."?V(Re):V(Kr,Vt,Gr)}function Kr(x,P){return x=="{"?se(Kr,"}"):(x=="variable"&&X(P),P=="*"&&(j.marked="keyword"),y(_n))}function Vt(x){if(x==",")return y(Kr,Vt)}function _n(x,P){if(P=="as")return j.marked="keyword",y(Kr)}function Gr(x,P){if(P=="from")return j.marked="keyword",y(Se)}function at(x){return x=="]"?y():V(H(Be,"]"))}function Ae(){return V(pe("form"),Ct,ge("{"),pe("}"),H(ir,"}"),Ee,Ee)}function ir(){return V(Ct,Ut)}function kn(x,P){return x.lastType=="operator"||x.lastType==","||c.test(P.charAt(0))||/[,.]/.test(P.charAt(0))}function Bt(x,P,ae){return P.tokenize==W&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(P.lastType)||P.lastType=="quasi"&&/\{\s*$/.test(x.string.slice(0,x.pos-(ae||0)))}return{startState:function(x){var P={tokenize:W,lastType:"sof",cc:[],lexical:new O((x||0)-C,0,"block",!1),localVars:v.localVars,context:v.localVars&&new le(null,null,!1),indented:x||0};return v.globalVars&&typeof v.globalVars=="object"&&(P.globalVars=v.globalVars),P},token:function(x,P){if(x.sol()&&(P.lexical.hasOwnProperty("align")||(P.lexical.align=!1),P.indented=x.indentation(),re(x,P)),P.tokenize!=N&&x.eatSpace())return null;var ae=P.tokenize(x,P);return z=="comment"?ae:(P.lastType=z=="operator"&&(M=="++"||M=="--")?"incdec":z,Q(P,ae,z,M,x))},indent:function(x,P){if(x.tokenize==N||x.tokenize==G)return o.Pass;if(x.tokenize!=W)return 0;var ae=P&&P.charAt(0),he=x.lexical,ne;if(!/^\s*else\b/.test(P))for(var ye=x.cc.length-1;ye>=0;--ye){var Xe=x.cc[ye];if(Xe==Ee)he=he.prev;else if(Xe!=Hr&&Xe!=ze)break}for(;(he.type=="stat"||he.type=="form")&&(ae=="}"||(ne=x.cc[x.cc.length-1])&&(ne==Re||ne==Ge)&&!/^[,\.=+\-*:?[\(]/.test(P));)he=he.prev;b&&he.type==")"&&he.prev.type=="stat"&&(he=he.prev);var pt=he.type,Et=ae==pt;return pt=="vardef"?he.indented+(x.lastType=="operator"||x.lastType==","?he.info.length+1:0):pt=="form"&&ae=="{"?he.indented:pt=="form"?he.indented+C:pt=="stat"?he.indented+(kn(x,P)?b||C:0):he.info=="switch"&&!Et&&v.doubleIndentSwitch!=!1?he.indented+(/^(?:case|default)\b/.test(P)?C:2*C):he.align?he.column+(Et?0:1):he.indented+(Et?0:C)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:s?null:"/*",blockCommentEnd:s?null:"*/",blockCommentContinue:s?null:" * ",lineComment:s?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:s?"json":"javascript",jsonldMode:S,jsonMode:s,expressionAllowed:Bt,skipExpression:function(x){Q(x,"atom","atom","true",new o.StringStream("",2,null))}}}),o.registerHelper("wordChars","javascript",/[\w$]/),o.defineMIME("text/javascript","javascript"),o.defineMIME("text/ecmascript","javascript"),o.defineMIME("application/javascript","javascript"),o.defineMIME("application/x-javascript","javascript"),o.defineMIME("application/ecmascript","javascript"),o.defineMIME("application/json",{name:"javascript",json:!0}),o.defineMIME("application/x-json",{name:"javascript",json:!0}),o.defineMIME("application/manifest+json",{name:"javascript",json:!0}),o.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),o.defineMIME("text/typescript",{name:"javascript",typescript:!0}),o.defineMIME("application/typescript",{name:"javascript",typescript:!0})})});var Qn=Ke((Os,Ps)=>{(function(o){typeof Os=="object"&&typeof Ps=="object"?o(We(),mn(),vn(),gn()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../xml/xml","../javascript/javascript","../css/css"],o):o(CodeMirror)})(function(o){"use strict";var p={script:[["lang",/(javascript|babel)/i,"javascript"],["type",/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i,"javascript"],["type",/./,"text/plain"],[null,null,"javascript"]],style:[["lang",/^css$/i,"css"],["type",/^(text\/)?(x-)?(stylesheet|css)$/i,"css"],["type",/./,"text/plain"],[null,null,"css"]]};function v(T,w,c){var d=T.current(),k=d.search(w);return k>-1?T.backUp(d.length-k):d.match(/<\/?$/)&&(T.backUp(d.length),T.match(w,!1)||T.match(d)),c}var C={};function b(T){var w=C[T];return w||(C[T]=new RegExp("\\s+"+T+`\\s*=\\s*('|")?([^'"]+)('|")?\\s*`))}function S(T,w){var c=T.match(b(w));return c?/^\s*(.*?)\s*$/.exec(c[2])[1]:""}function s(T,w){return new RegExp((w?"^":"")+"","i")}function h(T,w){for(var c in T)for(var d=w[c]||(w[c]=[]),k=T[c],z=k.length-1;z>=0;z--)d.unshift(k[z])}function g(T,w){for(var c=0;c=0;M--)d.script.unshift(["type",z[M].matches,z[M].mode]);function _(W,E){var N=c.token(W,E.htmlState),G=/\btag\b/.test(N),J;if(G&&!/[<>\s\/]/.test(W.current())&&(J=E.htmlState.tagName&&E.htmlState.tagName.toLowerCase())&&d.hasOwnProperty(J))E.inTag=J+" ";else if(E.inTag&&G&&/>$/.test(W.current())){var re=/^([\S]+) (.*)/.exec(E.inTag);E.inTag=null;var q=W.current()==">"&&g(d[re[1]],re[2]),O=o.getMode(T,q),D=s(re[1],!0),Q=s(re[1],!1);E.token=function(j,V){return j.match(D,!1)?(V.token=_,V.localState=V.localMode=null,null):v(j,Q,V.localMode.token(j,V.localState))},E.localMode=O,E.localState=o.startState(O,c.indent(E.htmlState,"",""))}else E.inTag&&(E.inTag+=W.current(),W.eol()&&(E.inTag+=" "));return N}return{startState:function(){var W=o.startState(c);return{token:_,inTag:null,localMode:null,localState:null,htmlState:W}},copyState:function(W){var E;return W.localState&&(E=o.copyState(W.localMode,W.localState)),{token:W.token,inTag:W.inTag,localMode:W.localMode,localState:E,htmlState:o.copyState(c,W.htmlState)}},token:function(W,E){return E.token(W,E)},indent:function(W,E,N){return!W.localMode||/^\s*<\//.test(E)?c.indent(W.htmlState,E,N):W.localMode.indent?W.localMode.indent(W.localState,E,N):o.Pass},innerMode:function(W){return{state:W.localState||W.htmlState,mode:W.localMode||c}}}},"xml","javascript","css"),o.defineMIME("text/html","htmlmixed")})});var Rs=Ke((Bs,js)=>{(function(o){typeof Bs=="object"&&typeof js=="object"?o(We(),Qn(),Yn()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed","../../addon/mode/overlay"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("django:inner",function(){var p=["block","endblock","for","endfor","true","false","filter","endfilter","loop","none","self","super","if","elif","endif","as","else","import","with","endwith","without","context","ifequal","endifequal","ifnotequal","endifnotequal","extends","include","load","comment","endcomment","empty","url","static","trans","blocktrans","endblocktrans","now","regroup","lorem","ifchanged","endifchanged","firstof","debug","cycle","csrf_token","autoescape","endautoescape","spaceless","endspaceless","ssi","templatetag","verbatim","endverbatim","widthratio"],v=["add","addslashes","capfirst","center","cut","date","default","default_if_none","dictsort","dictsortreversed","divisibleby","escape","escapejs","filesizeformat","first","floatformat","force_escape","get_digit","iriencode","join","last","length","length_is","linebreaks","linebreaksbr","linenumbers","ljust","lower","make_list","phone2numeric","pluralize","pprint","random","removetags","rjust","safe","safeseq","slice","slugify","stringformat","striptags","time","timesince","timeuntil","title","truncatechars","truncatechars_html","truncatewords","truncatewords_html","unordered_list","upper","urlencode","urlize","urlizetrunc","wordcount","wordwrap","yesno"],C=["==","!=","<",">","<=",">="],b=["in","not","or","and"];p=new RegExp("^\\b("+p.join("|")+")\\b"),v=new RegExp("^\\b("+v.join("|")+")\\b"),C=new RegExp("^\\b("+C.join("|")+")\\b"),b=new RegExp("^\\b("+b.join("|")+")\\b");function S(c,d){if(c.match("{{"))return d.tokenize=h,"tag";if(c.match("{%"))return d.tokenize=g,"tag";if(c.match("{#"))return d.tokenize=T,"comment";for(;c.next()!=null&&!c.match(/\{[{%#]/,!1););return null}function s(c,d){return function(k,z){if(!z.escapeNext&&k.eat(c))z.tokenize=d;else{z.escapeNext&&(z.escapeNext=!1);var M=k.next();M=="\\"&&(z.escapeNext=!0)}return"string"}}function h(c,d){if(d.waitDot){if(d.waitDot=!1,c.peek()!=".")return"null";if(c.match(/\.\W+/))return"error";if(c.eat("."))return d.waitProperty=!0,"null";throw Error("Unexpected error while waiting for property.")}if(d.waitPipe){if(d.waitPipe=!1,c.peek()!="|")return"null";if(c.match(/\.\W+/))return"error";if(c.eat("|"))return d.waitFilter=!0,"null";throw Error("Unexpected error while waiting for filter.")}return d.waitProperty&&(d.waitProperty=!1,c.match(/\b(\w+)\b/))?(d.waitDot=!0,d.waitPipe=!0,"property"):d.waitFilter&&(d.waitFilter=!1,c.match(v))?"variable-2":c.eatSpace()?(d.waitProperty=!1,"null"):c.match(/\b\d+(\.\d+)?\b/)?"number":c.match("'")?(d.tokenize=s("'",d.tokenize),"string"):c.match('"')?(d.tokenize=s('"',d.tokenize),"string"):c.match(/\b(\w+)\b/)&&!d.foundVariable?(d.waitDot=!0,d.waitPipe=!0,"variable"):c.match("}}")?(d.waitProperty=null,d.waitFilter=null,d.waitDot=null,d.waitPipe=null,d.tokenize=S,"tag"):(c.next(),"null")}function g(c,d){if(d.waitDot){if(d.waitDot=!1,c.peek()!=".")return"null";if(c.match(/\.\W+/))return"error";if(c.eat("."))return d.waitProperty=!0,"null";throw Error("Unexpected error while waiting for property.")}if(d.waitPipe){if(d.waitPipe=!1,c.peek()!="|")return"null";if(c.match(/\.\W+/))return"error";if(c.eat("|"))return d.waitFilter=!0,"null";throw Error("Unexpected error while waiting for filter.")}if(d.waitProperty&&(d.waitProperty=!1,c.match(/\b(\w+)\b/)))return d.waitDot=!0,d.waitPipe=!0,"property";if(d.waitFilter&&(d.waitFilter=!1,c.match(v)))return"variable-2";if(c.eatSpace())return d.waitProperty=!1,"null";if(c.match(/\b\d+(\.\d+)?\b/))return"number";if(c.match("'"))return d.tokenize=s("'",d.tokenize),"string";if(c.match('"'))return d.tokenize=s('"',d.tokenize),"string";if(c.match(C))return"operator";if(c.match(b))return"keyword";var k=c.match(p);return k?(k[0]=="comment"&&(d.blockCommentTag=!0),"keyword"):c.match(/\b(\w+)\b/)?(d.waitDot=!0,d.waitPipe=!0,"variable"):c.match("%}")?(d.waitProperty=null,d.waitFilter=null,d.waitDot=null,d.waitPipe=null,d.blockCommentTag?(d.blockCommentTag=!1,d.tokenize=w):d.tokenize=S,"tag"):(c.next(),"null")}function T(c,d){return c.match(/^.*?#\}/)?d.tokenize=S:c.skipToEnd(),"comment"}function w(c,d){return c.match(/\{%\s*endcomment\s*%\}/,!1)?(d.tokenize=g,c.match("{%"),"tag"):(c.next(),"comment")}return{startState:function(){return{tokenize:S}},token:function(c,d){return d.tokenize(c,d)},blockCommentStart:"{% comment %}",blockCommentEnd:"{% endcomment %}"}}),o.defineMode("django",function(p){var v=o.getMode(p,"text/html"),C=o.getMode(p,"django:inner");return o.overlayMode(v,C)}),o.defineMIME("text/x-django","django")})});var Di=Ke((Hs,Ws)=>{(function(o){typeof Hs=="object"&&typeof Ws=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineSimpleMode=function(w,c){o.defineMode(w,function(d){return o.simpleMode(d,c)})},o.simpleMode=function(w,c){p(c,"start");var d={},k=c.meta||{},z=!1;for(var M in c)if(M!=k&&c.hasOwnProperty(M))for(var _=d[M]=[],W=c[M],E=0;E2&&N.token&&typeof N.token!="string"){for(var re=2;re-1)return o.Pass;var M=d.indent.length-1,_=w[d.state];e:for(;;){for(var W=0;W<_.length;W++){var E=_[W];if(E.data.dedent&&E.data.dedentIfLineStart!==!1){var N=E.regex.exec(k);if(N&&N[0]){M--,(E.next||E.push)&&(_=w[E.next||E.push]),k=k.slice(N[0].length);continue e}}}break}return M<0?0:d.indent[M]}}})});var Ks=Ke((Us,$s)=>{(function(o){typeof Us=="object"&&typeof $s=="object"?o(We(),Di()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../../addon/mode/simple"],o):o(CodeMirror)})(function(o){"use strict";var p="from",v=new RegExp("^(\\s*)\\b("+p+")\\b","i"),C=["run","cmd","entrypoint","shell"],b=new RegExp("^(\\s*)("+C.join("|")+")(\\s+\\[)","i"),S="expose",s=new RegExp("^(\\s*)("+S+")(\\s+)","i"),h=["arg","from","maintainer","label","env","add","copy","volume","user","workdir","onbuild","stopsignal","healthcheck","shell"],g=[p,S].concat(C).concat(h),T="("+g.join("|")+")",w=new RegExp("^(\\s*)"+T+"(\\s*)(#.*)?$","i"),c=new RegExp("^(\\s*)"+T+"(\\s+)","i");o.defineSimpleMode("dockerfile",{start:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:v,token:[null,"keyword"],sol:!0,next:"from"},{regex:w,token:[null,"keyword",null,"error"],sol:!0},{regex:b,token:[null,"keyword",null],sol:!0,next:"array"},{regex:s,token:[null,"keyword",null],sol:!0,next:"expose"},{regex:c,token:[null,"keyword",null],sol:!0,next:"arguments"},{regex:/./,token:null}],from:[{regex:/\s*$/,token:null,next:"start"},{regex:/(\s*)(#.*)$/,token:[null,"error"],next:"start"},{regex:/(\s*\S+\s+)(as)/i,token:[null,"keyword"],next:"start"},{token:null,next:"start"}],single:[{regex:/(?:[^\\']|\\.)/,token:"string"},{regex:/'/,token:"string",pop:!0}],double:[{regex:/(?:[^\\"]|\\.)/,token:"string"},{regex:/"/,token:"string",pop:!0}],array:[{regex:/\]/,token:null,next:"start"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"}],expose:[{regex:/\d+$/,token:"number",next:"start"},{regex:/[^\d]+$/,token:null,next:"start"},{regex:/\d+/,token:"number"},{regex:/[^\d]+/,token:null},{token:null,next:"start"}],arguments:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:/"(?:[^\\"]|\\.)*"?$/,token:"string",next:"start"},{regex:/"/,token:"string",push:"double"},{regex:/'(?:[^\\']|\\.)*'?$/,token:"string",next:"start"},{regex:/'/,token:"string",push:"single"},{regex:/[^#"']+[\\`]$/,token:null},{regex:/[^#"']+$/,token:null,next:"start"},{regex:/[^#"']+/,token:null},{token:null,next:"start"}],meta:{lineComment:"#"}}),o.defineMIME("text/x-dockerfile","dockerfile")})});var Xs=Ke((Gs,Zs)=>{(function(o){typeof Gs=="object"&&typeof Zs=="object"?o(We()):typeof define=="function"&&define.amd?define(["../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy","cbl"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp","cs"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists\.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded JavaScript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90","f95"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history)\.md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"text/jinja2",mode:"jinja2",ext:["j2","jinja","jinja2"]},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"],alias:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb","wl","wls"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m"],alias:["objective-c","objc"]},{name:"Objective-C++",mime:"text/x-objectivec++",mode:"clike",ext:["mm"],alias:["objective-c++","objc++"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PostgreSQL",mime:"text/x-pgsql",mode:"sql"},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]},{name:"WebAssembly",mime:"text/webassembly",mode:"wast",ext:["wat","wast"]}];for(var p=0;p-1&&C.substring(s+1,C.length);if(h)return o.findModeByExtension(h)},o.findModeByName=function(C){C=C.toLowerCase();for(var b=0;b{(function(o){typeof Ys=="object"&&typeof Qs=="object"?o(We(),mn(),Xs()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../xml/xml","../meta"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("markdown",function(p,v){var C=o.getMode(p,"text/html"),b=C.name=="null";function S(I){if(o.findModeByName){var L=o.findModeByName(I);L&&(I=L.mime||L.mimes[0])}var de=o.getMode(p,I);return de.name=="null"?null:de}v.highlightFormatting===void 0&&(v.highlightFormatting=!1),v.maxBlockquoteDepth===void 0&&(v.maxBlockquoteDepth=0),v.taskLists===void 0&&(v.taskLists=!1),v.strikethrough===void 0&&(v.strikethrough=!1),v.emoji===void 0&&(v.emoji=!1),v.fencedCodeBlockHighlighting===void 0&&(v.fencedCodeBlockHighlighting=!0),v.fencedCodeBlockDefaultMode===void 0&&(v.fencedCodeBlockDefaultMode="text/plain"),v.xml===void 0&&(v.xml=!0),v.tokenTypeOverrides===void 0&&(v.tokenTypeOverrides={});var s={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var h in s)s.hasOwnProperty(h)&&v.tokenTypeOverrides[h]&&(s[h]=v.tokenTypeOverrides[h]);var g=/^([*\-_])(?:\s*\1){2,}\s*$/,T=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,w=/^\[(x| )\](?=\s)/i,c=v.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,d=/^ {0,3}(?:\={1,}|-{2,})\s*$/,k=/^[^#!\[\]*_\\<>` "'(~:]+/,z=/^(~~~+|```+)[ \t]*([\w\/+#-]*)[^\n`]*$/,M=/^\s*\[[^\]]+?\]:.*$/,_=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/,W=" ";function E(I,L,de){return L.f=L.inline=de,de(I,L)}function N(I,L,de){return L.f=L.block=de,de(I,L)}function G(I){return!I||!/\S/.test(I.string)}function J(I){if(I.linkTitle=!1,I.linkHref=!1,I.linkText=!1,I.em=!1,I.strong=!1,I.strikethrough=!1,I.quote=0,I.indentedCode=!1,I.f==q){var L=b;if(!L){var de=o.innerMode(C,I.htmlState);L=de.mode.name=="xml"&&de.state.tagStart===null&&!de.state.context&&de.state.tokenize.isInText}L&&(I.f=j,I.block=re,I.htmlState=null)}return I.trailingSpace=0,I.trailingSpaceNewLine=!1,I.prevLine=I.thisLine,I.thisLine={stream:null},null}function re(I,L){var de=I.column()===L.indentation,ze=G(L.prevLine.stream),pe=L.indentedCode,Ee=L.prevLine.hr,ge=L.list!==!1,Oe=(L.listStack[L.listStack.length-1]||0)+3;L.indentedCode=!1;var qe=L.indentation;if(L.indentationDiff===null&&(L.indentationDiff=L.indentation,ge)){for(L.list=null;qe=4&&(pe||L.prevLine.fencedCodeEnd||L.prevLine.header||ze))return I.skipToEnd(),L.indentedCode=!0,s.code;if(I.eatSpace())return null;if(de&&L.indentation<=Oe&&(Ze=I.match(c))&&Ze[1].length<=6)return L.quote=0,L.header=Ze[1].length,L.thisLine.header=!0,v.highlightFormatting&&(L.formatting="header"),L.f=L.inline,D(L);if(L.indentation<=Oe&&I.eat(">"))return L.quote=de?1:L.quote+1,v.highlightFormatting&&(L.formatting="quote"),I.eatSpace(),D(L);if(!Be&&!L.setext&&de&&L.indentation<=Oe&&(Ze=I.match(T))){var ke=Ze[1]?"ol":"ul";return L.indentation=qe+I.current().length,L.list=!0,L.quote=0,L.listStack.push(L.indentation),L.em=!1,L.strong=!1,L.code=!1,L.strikethrough=!1,v.taskLists&&I.match(w,!1)&&(L.taskList=!0),L.f=L.inline,v.highlightFormatting&&(L.formatting=["list","list-"+ke]),D(L)}else{if(de&&L.indentation<=Oe&&(Ze=I.match(z,!0)))return L.quote=0,L.fencedEndRE=new RegExp(Ze[1]+"+ *$"),L.localMode=v.fencedCodeBlockHighlighting&&S(Ze[2]||v.fencedCodeBlockDefaultMode),L.localMode&&(L.localState=o.startState(L.localMode)),L.f=L.block=O,v.highlightFormatting&&(L.formatting="code-block"),L.code=-1,D(L);if(L.setext||(!Se||!ge)&&!L.quote&&L.list===!1&&!L.code&&!Be&&!M.test(I.string)&&(Ze=I.lookAhead(1))&&(Ze=Ze.match(d)))return L.setext?(L.header=L.setext,L.setext=0,I.skipToEnd(),v.highlightFormatting&&(L.formatting="header")):(L.header=Ze[0].charAt(0)=="="?1:2,L.setext=L.header),L.thisLine.header=!0,L.f=L.inline,D(L);if(Be)return I.skipToEnd(),L.hr=!0,L.thisLine.hr=!0,s.hr;if(I.peek()==="[")return E(I,L,F)}return E(I,L,L.inline)}function q(I,L){var de=C.token(I,L.htmlState);if(!b){var ze=o.innerMode(C,L.htmlState);(ze.mode.name=="xml"&&ze.state.tagStart===null&&!ze.state.context&&ze.state.tokenize.isInText||L.md_inside&&I.current().indexOf(">")>-1)&&(L.f=j,L.block=re,L.htmlState=null)}return de}function O(I,L){var de=L.listStack[L.listStack.length-1]||0,ze=L.indentation=I.quote?L.push(s.formatting+"-"+I.formatting[de]+"-"+I.quote):L.push("error"))}if(I.taskOpen)return L.push("meta"),L.length?L.join(" "):null;if(I.taskClosed)return L.push("property"),L.length?L.join(" "):null;if(I.linkHref?L.push(s.linkHref,"url"):(I.strong&&L.push(s.strong),I.em&&L.push(s.em),I.strikethrough&&L.push(s.strikethrough),I.emoji&&L.push(s.emoji),I.linkText&&L.push(s.linkText),I.code&&L.push(s.code),I.image&&L.push(s.image),I.imageAltText&&L.push(s.imageAltText,"link"),I.imageMarker&&L.push(s.imageMarker)),I.header&&L.push(s.header,s.header+"-"+I.header),I.quote&&(L.push(s.quote),!v.maxBlockquoteDepth||v.maxBlockquoteDepth>=I.quote?L.push(s.quote+"-"+I.quote):L.push(s.quote+"-"+v.maxBlockquoteDepth)),I.list!==!1){var ze=(I.listStack.length-1)%3;ze?ze===1?L.push(s.list2):L.push(s.list3):L.push(s.list1)}return I.trailingSpaceNewLine?L.push("trailing-space-new-line"):I.trailingSpace&&L.push("trailing-space-"+(I.trailingSpace%2?"a":"b")),L.length?L.join(" "):null}function Q(I,L){if(I.match(k,!0))return D(L)}function j(I,L){var de=L.text(I,L);if(typeof de<"u")return de;if(L.list)return L.list=null,D(L);if(L.taskList){var ze=I.match(w,!0)[1]===" ";return ze?L.taskOpen=!0:L.taskClosed=!0,v.highlightFormatting&&(L.formatting="task"),L.taskList=!1,D(L)}if(L.taskOpen=!1,L.taskClosed=!1,L.header&&I.match(/^#+$/,!0))return v.highlightFormatting&&(L.formatting="header"),D(L);var pe=I.next();if(L.linkTitle){L.linkTitle=!1;var Ee=pe;pe==="("&&(Ee=")"),Ee=(Ee+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var ge="^\\s*(?:[^"+Ee+"\\\\]+|\\\\\\\\|\\\\.)"+Ee;if(I.match(new RegExp(ge),!0))return s.linkHref}if(pe==="`"){var Oe=L.formatting;v.highlightFormatting&&(L.formatting="code"),I.eatWhile("`");var qe=I.current().length;if(L.code==0&&(!L.quote||qe==1))return L.code=qe,D(L);if(qe==L.code){var Se=D(L);return L.code=0,Se}else return L.formatting=Oe,D(L)}else if(L.code)return D(L);if(pe==="\\"&&(I.next(),v.highlightFormatting)){var Be=D(L),Ze=s.formatting+"-escape";return Be?Be+" "+Ze:Ze}if(pe==="!"&&I.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return L.imageMarker=!0,L.image=!0,v.highlightFormatting&&(L.formatting="image"),D(L);if(pe==="["&&L.imageMarker&&I.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return L.imageMarker=!1,L.imageAltText=!0,v.highlightFormatting&&(L.formatting="image"),D(L);if(pe==="]"&&L.imageAltText){v.highlightFormatting&&(L.formatting="image");var Be=D(L);return L.imageAltText=!1,L.image=!1,L.inline=L.f=y,Be}if(pe==="["&&!L.image)return L.linkText&&I.match(/^.*?\]/)||(L.linkText=!0,v.highlightFormatting&&(L.formatting="link")),D(L);if(pe==="]"&&L.linkText){v.highlightFormatting&&(L.formatting="link");var Be=D(L);return L.linkText=!1,L.inline=L.f=I.match(/\(.*?\)| ?\[.*?\]/,!1)?y:j,Be}if(pe==="<"&&I.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){L.f=L.inline=V,v.highlightFormatting&&(L.formatting="link");var Be=D(L);return Be?Be+=" ":Be="",Be+s.linkInline}if(pe==="<"&&I.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){L.f=L.inline=V,v.highlightFormatting&&(L.formatting="link");var Be=D(L);return Be?Be+=" ":Be="",Be+s.linkEmail}if(v.xml&&pe==="<"&&I.match(/^(!--|\?|!\[CDATA\[|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*(?:>|$))/i,!1)){var ke=I.string.indexOf(">",I.pos);if(ke!=-1){var Je=I.string.substring(I.start,ke);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(Je)&&(L.md_inside=!0)}return I.backUp(1),L.htmlState=o.startState(C),N(I,L,q)}if(v.xml&&pe==="<"&&I.match(/^\/\w*?>/))return L.md_inside=!1,"tag";if(pe==="*"||pe==="_"){for(var Re=1,Ge=I.pos==1?" ":I.string.charAt(I.pos-2);Re<3&&I.eat(pe);)Re++;var U=I.peek()||" ",Z=!/\s/.test(U)&&(!_.test(U)||/\s/.test(Ge)||_.test(Ge)),ce=!/\s/.test(Ge)&&(!_.test(Ge)||/\s/.test(U)||_.test(U)),He=null,te=null;if(Re%2&&(!L.em&&Z&&(pe==="*"||!ce||_.test(Ge))?He=!0:L.em==pe&&ce&&(pe==="*"||!Z||_.test(U))&&(He=!1)),Re>1&&(!L.strong&&Z&&(pe==="*"||!ce||_.test(Ge))?te=!0:L.strong==pe&&ce&&(pe==="*"||!Z||_.test(U))&&(te=!1)),te!=null||He!=null){v.highlightFormatting&&(L.formatting=He==null?"strong":te==null?"em":"strong em"),He===!0&&(L.em=pe),te===!0&&(L.strong=pe);var Se=D(L);return He===!1&&(L.em=!1),te===!1&&(L.strong=!1),Se}}else if(pe===" "&&(I.eat("*")||I.eat("_"))){if(I.peek()===" ")return D(L);I.backUp(1)}if(v.strikethrough){if(pe==="~"&&I.eatWhile(pe)){if(L.strikethrough){v.highlightFormatting&&(L.formatting="strikethrough");var Se=D(L);return L.strikethrough=!1,Se}else if(I.match(/^[^\s]/,!1))return L.strikethrough=!0,v.highlightFormatting&&(L.formatting="strikethrough"),D(L)}else if(pe===" "&&I.match("~~",!0)){if(I.peek()===" ")return D(L);I.backUp(2)}}if(v.emoji&&pe===":"&&I.match(/^(?:[a-z_\d+][a-z_\d+-]*|\-[a-z_\d+][a-z_\d+-]*):/)){L.emoji=!0,v.highlightFormatting&&(L.formatting="emoji");var fe=D(L);return L.emoji=!1,fe}return pe===" "&&(I.match(/^ +$/,!1)?L.trailingSpace++:L.trailingSpace&&(L.trailingSpaceNewLine=!0)),D(L)}function V(I,L){var de=I.next();if(de===">"){L.f=L.inline=j,v.highlightFormatting&&(L.formatting="link");var ze=D(L);return ze?ze+=" ":ze="",ze+s.linkInline}return I.match(/^[^>]+/,!0),s.linkInline}function y(I,L){if(I.eatSpace())return null;var de=I.next();return de==="("||de==="["?(L.f=L.inline=X(de==="("?")":"]"),v.highlightFormatting&&(L.formatting="link-string"),L.linkHref=!0,D(L)):"error"}var K={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/};function X(I){return function(L,de){var ze=L.next();if(ze===I){de.f=de.inline=j,v.highlightFormatting&&(de.formatting="link-string");var pe=D(de);return de.linkHref=!1,pe}return L.match(K[I]),de.linkHref=!0,D(de)}}function F(I,L){return I.match(/^([^\]\\]|\\.)*\]:/,!1)?(L.f=R,I.next(),v.highlightFormatting&&(L.formatting="link"),L.linkText=!0,D(L)):E(I,L,j)}function R(I,L){if(I.match("]:",!0)){L.f=L.inline=le,v.highlightFormatting&&(L.formatting="link");var de=D(L);return L.linkText=!1,de}return I.match(/^([^\]\\]|\\.)+/,!0),s.linkText}function le(I,L){return I.eatSpace()?null:(I.match(/^[^\s]+/,!0),I.peek()===void 0?L.linkTitle=!0:I.match(/^(?:\s+(?:"(?:[^"\\]|\\.)+"|'(?:[^'\\]|\\.)+'|\((?:[^)\\]|\\.)+\)))?/,!0),L.f=L.inline=j,s.linkHref+" url")}var xe={startState:function(){return{f:re,prevLine:{stream:null},thisLine:{stream:null},block:re,htmlState:null,indentation:0,inline:j,text:Q,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(I){return{f:I.f,prevLine:I.prevLine,thisLine:I.thisLine,block:I.block,htmlState:I.htmlState&&o.copyState(C,I.htmlState),indentation:I.indentation,localMode:I.localMode,localState:I.localMode?o.copyState(I.localMode,I.localState):null,inline:I.inline,text:I.text,formatting:!1,linkText:I.linkText,linkTitle:I.linkTitle,linkHref:I.linkHref,code:I.code,em:I.em,strong:I.strong,strikethrough:I.strikethrough,emoji:I.emoji,header:I.header,setext:I.setext,hr:I.hr,taskList:I.taskList,list:I.list,listStack:I.listStack.slice(0),quote:I.quote,indentedCode:I.indentedCode,trailingSpace:I.trailingSpace,trailingSpaceNewLine:I.trailingSpaceNewLine,md_inside:I.md_inside,fencedEndRE:I.fencedEndRE}},token:function(I,L){if(L.formatting=!1,I!=L.thisLine.stream){if(L.header=0,L.hr=!1,I.match(/^\s*$/,!0))return J(L),null;if(L.prevLine=L.thisLine,L.thisLine={stream:I},L.taskList=!1,L.trailingSpace=0,L.trailingSpaceNewLine=!1,!L.localState&&(L.f=L.block,L.f!=q)){var de=I.match(/^\s*/,!0)[0].replace(/\t/g,W).length;if(L.indentation=de,L.indentationDiff=null,de>0)return null}}return L.f(I,L)},innerMode:function(I){return I.block==q?{state:I.htmlState,mode:C}:I.localState?{state:I.localState,mode:I.localMode}:{state:I,mode:xe}},indent:function(I,L,de){return I.block==q&&C.indent?C.indent(I.htmlState,L,de):I.localState&&I.localMode.indent?I.localMode.indent(I.localState,L,de):o.Pass},blankLine:J,getType:D,blockCommentStart:"",closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return xe},"xml"),o.defineMIME("text/markdown","markdown"),o.defineMIME("text/x-markdown","markdown")})});var eu=Ke((Vs,Js)=>{(function(o){typeof Vs=="object"&&typeof Js=="object"?o(We(),Jo(),Yn()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../markdown/markdown","../../addon/mode/overlay"],o):o(CodeMirror)})(function(o){"use strict";var p=/^((?:(?:aaas?|about|acap|adiumxtra|af[ps]|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|cap|chrome(?:-extension)?|cid|coap|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-(?:playcontainer|playsingle)|dns|doi|dtn|dvb|ed2k|facetime|feed|file|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|hcp|https?|iax|icap|icon|im|imap|info|ipn|ipp|irc[6s]?|iris(?:\.beep|\.lwz|\.xpc|\.xpcs)?|itms|jar|javascript|jms|keyparc|lastfm|ldaps?|magnet|mailto|maps|market|message|mid|mms|ms-help|msnim|msrps?|mtqp|mumble|mupdate|mvn|news|nfs|nih?|nntp|notes|oid|opaquelocktoken|palm|paparazzi|platform|pop|pres|proxy|psyc|query|res(?:ource)?|rmi|rsync|rtmp|rtsp|secondlife|service|session|sftp|sgn|shttp|sieve|sips?|skype|sm[bs]|snmp|soap\.beeps?|soldat|spotify|ssh|steam|svn|tag|teamspeak|tel(?:net)?|tftp|things|thismessage|tip|tn3270|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|view-source|webcal|wss?|wtai|wyciwyg|xcon(?:-userid)?|xfire|xmlrpc\.beeps?|xmpp|xri|ymsgr|z39\.50[rs]?):(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()\[\]{};:'".,<>?«»“”‘’]))/i;o.defineMode("gfm",function(v,C){var b=0;function S(T){return T.code=!1,null}var s={startState:function(){return{code:!1,codeBlock:!1,ateSpace:!1}},copyState:function(T){return{code:T.code,codeBlock:T.codeBlock,ateSpace:T.ateSpace}},token:function(T,w){if(w.combineTokens=null,w.codeBlock)return T.match(/^```+/)?(w.codeBlock=!1,null):(T.skipToEnd(),null);if(T.sol()&&(w.code=!1),T.sol()&&T.match(/^```+/))return T.skipToEnd(),w.codeBlock=!0,null;if(T.peek()==="`"){T.next();var c=T.pos;T.eatWhile("`");var d=1+T.pos-c;return w.code?d===b&&(w.code=!1):(b=d,w.code=!0),null}else if(w.code)return T.next(),null;if(T.eatSpace())return w.ateSpace=!0,null;if((T.sol()||w.ateSpace)&&(w.ateSpace=!1,C.gitHubSpice!==!1)){if(T.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+@)?(?=.{0,6}\d)(?:[a-f0-9]{7,40}\b)/))return w.combineTokens=!0,"link";if(T.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+)?#[0-9]+\b/))return w.combineTokens=!0,"link"}return T.match(p)&&T.string.slice(T.start-2,T.start)!="]("&&(T.start==0||/\W/.test(T.string.charAt(T.start-1)))?(w.combineTokens=!0,"link"):(T.next(),null)},blankLine:S},h={taskLists:!0,strikethrough:!0,emoji:!0};for(var g in C)h[g]=C[g];return h.name="markdown",o.overlayMode(o.getMode(v,h),s)},"markdown"),o.defineMIME("text/x-gfm","gfm")})});var nu=Ke((tu,ru)=>{(function(o){typeof tu=="object"&&typeof ru=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("go",function(p){var v=p.indentUnit,C={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},b={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},S=/[+\-*&^%:=<>!|\/]/,s;function h(k,z){var M=k.next();if(M=='"'||M=="'"||M=="`")return z.tokenize=g(M),z.tokenize(k,z);if(/[\d\.]/.test(M))return M=="."?k.match(/^[0-9_]+([eE][\-+]?[0-9_]+)?/):M=="0"?k.match(/^[xX][0-9a-fA-F_]+/)||k.match(/^[0-7_]+/):k.match(/^[0-9_]*\.?[0-9_]*([eE][\-+]?[0-9_]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(M))return s=M,null;if(M=="/"){if(k.eat("*"))return z.tokenize=T,T(k,z);if(k.eat("/"))return k.skipToEnd(),"comment"}if(S.test(M))return k.eatWhile(S),"operator";k.eatWhile(/[\w\$_\xa1-\uffff]/);var _=k.current();return C.propertyIsEnumerable(_)?((_=="case"||_=="default")&&(s="case"),"keyword"):b.propertyIsEnumerable(_)?"atom":"variable"}function g(k){return function(z,M){for(var _=!1,W,E=!1;(W=z.next())!=null;){if(W==k&&!_){E=!0;break}_=!_&&k!="`"&&W=="\\"}return(E||!(_||k=="`"))&&(M.tokenize=h),"string"}}function T(k,z){for(var M=!1,_;_=k.next();){if(_=="/"&&M){z.tokenize=h;break}M=_=="*"}return"comment"}function w(k,z,M,_,W){this.indented=k,this.column=z,this.type=M,this.align=_,this.prev=W}function c(k,z,M){return k.context=new w(k.indented,z,M,null,k.context)}function d(k){if(k.context.prev){var z=k.context.type;return(z==")"||z=="]"||z=="}")&&(k.indented=k.context.indented),k.context=k.context.prev}}return{startState:function(k){return{tokenize:null,context:new w((k||0)-v,0,"top",!1),indented:0,startOfLine:!0}},token:function(k,z){var M=z.context;if(k.sol()&&(M.align==null&&(M.align=!1),z.indented=k.indentation(),z.startOfLine=!0,M.type=="case"&&(M.type="}")),k.eatSpace())return null;s=null;var _=(z.tokenize||h)(k,z);return _=="comment"||(M.align==null&&(M.align=!0),s=="{"?c(z,k.column(),"}"):s=="["?c(z,k.column(),"]"):s=="("?c(z,k.column(),")"):s=="case"?M.type="case":(s=="}"&&M.type=="}"||s==M.type)&&d(z),z.startOfLine=!1),_},indent:function(k,z){if(k.tokenize!=h&&k.tokenize!=null)return o.Pass;var M=k.context,_=z&&z.charAt(0);if(M.type=="case"&&/^(?:case|default)\b/.test(z))return k.context.type="}",M.indented;var W=_==M.type;return M.align?M.column+(W?0:1):M.indented+(W?0:v)},electricChars:"{}):",closeBrackets:"()[]{}''\"\"``",fold:"brace",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//"}}),o.defineMIME("text/x-go","go")})});var au=Ke((iu,ou)=>{(function(o){typeof iu=="object"&&typeof ou=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("http",function(){function p(T,w){return T.skipToEnd(),w.cur=h,"error"}function v(T,w){return T.match(/^HTTP\/\d\.\d/)?(w.cur=C,"keyword"):T.match(/^[A-Z]+/)&&/[ \t]/.test(T.peek())?(w.cur=S,"keyword"):p(T,w)}function C(T,w){var c=T.match(/^\d+/);if(!c)return p(T,w);w.cur=b;var d=Number(c[0]);return d>=100&&d<200?"positive informational":d>=200&&d<300?"positive success":d>=300&&d<400?"positive redirect":d>=400&&d<500?"negative client-error":d>=500&&d<600?"negative server-error":"error"}function b(T,w){return T.skipToEnd(),w.cur=h,null}function S(T,w){return T.eatWhile(/\S/),w.cur=s,"string-2"}function s(T,w){return T.match(/^HTTP\/\d\.\d$/)?(w.cur=h,"keyword"):p(T,w)}function h(T){return T.sol()&&!T.eat(/[ \t]/)?T.match(/^.*?:/)?"atom":(T.skipToEnd(),"error"):(T.skipToEnd(),"string")}function g(T){return T.skipToEnd(),null}return{token:function(T,w){var c=w.cur;return c!=h&&c!=g&&T.eatSpace()?null:c(T,w)},blankLine:function(T){T.cur=g},startState:function(){return{cur:v}}}}),o.defineMIME("message/http","http")})});var uu=Ke((lu,su)=>{(function(o){typeof lu=="object"&&typeof su=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("jinja2",function(){var p=["and","as","block","endblock","by","cycle","debug","else","elif","extends","filter","endfilter","firstof","do","for","endfor","if","endif","ifchanged","endifchanged","ifequal","endifequal","ifnotequal","set","raw","endraw","endifnotequal","in","include","load","not","now","or","parsed","regroup","reversed","spaceless","call","endcall","macro","endmacro","endspaceless","ssi","templatetag","openblock","closeblock","openvariable","closevariable","without","context","openbrace","closebrace","opencomment","closecomment","widthratio","url","with","endwith","get_current_language","trans","endtrans","noop","blocktrans","endblocktrans","get_available_languages","get_current_language_bidi","pluralize","autoescape","endautoescape"],v=/^[+\-*&%=<>!?|~^]/,C=/^[:\[\(\{]/,b=["true","false"],S=/^(\d[+\-\*\/])?\d+(\.\d+)?/;p=new RegExp("(("+p.join(")|(")+"))\\b"),b=new RegExp("(("+b.join(")|(")+"))\\b");function s(h,g){var T=h.peek();if(g.incomment)return h.skipTo("#}")?(h.eatWhile(/\#|}/),g.incomment=!1):h.skipToEnd(),"comment";if(g.intag){if(g.operator){if(g.operator=!1,h.match(b))return"atom";if(h.match(S))return"number"}if(g.sign){if(g.sign=!1,h.match(b))return"atom";if(h.match(S))return"number"}if(g.instring)return T==g.instring&&(g.instring=!1),h.next(),"string";if(T=="'"||T=='"')return g.instring=T,h.next(),"string";if(g.inbraces>0&&T==")")h.next(),g.inbraces--;else if(T=="(")h.next(),g.inbraces++;else if(g.inbrackets>0&&T=="]")h.next(),g.inbrackets--;else if(T=="[")h.next(),g.inbrackets++;else{if(!g.lineTag&&(h.match(g.intag+"}")||h.eat("-")&&h.match(g.intag+"}")))return g.intag=!1,"tag";if(h.match(v))return g.operator=!0,"operator";if(h.match(C))g.sign=!0;else{if(h.column()==1&&g.lineTag&&h.match(p))return"keyword";if(h.eat(" ")||h.sol()){if(h.match(p))return"keyword";if(h.match(b))return"atom";if(h.match(S))return"number";h.sol()&&h.next()}else h.next()}}return"variable"}else if(h.eat("{")){if(h.eat("#"))return g.incomment=!0,h.skipTo("#}")?(h.eatWhile(/\#|}/),g.incomment=!1):h.skipToEnd(),"comment";if(T=h.eat(/\{|%/))return g.intag=T,g.inbraces=0,g.inbrackets=0,T=="{"&&(g.intag="}"),h.eat("-"),"tag"}else if(h.eat("#")){if(h.peek()=="#")return h.skipToEnd(),"comment";if(!h.eol())return g.intag=!0,g.lineTag=!0,g.inbraces=0,g.inbrackets=0,"tag"}h.next()}return{startState:function(){return{tokenize:s,inbrackets:0,inbraces:0}},token:function(h,g){var T=g.tokenize(h,g);return h.eol()&&g.lineTag&&!g.instring&&g.inbraces==0&&g.inbrackets==0&&(g.intag=!1,g.lineTag=!1),T},blockCommentStart:"{#",blockCommentEnd:"#}",lineComment:"##"}}),o.defineMIME("text/jinja2","jinja2")})});var du=Ke((cu,fu)=>{(function(o){typeof cu=="object"&&typeof fu=="object"?o(We(),mn(),vn()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../xml/xml","../javascript/javascript"],o):o(CodeMirror)})(function(o){"use strict";function p(C,b,S,s){this.state=C,this.mode=b,this.depth=S,this.prev=s}function v(C){return new p(o.copyState(C.mode,C.state),C.mode,C.depth,C.prev&&v(C.prev))}o.defineMode("jsx",function(C,b){var S=o.getMode(C,{name:"xml",allowMissing:!0,multilineTagIndentPastTag:!1,allowMissingTagName:!0}),s=o.getMode(C,b&&b.base||"javascript");function h(c){var d=c.tagName;c.tagName=null;var k=S.indent(c,"","");return c.tagName=d,k}function g(c,d){return d.context.mode==S?T(c,d,d.context):w(c,d,d.context)}function T(c,d,k){if(k.depth==2)return c.match(/^.*?\*\//)?k.depth=1:c.skipToEnd(),"comment";if(c.peek()=="{"){S.skipAttribute(k.state);var z=h(k.state),M=k.state.context;if(M&&c.match(/^[^>]*>\s*$/,!1)){for(;M.prev&&!M.startOfLine;)M=M.prev;M.startOfLine?z-=C.indentUnit:k.prev.state.lexical&&(z=k.prev.state.lexical.indented)}else k.depth==1&&(z+=C.indentUnit);return d.context=new p(o.startState(s,z),s,0,d.context),null}if(k.depth==1){if(c.peek()=="<")return S.skipAttribute(k.state),d.context=new p(o.startState(S,h(k.state)),S,0,d.context),null;if(c.match("//"))return c.skipToEnd(),"comment";if(c.match("/*"))return k.depth=2,g(c,d)}var _=S.token(c,k.state),W=c.current(),E;return/\btag\b/.test(_)?/>$/.test(W)?k.state.context?k.depth=0:d.context=d.context.prev:/^-1&&c.backUp(W.length-E),_}function w(c,d,k){if(c.peek()=="<"&&!c.match(/^<([^<>]|<[^>]*>)+,\s*>/,!1)&&s.expressionAllowed(c,k.state))return d.context=new p(o.startState(S,s.indent(k.state,"","")),S,0,d.context),s.skipExpression(k.state),null;var z=s.token(c,k.state);if(!z&&k.depth!=null){var M=c.current();M=="{"?k.depth++:M=="}"&&--k.depth==0&&(d.context=d.context.prev)}return z}return{startState:function(){return{context:new p(o.startState(s),s)}},copyState:function(c){return{context:v(c.context)}},token:g,indent:function(c,d,k){return c.context.mode.indent(c.context.state,d,k)},innerMode:function(c){return c.context}}},"xml","javascript"),o.defineMIME("text/jsx","jsx"),o.defineMIME("text/typescript-jsx",{name:"jsx",base:{name:"javascript",typescript:!0}})})});var gu=Ke((pu,hu)=>{(function(o){typeof pu=="object"&&typeof hu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("nginx",function(p){function v(k){for(var z={},M=k.split(" "),_=0;_*\/]/.test(_)?g(null,"select-op"):/[;{}:\[\]]/.test(_)?g(null,_):(k.eatWhile(/[\w\\\-]/),g("variable","variable"))}function w(k,z){for(var M=!1,_;(_=k.next())!=null;){if(M&&_=="/"){z.tokenize=T;break}M=_=="*"}return g("comment","comment")}function c(k,z){for(var M=0,_;(_=k.next())!=null;){if(M>=2&&_==">"){z.tokenize=T;break}M=_=="-"?M+1:0}return g("comment","comment")}function d(k){return function(z,M){for(var _=!1,W;(W=z.next())!=null&&!(W==k&&!_);)_=!_&&W=="\\";return _||(M.tokenize=T),g("string","string")}}return{startState:function(k){return{tokenize:T,baseIndent:k||0,stack:[]}},token:function(k,z){if(k.eatSpace())return null;h=null;var M=z.tokenize(k,z),_=z.stack[z.stack.length-1];return h=="hash"&&_=="rule"?M="atom":M=="variable"&&(_=="rule"?M="number":(!_||_=="@media{")&&(M="tag")),_=="rule"&&/^[\{\};]$/.test(h)&&z.stack.pop(),h=="{"?_=="@media"?z.stack[z.stack.length-1]="@media{":z.stack.push("{"):h=="}"?z.stack.pop():h=="@media"?z.stack.push("@media"):_=="{"&&h!="comment"&&z.stack.push("rule"),M},indent:function(k,z){var M=k.stack.length;return/^\}/.test(z)&&(M-=k.stack[k.stack.length-1]=="rule"?2:1),k.baseIndent+M*s},electricChars:"}"}}),o.defineMIME("text/x-nginx-conf","nginx")})});var bu=Ke((mu,vu)=>{(function(o){typeof mu=="object"&&typeof vu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("pascal",function(){function p(T){for(var w={},c=T.split(" "),d=0;d!?|\/]/;function S(T,w){var c=T.next();if(c=="#"&&w.startOfLine)return T.skipToEnd(),"meta";if(c=='"'||c=="'")return w.tokenize=s(c),w.tokenize(T,w);if(c=="("&&T.eat("*"))return w.tokenize=h,h(T,w);if(c=="{")return w.tokenize=g,g(T,w);if(/[\[\]\(\),;\:\.]/.test(c))return null;if(/\d/.test(c))return T.eatWhile(/[\w\.]/),"number";if(c=="/"&&T.eat("/"))return T.skipToEnd(),"comment";if(b.test(c))return T.eatWhile(b),"operator";T.eatWhile(/[\w\$_]/);var d=T.current().toLowerCase();return v.propertyIsEnumerable(d)?"keyword":C.propertyIsEnumerable(d)?"atom":"variable"}function s(T){return function(w,c){for(var d=!1,k,z=!1;(k=w.next())!=null;){if(k==T&&!d){z=!0;break}d=!d&&k=="\\"}return(z||!d)&&(c.tokenize=null),"string"}}function h(T,w){for(var c=!1,d;d=T.next();){if(d==")"&&c){w.tokenize=null;break}c=d=="*"}return"comment"}function g(T,w){for(var c;c=T.next();)if(c=="}"){w.tokenize=null;break}return"comment"}return{startState:function(){return{tokenize:null}},token:function(T,w){if(T.eatSpace())return null;var c=(w.tokenize||S)(T,w);return c=="comment"||c=="meta",c},electricChars:"{}"}}),o.defineMIME("text/x-pascal","pascal")})});var _u=Ke((yu,xu)=>{(function(o){typeof yu=="object"&&typeof xu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("perl",function(){var S={"->":4,"++":4,"--":4,"**":4,"=~":4,"!~":4,"*":4,"/":4,"%":4,x:4,"+":4,"-":4,".":4,"<<":4,">>":4,"<":4,">":4,"<=":4,">=":4,lt:4,gt:4,le:4,ge:4,"==":4,"!=":4,"<=>":4,eq:4,ne:4,cmp:4,"~~":4,"&":4,"|":4,"^":4,"&&":4,"||":4,"//":4,"..":4,"...":4,"?":4,":":4,"=":4,"+=":4,"-=":4,"*=":4,",":4,"=>":4,"::":4,not:4,and:4,or:4,xor:4,BEGIN:[5,1],END:[5,1],PRINT:[5,1],PRINTF:[5,1],GETC:[5,1],READ:[5,1],READLINE:[5,1],DESTROY:[5,1],TIE:[5,1],TIEHANDLE:[5,1],UNTIE:[5,1],STDIN:5,STDIN_TOP:5,STDOUT:5,STDOUT_TOP:5,STDERR:5,STDERR_TOP:5,$ARG:5,$_:5,"@ARG":5,"@_":5,$LIST_SEPARATOR:5,'$"':5,$PROCESS_ID:5,$PID:5,$$:5,$REAL_GROUP_ID:5,$GID:5,"$(":5,$EFFECTIVE_GROUP_ID:5,$EGID:5,"$)":5,$PROGRAM_NAME:5,$0:5,$SUBSCRIPT_SEPARATOR:5,$SUBSEP:5,"$;":5,$REAL_USER_ID:5,$UID:5,"$<":5,$EFFECTIVE_USER_ID:5,$EUID:5,"$>":5,$a:5,$b:5,$COMPILING:5,"$^C":5,$DEBUGGING:5,"$^D":5,"${^ENCODING}":5,$ENV:5,"%ENV":5,$SYSTEM_FD_MAX:5,"$^F":5,"@F":5,"${^GLOBAL_PHASE}":5,"$^H":5,"%^H":5,"@INC":5,"%INC":5,$INPLACE_EDIT:5,"$^I":5,"$^M":5,$OSNAME:5,"$^O":5,"${^OPEN}":5,$PERLDB:5,"$^P":5,$SIG:5,"%SIG":5,$BASETIME:5,"$^T":5,"${^TAINT}":5,"${^UNICODE}":5,"${^UTF8CACHE}":5,"${^UTF8LOCALE}":5,$PERL_VERSION:5,"$^V":5,"${^WIN32_SLOPPY_STAT}":5,$EXECUTABLE_NAME:5,"$^X":5,$1:5,$MATCH:5,"$&":5,"${^MATCH}":5,$PREMATCH:5,"$`":5,"${^PREMATCH}":5,$POSTMATCH:5,"$'":5,"${^POSTMATCH}":5,$LAST_PAREN_MATCH:5,"$+":5,$LAST_SUBMATCH_RESULT:5,"$^N":5,"@LAST_MATCH_END":5,"@+":5,"%LAST_PAREN_MATCH":5,"%+":5,"@LAST_MATCH_START":5,"@-":5,"%LAST_MATCH_START":5,"%-":5,$LAST_REGEXP_CODE_RESULT:5,"$^R":5,"${^RE_DEBUG_FLAGS}":5,"${^RE_TRIE_MAXBUF}":5,$ARGV:5,"@ARGV":5,ARGV:5,ARGVOUT:5,$OUTPUT_FIELD_SEPARATOR:5,$OFS:5,"$,":5,$INPUT_LINE_NUMBER:5,$NR:5,"$.":5,$INPUT_RECORD_SEPARATOR:5,$RS:5,"$/":5,$OUTPUT_RECORD_SEPARATOR:5,$ORS:5,"$\\":5,$OUTPUT_AUTOFLUSH:5,"$|":5,$ACCUMULATOR:5,"$^A":5,$FORMAT_FORMFEED:5,"$^L":5,$FORMAT_PAGE_NUMBER:5,"$%":5,$FORMAT_LINES_LEFT:5,"$-":5,$FORMAT_LINE_BREAK_CHARACTERS:5,"$:":5,$FORMAT_LINES_PER_PAGE:5,"$=":5,$FORMAT_TOP_NAME:5,"$^":5,$FORMAT_NAME:5,"$~":5,"${^CHILD_ERROR_NATIVE}":5,$EXTENDED_OS_ERROR:5,"$^E":5,$EXCEPTIONS_BEING_CAUGHT:5,"$^S":5,$WARNING:5,"$^W":5,"${^WARNING_BITS}":5,$OS_ERROR:5,$ERRNO:5,"$!":5,"%OS_ERROR":5,"%ERRNO":5,"%!":5,$CHILD_ERROR:5,"$?":5,$EVAL_ERROR:5,"$@":5,$OFMT:5,"$#":5,"$*":5,$ARRAY_BASE:5,"$[":5,$OLD_PERL_VERSION:5,"$]":5,if:[1,1],elsif:[1,1],else:[1,1],while:[1,1],unless:[1,1],for:[1,1],foreach:[1,1],abs:1,accept:1,alarm:1,atan2:1,bind:1,binmode:1,bless:1,bootstrap:1,break:1,caller:1,chdir:1,chmod:1,chomp:1,chop:1,chown:1,chr:1,chroot:1,close:1,closedir:1,connect:1,continue:[1,1],cos:1,crypt:1,dbmclose:1,dbmopen:1,default:1,defined:1,delete:1,die:1,do:1,dump:1,each:1,endgrent:1,endhostent:1,endnetent:1,endprotoent:1,endpwent:1,endservent:1,eof:1,eval:1,exec:1,exists:1,exit:1,exp:1,fcntl:1,fileno:1,flock:1,fork:1,format:1,formline:1,getc:1,getgrent:1,getgrgid:1,getgrnam:1,gethostbyaddr:1,gethostbyname:1,gethostent:1,getlogin:1,getnetbyaddr:1,getnetbyname:1,getnetent:1,getpeername:1,getpgrp:1,getppid:1,getpriority:1,getprotobyname:1,getprotobynumber:1,getprotoent:1,getpwent:1,getpwnam:1,getpwuid:1,getservbyname:1,getservbyport:1,getservent:1,getsockname:1,getsockopt:1,given:1,glob:1,gmtime:1,goto:1,grep:1,hex:1,import:1,index:1,int:1,ioctl:1,join:1,keys:1,kill:1,last:1,lc:1,lcfirst:1,length:1,link:1,listen:1,local:2,localtime:1,lock:1,log:1,lstat:1,m:null,map:1,mkdir:1,msgctl:1,msgget:1,msgrcv:1,msgsnd:1,my:2,new:1,next:1,no:1,oct:1,open:1,opendir:1,ord:1,our:2,pack:1,package:1,pipe:1,pop:1,pos:1,print:1,printf:1,prototype:1,push:1,q:null,qq:null,qr:null,quotemeta:null,qw:null,qx:null,rand:1,read:1,readdir:1,readline:1,readlink:1,readpipe:1,recv:1,redo:1,ref:1,rename:1,require:1,reset:1,return:1,reverse:1,rewinddir:1,rindex:1,rmdir:1,s:null,say:1,scalar:1,seek:1,seekdir:1,select:1,semctl:1,semget:1,semop:1,send:1,setgrent:1,sethostent:1,setnetent:1,setpgrp:1,setpriority:1,setprotoent:1,setpwent:1,setservent:1,setsockopt:1,shift:1,shmctl:1,shmget:1,shmread:1,shmwrite:1,shutdown:1,sin:1,sleep:1,socket:1,socketpair:1,sort:1,splice:1,split:1,sprintf:1,sqrt:1,srand:1,stat:1,state:1,study:1,sub:1,substr:1,symlink:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,tell:1,telldir:1,tie:1,tied:1,time:1,times:1,tr:null,truncate:1,uc:1,ucfirst:1,umask:1,undef:1,unlink:1,unpack:1,unshift:1,untie:1,use:1,utime:1,values:1,vec:1,wait:1,waitpid:1,wantarray:1,warn:1,when:1,write:1,y:null},s="string-2",h=/[goseximacplud]/;function g(c,d,k,z,M){return d.chain=null,d.style=null,d.tail=null,d.tokenize=function(_,W){for(var E=!1,N,G=0;N=_.next();){if(N===k[G]&&!E)return k[++G]!==void 0?(W.chain=k[G],W.style=z,W.tail=M):M&&_.eatWhile(M),W.tokenize=w,z;E=!E&&N=="\\"}return z},d.tokenize(c,d)}function T(c,d,k){return d.tokenize=function(z,M){return z.string==k&&(M.tokenize=w),z.skipToEnd(),"string"},d.tokenize(c,d)}function w(c,d){if(c.eatSpace())return null;if(d.chain)return g(c,d,d.chain,d.style,d.tail);if(c.match(/^(\-?((\d[\d_]*)?\.\d+(e[+-]?\d+)?|\d+\.\d*)|0x[\da-fA-F_]+|0b[01_]+|\d[\d_]*(e[+-]?\d+)?)/))return"number";if(c.match(/^<<(?=[_a-zA-Z])/))return c.eatWhile(/\w/),T(c,d,c.current().substr(2));if(c.sol()&&c.match(/^\=item(?!\w)/))return T(c,d,"=cut");var k=c.next();if(k=='"'||k=="'"){if(v(c,3)=="<<"+k){var z=c.pos;c.eatWhile(/\w/);var M=c.current().substr(1);if(M&&c.eat(k))return T(c,d,M);c.pos=z}return g(c,d,[k],"string")}if(k=="q"){var _=p(c,-2);if(!(_&&/\w/.test(_))){if(_=p(c,0),_=="x"){if(_=p(c,1),_=="(")return b(c,2),g(c,d,[")"],s,h);if(_=="[")return b(c,2),g(c,d,["]"],s,h);if(_=="{")return b(c,2),g(c,d,["}"],s,h);if(_=="<")return b(c,2),g(c,d,[">"],s,h);if(/[\^'"!~\/]/.test(_))return b(c,1),g(c,d,[c.eat(_)],s,h)}else if(_=="q"){if(_=p(c,1),_=="(")return b(c,2),g(c,d,[")"],"string");if(_=="[")return b(c,2),g(c,d,["]"],"string");if(_=="{")return b(c,2),g(c,d,["}"],"string");if(_=="<")return b(c,2),g(c,d,[">"],"string");if(/[\^'"!~\/]/.test(_))return b(c,1),g(c,d,[c.eat(_)],"string")}else if(_=="w"){if(_=p(c,1),_=="(")return b(c,2),g(c,d,[")"],"bracket");if(_=="[")return b(c,2),g(c,d,["]"],"bracket");if(_=="{")return b(c,2),g(c,d,["}"],"bracket");if(_=="<")return b(c,2),g(c,d,[">"],"bracket");if(/[\^'"!~\/]/.test(_))return b(c,1),g(c,d,[c.eat(_)],"bracket")}else if(_=="r"){if(_=p(c,1),_=="(")return b(c,2),g(c,d,[")"],s,h);if(_=="[")return b(c,2),g(c,d,["]"],s,h);if(_=="{")return b(c,2),g(c,d,["}"],s,h);if(_=="<")return b(c,2),g(c,d,[">"],s,h);if(/[\^'"!~\/]/.test(_))return b(c,1),g(c,d,[c.eat(_)],s,h)}else if(/[\^'"!~\/(\[{<]/.test(_)){if(_=="(")return b(c,1),g(c,d,[")"],"string");if(_=="[")return b(c,1),g(c,d,["]"],"string");if(_=="{")return b(c,1),g(c,d,["}"],"string");if(_=="<")return b(c,1),g(c,d,[">"],"string");if(/[\^'"!~\/]/.test(_))return g(c,d,[c.eat(_)],"string")}}}if(k=="m"){var _=p(c,-2);if(!(_&&/\w/.test(_))&&(_=c.eat(/[(\[{<\^'"!~\/]/),_)){if(/[\^'"!~\/]/.test(_))return g(c,d,[_],s,h);if(_=="(")return g(c,d,[")"],s,h);if(_=="[")return g(c,d,["]"],s,h);if(_=="{")return g(c,d,["}"],s,h);if(_=="<")return g(c,d,[">"],s,h)}}if(k=="s"){var _=/[\/>\]})\w]/.test(p(c,-2));if(!_&&(_=c.eat(/[(\[{<\^'"!~\/]/),_))return _=="["?g(c,d,["]","]"],s,h):_=="{"?g(c,d,["}","}"],s,h):_=="<"?g(c,d,[">",">"],s,h):_=="("?g(c,d,[")",")"],s,h):g(c,d,[_,_],s,h)}if(k=="y"){var _=/[\/>\]})\w]/.test(p(c,-2));if(!_&&(_=c.eat(/[(\[{<\^'"!~\/]/),_))return _=="["?g(c,d,["]","]"],s,h):_=="{"?g(c,d,["}","}"],s,h):_=="<"?g(c,d,[">",">"],s,h):_=="("?g(c,d,[")",")"],s,h):g(c,d,[_,_],s,h)}if(k=="t"){var _=/[\/>\]})\w]/.test(p(c,-2));if(!_&&(_=c.eat("r"),_&&(_=c.eat(/[(\[{<\^'"!~\/]/),_)))return _=="["?g(c,d,["]","]"],s,h):_=="{"?g(c,d,["}","}"],s,h):_=="<"?g(c,d,[">",">"],s,h):_=="("?g(c,d,[")",")"],s,h):g(c,d,[_,_],s,h)}if(k=="`")return g(c,d,[k],"variable-2");if(k=="/")return/~\s*$/.test(v(c))?g(c,d,[k],s,h):"operator";if(k=="$"){var z=c.pos;if(c.eatWhile(/\d/)||c.eat("{")&&c.eatWhile(/\d/)&&c.eat("}"))return"variable-2";c.pos=z}if(/[$@%]/.test(k)){var z=c.pos;if(c.eat("^")&&c.eat(/[A-Z]/)||!/[@$%&]/.test(p(c,-2))&&c.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){var _=c.current();if(S[_])return"variable-2"}c.pos=z}if(/[$@%&]/.test(k)&&(c.eatWhile(/[\w$]/)||c.eat("{")&&c.eatWhile(/[\w$]/)&&c.eat("}"))){var _=c.current();return S[_]?"variable-2":"variable"}if(k=="#"&&p(c,-2)!="$")return c.skipToEnd(),"comment";if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(k)){var z=c.pos;if(c.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/),S[c.current()])return"operator";c.pos=z}if(k=="_"&&c.pos==1){if(C(c,6)=="_END__")return g(c,d,["\0"],"comment");if(C(c,7)=="_DATA__")return g(c,d,["\0"],"variable-2");if(C(c,7)=="_C__")return g(c,d,["\0"],"string")}if(/\w/.test(k)){var z=c.pos;if(p(c,-2)=="{"&&(p(c,0)=="}"||c.eatWhile(/\w/)&&p(c,0)=="}"))return"string";c.pos=z}if(/[A-Z]/.test(k)){var W=p(c,-2),z=c.pos;if(c.eatWhile(/[A-Z_]/),/[\da-z]/.test(p(c,0)))c.pos=z;else{var _=S[c.current()];return _?(_[1]&&(_=_[0]),W!=":"?_==1?"keyword":_==2?"def":_==3?"atom":_==4?"operator":_==5?"variable-2":"meta":"meta"):"meta"}}if(/[a-zA-Z_]/.test(k)){var W=p(c,-2);c.eatWhile(/\w/);var _=S[c.current()];return _?(_[1]&&(_=_[0]),W!=":"?_==1?"keyword":_==2?"def":_==3?"atom":_==4?"operator":_==5?"variable-2":"meta":"meta"):"meta"}return null}return{startState:function(){return{tokenize:w,chain:null,style:null,tail:null}},token:function(c,d){return(d.tokenize||w)(c,d)},lineComment:"#"}}),o.registerHelper("wordChars","perl",/[\w$]/),o.defineMIME("text/x-perl","perl");function p(S,s){return S.string.charAt(S.pos+(s||0))}function v(S,s){if(s){var h=S.pos-s;return S.string.substr(h>=0?h:0,s)}else return S.string.substr(0,S.pos-1)}function C(S,s){var h=S.string.length,g=h-S.pos+1;return S.string.substr(S.pos,s&&s=(g=S.string.length-1)?S.pos=g:S.pos=h}})});var Su=Ke((ku,wu)=>{(function(o){typeof ku=="object"&&typeof wu=="object"?o(We(),Qn(),Vo()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed","../clike/clike"],o):o(CodeMirror)})(function(o){"use strict";function p(T){for(var w={},c=T.split(" "),d=0;d\w/,!1)&&(w.tokenize=v([[["->",null]],[[/[\w]+/,"variable"]]],c,d)),"variable-2";for(var k=!1;!T.eol()&&(k||d===!1||!T.match("{$",!1)&&!T.match(/^(\$[a-zA-Z_][a-zA-Z0-9_]*|\$\{)/,!1));){if(!k&&T.match(c)){w.tokenize=null,w.tokStack.pop(),w.tokStack.pop();break}k=T.next()=="\\"&&!k}return"string"}var S="abstract and array as break case catch class clone const continue declare default do else elseif enddeclare endfor endforeach endif endswitch endwhile enum extends final for foreach function global goto if implements interface instanceof namespace new or private protected public static switch throw trait try use var while xor die echo empty exit eval include include_once isset list require require_once return print unset __halt_compiler self static parent yield insteadof finally readonly match",s="true false null TRUE FALSE NULL __CLASS__ __DIR__ __FILE__ __LINE__ __METHOD__ __FUNCTION__ __NAMESPACE__ __TRAIT__",h="func_num_args func_get_arg func_get_args strlen strcmp strncmp strcasecmp strncasecmp each error_reporting define defined trigger_error user_error set_error_handler restore_error_handler get_declared_classes get_loaded_extensions extension_loaded get_extension_funcs debug_backtrace constant bin2hex hex2bin sleep usleep time mktime gmmktime strftime gmstrftime strtotime date gmdate getdate localtime checkdate flush wordwrap htmlspecialchars htmlentities html_entity_decode md5 md5_file crc32 getimagesize image_type_to_mime_type phpinfo phpversion phpcredits strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos strrpos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count strcoll substr substr_replace quotemeta ucfirst ucwords strtr addslashes addcslashes rtrim str_replace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode setlocale localeconv parse_str str_pad chop strchr sprintf printf vprintf vsprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode readlink linkinfo link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close rand srand getrandmax mt_rand mt_srand mt_getrandmax base64_decode base64_encode abs ceil floor round is_finite is_nan is_infinite bindec hexdec octdec decbin decoct dechex base_convert number_format fmod ip2long long2ip getenv putenv getopt microtime gettimeofday getrusage uniqid quoted_printable_decode set_time_limit get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime import_request_variables error_log serialize unserialize memory_get_usage memory_get_peak_usage var_dump var_export debug_zval_dump print_r highlight_file show_source highlight_string ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie header headers_sent connection_aborted connection_status ignore_user_abort parse_ini_file is_uploaded_file move_uploaded_file intval floatval doubleval strval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar ereg ereg_replace eregi eregi_replace split spliti join sql_regcase dl pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents file_put_contents stream_select stream_context_create stream_context_set_params stream_context_set_option stream_context_get_options stream_filter_prepend stream_filter_append fgetcsv flock get_meta_tags stream_set_write_buffer set_file_buffer set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_register_wrapper stream_wrapper_register stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir getcwd rewinddir readdir dir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown touch clearstatcache mail ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk count end prev next reset current key min max in_array array_search extract compact array_fill range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_keys array_values array_count_values array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_assoc array_diff array_diff_assoc array_sum array_filter array_map array_chunk array_key_exists array_intersect_key array_combine array_column pos sizeof key_exists assert assert_options version_compare ftok str_rot13 aggregate session_name session_module_name session_save_path session_id session_regenerate_id session_decode session_register session_unregister session_is_registered session_encode session_start session_destroy session_unset session_set_save_handler session_cache_limiter session_cache_expire session_set_cookie_params session_get_cookie_params session_write_close preg_match preg_match_all preg_replace preg_replace_callback preg_split preg_quote preg_grep overload ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_lower ctype_graph ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit virtual apache_request_headers apache_note apache_lookup_uri apache_child_terminate apache_setenv apache_response_headers apache_get_version getallheaders mysql_connect mysql_pconnect mysql_close mysql_select_db mysql_create_db mysql_drop_db mysql_query mysql_unbuffered_query mysql_db_query mysql_list_dbs mysql_list_tables mysql_list_fields mysql_list_processes mysql_error mysql_errno mysql_affected_rows mysql_insert_id mysql_result mysql_num_rows mysql_num_fields mysql_fetch_row mysql_fetch_array mysql_fetch_assoc mysql_fetch_object mysql_data_seek mysql_fetch_lengths mysql_fetch_field mysql_field_seek mysql_free_result mysql_field_name mysql_field_table mysql_field_len mysql_field_type mysql_field_flags mysql_escape_string mysql_real_escape_string mysql_stat mysql_thread_id mysql_client_encoding mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql mysql_fieldname mysql_fieldtable mysql_fieldlen mysql_fieldtype mysql_fieldflags mysql_selectdb mysql_createdb mysql_dropdb mysql_freeresult mysql_numfields mysql_numrows mysql_listdbs mysql_listtables mysql_listfields mysql_db_name mysql_dbname mysql_tablename mysql_table_name pg_connect pg_pconnect pg_close pg_connection_status pg_connection_busy pg_connection_reset pg_host pg_dbname pg_port pg_tty pg_options pg_ping pg_query pg_send_query pg_cancel_query pg_fetch_result pg_fetch_row pg_fetch_assoc pg_fetch_array pg_fetch_object pg_fetch_all pg_affected_rows pg_get_result pg_result_seek pg_result_status pg_free_result pg_last_oid pg_num_rows pg_num_fields pg_field_name pg_field_num pg_field_size pg_field_type pg_field_prtlen pg_field_is_null pg_get_notify pg_get_pid pg_result_error pg_last_error pg_last_notice pg_put_line pg_end_copy pg_copy_to pg_copy_from pg_trace pg_untrace pg_lo_create pg_lo_unlink pg_lo_open pg_lo_close pg_lo_read pg_lo_write pg_lo_read_all pg_lo_import pg_lo_export pg_lo_seek pg_lo_tell pg_escape_string pg_escape_bytea pg_unescape_bytea pg_client_encoding pg_set_client_encoding pg_meta_data pg_convert pg_insert pg_update pg_delete pg_select pg_exec pg_getlastoid pg_cmdtuples pg_errormessage pg_numrows pg_numfields pg_fieldname pg_fieldsize pg_fieldtype pg_fieldnum pg_fieldprtlen pg_fieldisnull pg_freeresult pg_result pg_loreadall pg_locreate pg_lounlink pg_loopen pg_loclose pg_loread pg_lowrite pg_loimport pg_loexport http_response_code get_declared_traits getimagesizefromstring socket_import_stream stream_set_chunk_size trait_exists header_register_callback class_uses session_status session_register_shutdown echo print global static exit array empty eval isset unset die include require include_once require_once json_decode json_encode json_last_error json_last_error_msg curl_close curl_copy_handle curl_errno curl_error curl_escape curl_exec curl_file_create curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_multi_setopt curl_multi_strerror curl_pause curl_reset curl_setopt_array curl_setopt curl_share_close curl_share_init curl_share_setopt curl_strerror curl_unescape curl_version mysqli_affected_rows mysqli_autocommit mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect_errno mysqli_connect_error mysqli_connect mysqli_data_seek mysqli_debug mysqli_dump_debug_info mysqli_errno mysqli_error_list mysqli_error mysqli_fetch_all mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field_direct mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_lengths mysqli_fetch_object mysqli_fetch_row mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_charset mysqli_get_client_info mysqli_get_client_stats mysqli_get_client_version mysqli_get_connection_stats mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_info mysqli_init mysqli_insert_id mysqli_kill mysqli_more_results mysqli_multi_query mysqli_next_result mysqli_num_fields mysqli_num_rows mysqli_options mysqli_ping mysqli_prepare mysqli_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reap_async_query mysqli_refresh mysqli_rollback mysqli_select_db mysqli_set_charset mysqli_set_local_infile_default mysqli_set_local_infile_handler mysqli_sqlstate mysqli_ssl_set mysqli_stat mysqli_stmt_init mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count";o.registerHelper("hintWords","php",[S,s,h].join(" ").split(" ")),o.registerHelper("wordChars","php",/[\w$]/);var g={name:"clike",helperType:"php",keywords:p(S),blockKeywords:p("catch do else elseif for foreach if switch try while finally"),defKeywords:p("class enum function interface namespace trait"),atoms:p(s),builtin:p(h),multiLineStrings:!0,hooks:{$:function(T){return T.eatWhile(/[\w\$_]/),"variable-2"},"<":function(T,w){var c;if(c=T.match(/^<<\s*/)){var d=T.eat(/['"]/);T.eatWhile(/[\w\.]/);var k=T.current().slice(c[0].length+(d?2:1));if(d&&T.eat(d),k)return(w.tokStack||(w.tokStack=[])).push(k,0),w.tokenize=C(k,d!="'"),"string"}return!1},"#":function(T){for(;!T.eol()&&!T.match("?>",!1);)T.next();return"comment"},"/":function(T){if(T.eat("/")){for(;!T.eol()&&!T.match("?>",!1);)T.next();return"comment"}return!1},'"':function(T,w){return(w.tokStack||(w.tokStack=[])).push('"',0),w.tokenize=C('"'),"string"},"{":function(T,w){return w.tokStack&&w.tokStack.length&&w.tokStack[w.tokStack.length-1]++,!1},"}":function(T,w){return w.tokStack&&w.tokStack.length>0&&!--w.tokStack[w.tokStack.length-1]&&(w.tokenize=C(w.tokStack[w.tokStack.length-2])),!1}}};o.defineMode("php",function(T,w){var c=o.getMode(T,w&&w.htmlMode||"text/html"),d=o.getMode(T,g);function k(z,M){var _=M.curMode==d;if(z.sol()&&M.pending&&M.pending!='"'&&M.pending!="'"&&(M.pending=null),_)return _&&M.php.tokenize==null&&z.match("?>")?(M.curMode=c,M.curState=M.html,M.php.context.prev||(M.php=null),"meta"):d.token(z,M.curState);if(z.match(/^<\?\w*/))return M.curMode=d,M.php||(M.php=o.startState(d,c.indent(M.html,"",""))),M.curState=M.php,"meta";if(M.pending=='"'||M.pending=="'"){for(;!z.eol()&&z.next()!=M.pending;);var W="string"}else if(M.pending&&z.pos/.test(E)?M.pending=G[0]:M.pending={end:z.pos,style:W},z.backUp(E.length-N)),W}return{startState:function(){var z=o.startState(c),M=w.startOpen?o.startState(d):null;return{html:z,php:M,curMode:w.startOpen?d:c,curState:w.startOpen?M:z,pending:null}},copyState:function(z){var M=z.html,_=o.copyState(c,M),W=z.php,E=W&&o.copyState(d,W),N;return z.curMode==c?N=_:N=E,{html:_,php:E,curMode:z.curMode,curState:N,pending:z.pending}},token:k,indent:function(z,M,_){return z.curMode!=d&&/^\s*<\//.test(M)||z.curMode==d&&/^\?>/.test(M)?c.indent(z.html,M,_):z.curMode.indent(z.curState,M,_)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",innerMode:function(z){return{state:z.curState,mode:z.curMode}}}},"htmlmixed","clike"),o.defineMIME("application/x-httpd-php","php"),o.defineMIME("application/x-httpd-php-open",{name:"php",startOpen:!0}),o.defineMIME("text/x-php",g)})});var Cu=Ke((Tu,Lu)=>{(function(o){typeof Tu=="object"&&typeof Lu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";function p(s){return new RegExp("^(("+s.join(")|(")+"))\\b","i")}var v=["package","message","import","syntax","required","optional","repeated","reserved","default","extensions","packed","bool","bytes","double","enum","float","string","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64","option","service","rpc","returns"],C=p(v);o.registerHelper("hintWords","protobuf",v);var b=new RegExp("^[_A-Za-z\xA1-\uFFFF][_A-Za-z0-9\xA1-\uFFFF]*");function S(s){return s.eatSpace()?null:s.match("//")?(s.skipToEnd(),"comment"):s.match(/^[0-9\.+-]/,!1)&&(s.match(/^[+-]?0x[0-9a-fA-F]+/)||s.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/)||s.match(/^[+-]?\d+([EeDd][+-]?\d+)?/))?"number":s.match(/^"([^"]|(""))*"/)||s.match(/^'([^']|(''))*'/)?"string":s.match(C)?"keyword":s.match(b)?"variable":(s.next(),null)}o.defineMode("protobuf",function(){return{token:S,fold:"brace"}}),o.defineMIME("text/x-protobuf","protobuf")})});var Mu=Ke((Eu,zu)=>{(function(o){typeof Eu=="object"&&typeof zu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";function p(h){return new RegExp("^(("+h.join(")|(")+"))\\b")}var v=p(["and","or","not","is"]),C=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in","False","True"],b=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"];o.registerHelper("hintWords","python",C.concat(b).concat(["exec","print"]));function S(h){return h.scopes[h.scopes.length-1]}o.defineMode("python",function(h,g){for(var T="error",w=g.delimiters||g.singleDelimiters||/^[\(\)\[\]\{\}@,:`=;\.\\]/,c=[g.singleOperators,g.doubleOperators,g.doubleDelimiters,g.tripleDelimiters,g.operators||/^([-+*/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@]|\.\.\.)/],d=0;dR?D(X):le0&&j(K,X)&&(xe+=" "+T),xe}}return re(K,X)}function re(K,X,F){if(K.eatSpace())return null;if(!F&&K.match(/^#.*/))return"comment";if(K.match(/^[0-9\.]/,!1)){var R=!1;if(K.match(/^[\d_]*\.\d+(e[\+\-]?\d+)?/i)&&(R=!0),K.match(/^[\d_]+\.\d*/)&&(R=!0),K.match(/^\.\d+/)&&(R=!0),R)return K.eat(/J/i),"number";var le=!1;if(K.match(/^0x[0-9a-f_]+/i)&&(le=!0),K.match(/^0b[01_]+/i)&&(le=!0),K.match(/^0o[0-7_]+/i)&&(le=!0),K.match(/^[1-9][\d_]*(e[\+\-]?[\d_]+)?/)&&(K.eat(/J/i),le=!0),K.match(/^0(?![\dx])/i)&&(le=!0),le)return K.eat(/L/i),"number"}if(K.match(E)){var xe=K.current().toLowerCase().indexOf("f")!==-1;return xe?(X.tokenize=q(K.current(),X.tokenize),X.tokenize(K,X)):(X.tokenize=O(K.current(),X.tokenize),X.tokenize(K,X))}for(var I=0;I=0;)K=K.substr(1);var F=K.length==1,R="string";function le(I){return function(L,de){var ze=re(L,de,!0);return ze=="punctuation"&&(L.current()=="{"?de.tokenize=le(I+1):L.current()=="}"&&(I>1?de.tokenize=le(I-1):de.tokenize=xe)),ze}}function xe(I,L){for(;!I.eol();)if(I.eatWhile(/[^'"\{\}\\]/),I.eat("\\")){if(I.next(),F&&I.eol())return R}else{if(I.match(K))return L.tokenize=X,R;if(I.match("{{"))return R;if(I.match("{",!1))return L.tokenize=le(0),I.current()?R:L.tokenize(I,L);if(I.match("}}"))return R;if(I.match("}"))return T;I.eat(/['"]/)}if(F){if(g.singleLineStringErrors)return T;L.tokenize=X}return R}return xe.isString=!0,xe}function O(K,X){for(;"rubf".indexOf(K.charAt(0).toLowerCase())>=0;)K=K.substr(1);var F=K.length==1,R="string";function le(xe,I){for(;!xe.eol();)if(xe.eatWhile(/[^'"\\]/),xe.eat("\\")){if(xe.next(),F&&xe.eol())return R}else{if(xe.match(K))return I.tokenize=X,R;xe.eat(/['"]/)}if(F){if(g.singleLineStringErrors)return T;I.tokenize=X}return R}return le.isString=!0,le}function D(K){for(;S(K).type!="py";)K.scopes.pop();K.scopes.push({offset:S(K).offset+h.indentUnit,type:"py",align:null})}function Q(K,X,F){var R=K.match(/^[\s\[\{\(]*(?:#|$)/,!1)?null:K.column()+1;X.scopes.push({offset:X.indent+k,type:F,align:R})}function j(K,X){for(var F=K.indentation();X.scopes.length>1&&S(X).offset>F;){if(S(X).type!="py")return!0;X.scopes.pop()}return S(X).offset!=F}function V(K,X){K.sol()&&(X.beginningOfLine=!0,X.dedent=!1);var F=X.tokenize(K,X),R=K.current();if(X.beginningOfLine&&R=="@")return K.match(W,!1)?"meta":_?"operator":T;if(/\S/.test(R)&&(X.beginningOfLine=!1),(F=="variable"||F=="builtin")&&X.lastToken=="meta"&&(F="meta"),(R=="pass"||R=="return")&&(X.dedent=!0),R=="lambda"&&(X.lambda=!0),R==":"&&!X.lambda&&S(X).type=="py"&&K.match(/^\s*(?:#|$)/,!1)&&D(X),R.length==1&&!/string|comment/.test(F)){var le="[({".indexOf(R);if(le!=-1&&Q(K,X,"])}".slice(le,le+1)),le="])}".indexOf(R),le!=-1)if(S(X).type==R)X.indent=X.scopes.pop().offset-k;else return T}return X.dedent&&K.eol()&&S(X).type=="py"&&X.scopes.length>1&&X.scopes.pop(),F}var y={startState:function(K){return{tokenize:J,scopes:[{offset:K||0,type:"py",align:null}],indent:K||0,lastToken:null,lambda:!1,dedent:0}},token:function(K,X){var F=X.errorToken;F&&(X.errorToken=!1);var R=V(K,X);return R&&R!="comment"&&(X.lastToken=R=="keyword"||R=="punctuation"?K.current():R),R=="punctuation"&&(R=null),K.eol()&&X.lambda&&(X.lambda=!1),F?R+" "+T:R},indent:function(K,X){if(K.tokenize!=J)return K.tokenize.isString?o.Pass:0;var F=S(K),R=F.type==X.charAt(0)||F.type=="py"&&!K.dedent&&/^(else:|elif |except |finally:)/.test(X);return F.align!=null?F.align-(R?1:0):F.offset-(R?k:0)},electricInput:/^\s*([\}\]\)]|else:|elif |except |finally:)$/,closeBrackets:{triples:`'"`},lineComment:"#",fold:"indent"};return y}),o.defineMIME("text/x-python","python");var s=function(h){return h.split(" ")};o.defineMIME("text/x-cython",{name:"python",extra_keywords:s("by cdef cimport cpdef ctypedef enum except extern gil include nogil property public readonly struct union DEF IF ELIF ELSE")})})});var qu=Ke((Au,Du)=>{(function(o){typeof Au=="object"&&typeof Du=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";function p(g){for(var T={},w=0,c=g.length;w]/)?(E.eat(/[\<\>]/),"atom"):E.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":E.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(E.eatWhile(/[\w$\xa1-\uffff]/),E.eat(/[\?\!\=]/),"atom"):"operator";if(G=="@"&&E.match(/^@?[a-zA-Z_\xa1-\uffff]/))return E.eat("@"),E.eatWhile(/[\w\xa1-\uffff]/),"variable-2";if(G=="$")return E.eat(/[a-zA-Z_]/)?E.eatWhile(/[\w]/):E.eat(/\d/)?E.eat(/\d/):E.next(),"variable-3";if(/[a-zA-Z_\xa1-\uffff]/.test(G))return E.eatWhile(/[\w\xa1-\uffff]/),E.eat(/[\?\!]/),E.eat(":")?"atom":"ident";if(G=="|"&&(N.varList||N.lastTok=="{"||N.lastTok=="do"))return T="|",null;if(/[\(\)\[\]{}\\;]/.test(G))return T=G,null;if(G=="-"&&E.eat(">"))return"arrow";if(/[=+\-\/*:\.^%<>~|]/.test(G)){var D=E.eatWhile(/[=+\-\/*:\.^%<>~|]/);return G=="."&&!D&&(T="."),"operator"}else return null}}}function d(E){for(var N=E.pos,G=0,J,re=!1,q=!1;(J=E.next())!=null;)if(q)q=!1;else{if("[{(".indexOf(J)>-1)G++;else if("]})".indexOf(J)>-1){if(G--,G<0)break}else if(J=="/"&&G==0){re=!0;break}q=J=="\\"}return E.backUp(E.pos-N),re}function k(E){return E||(E=1),function(N,G){if(N.peek()=="}"){if(E==1)return G.tokenize.pop(),G.tokenize[G.tokenize.length-1](N,G);G.tokenize[G.tokenize.length-1]=k(E-1)}else N.peek()=="{"&&(G.tokenize[G.tokenize.length-1]=k(E+1));return c(N,G)}}function z(){var E=!1;return function(N,G){return E?(G.tokenize.pop(),G.tokenize[G.tokenize.length-1](N,G)):(E=!0,c(N,G))}}function M(E,N,G,J){return function(re,q){var O=!1,D;for(q.context.type==="read-quoted-paused"&&(q.context=q.context.prev,re.eat("}"));(D=re.next())!=null;){if(D==E&&(J||!O)){q.tokenize.pop();break}if(G&&D=="#"&&!O){if(re.eat("{")){E=="}"&&(q.context={prev:q.context,type:"read-quoted-paused"}),q.tokenize.push(k());break}else if(/[@\$]/.test(re.peek())){q.tokenize.push(z());break}}O=!O&&D=="\\"}return N}}function _(E,N){return function(G,J){return N&&G.eatSpace(),G.match(E)?J.tokenize.pop():G.skipToEnd(),"string"}}function W(E,N){return E.sol()&&E.match("=end")&&E.eol()&&N.tokenize.pop(),E.skipToEnd(),"comment"}return{startState:function(){return{tokenize:[c],indented:0,context:{type:"top",indented:-g.indentUnit},continuedLine:!1,lastTok:null,varList:!1}},token:function(E,N){T=null,E.sol()&&(N.indented=E.indentation());var G=N.tokenize[N.tokenize.length-1](E,N),J,re=T;if(G=="ident"){var q=E.current();G=N.lastTok=="."?"property":C.propertyIsEnumerable(E.current())?"keyword":/^[A-Z]/.test(q)?"tag":N.lastTok=="def"||N.lastTok=="class"||N.varList?"def":"variable",G=="keyword"&&(re=q,b.propertyIsEnumerable(q)?J="indent":S.propertyIsEnumerable(q)?J="dedent":((q=="if"||q=="unless")&&E.column()==E.indentation()||q=="do"&&N.context.indented{(function(o){typeof Iu=="object"&&typeof Fu=="object"?o(We(),Di()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../../addon/mode/simple"],o):o(CodeMirror)})(function(o){"use strict";o.defineSimpleMode("rust",{start:[{regex:/b?"/,token:"string",next:"string"},{regex:/b?r"/,token:"string",next:"string_raw"},{regex:/b?r#+"/,token:"string",next:"string_raw_hash"},{regex:/'(?:[^'\\]|\\(?:[nrt0'"]|x[\da-fA-F]{2}|u\{[\da-fA-F]{6}\}))'/,token:"string-2"},{regex:/b'(?:[^']|\\(?:['\\nrt0]|x[\da-fA-F]{2}))'/,token:"string-2"},{regex:/(?:(?:[0-9][0-9_]*)(?:(?:[Ee][+-]?[0-9_]+)|\.[0-9_]+(?:[Ee][+-]?[0-9_]+)?)(?:f32|f64)?)|(?:0(?:b[01_]+|(?:o[0-7_]+)|(?:x[0-9a-fA-F_]+))|(?:[0-9][0-9_]*))(?:u8|u16|u32|u64|i8|i16|i32|i64|isize|usize)?/,token:"number"},{regex:/(let(?:\s+mut)?|fn|enum|mod|struct|type|union)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/,token:["keyword",null,"def"]},{regex:/(?:abstract|alignof|as|async|await|box|break|continue|const|crate|do|dyn|else|enum|extern|fn|for|final|if|impl|in|loop|macro|match|mod|move|offsetof|override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,token:"keyword"},{regex:/\b(?:Self|isize|usize|char|bool|u8|u16|u32|u64|f16|f32|f64|i8|i16|i32|i64|str|Option)\b/,token:"atom"},{regex:/\b(?:true|false|Some|None|Ok|Err)\b/,token:"builtin"},{regex:/\b(fn)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/,token:["keyword",null,"def"]},{regex:/#!?\[.*\]/,token:"meta"},{regex:/\/\/.*/,token:"comment"},{regex:/\/\*/,token:"comment",next:"comment"},{regex:/[-+\/*=<>!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"variable-3"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],meta:{dontIndentStates:["comment"],electricInput:/^\s*\}$/,blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",fold:"brace"}}),o.defineMIME("text/x-rustsrc","rust"),o.defineMIME("text/rust","rust")})});var ea=Ke((Ou,Pu)=>{(function(o){typeof Ou=="object"&&typeof Pu=="object"?o(We(),gn()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../css/css"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("sass",function(p){var v=o.mimeModes["text/css"],C=v.propertyKeywords||{},b=v.colorKeywords||{},S=v.valueKeywords||{},s=v.fontProperties||{};function h(q){return new RegExp("^"+q.join("|"))}var g=["true","false","null","auto"],T=new RegExp("^"+g.join("|")),w=["\\(","\\)","=",">","<","==",">=","<=","\\+","-","\\!=","/","\\*","%","and","or","not",";","\\{","\\}",":"],c=h(w),d=/^::?[a-zA-Z_][\w\-]*/,k;function z(q){return!q.peek()||q.match(/\s+$/,!1)}function M(q,O){var D=q.peek();return D===")"?(q.next(),O.tokenizer=J,"operator"):D==="("?(q.next(),q.eatSpace(),"operator"):D==="'"||D==='"'?(O.tokenizer=W(q.next()),"string"):(O.tokenizer=W(")",!1),"string")}function _(q,O){return function(D,Q){return D.sol()&&D.indentation()<=q?(Q.tokenizer=J,J(D,Q)):(O&&D.skipTo("*/")?(D.next(),D.next(),Q.tokenizer=J):D.skipToEnd(),"comment")}}function W(q,O){O==null&&(O=!0);function D(Q,j){var V=Q.next(),y=Q.peek(),K=Q.string.charAt(Q.pos-2),X=V!=="\\"&&y===q||V===q&&K!=="\\";return X?(V!==q&&O&&Q.next(),z(Q)&&(j.cursorHalf=0),j.tokenizer=J,"string"):V==="#"&&y==="{"?(j.tokenizer=E(D),Q.next(),"operator"):"string"}return D}function E(q){return function(O,D){return O.peek()==="}"?(O.next(),D.tokenizer=q,"operator"):J(O,D)}}function N(q){if(q.indentCount==0){q.indentCount++;var O=q.scopes[0].offset,D=O+p.indentUnit;q.scopes.unshift({offset:D})}}function G(q){q.scopes.length!=1&&q.scopes.shift()}function J(q,O){var D=q.peek();if(q.match("/*"))return O.tokenizer=_(q.indentation(),!0),O.tokenizer(q,O);if(q.match("//"))return O.tokenizer=_(q.indentation(),!1),O.tokenizer(q,O);if(q.match("#{"))return O.tokenizer=E(J),"operator";if(D==='"'||D==="'")return q.next(),O.tokenizer=W(D),"string";if(O.cursorHalf){if(D==="#"&&(q.next(),q.match(/[0-9a-fA-F]{6}|[0-9a-fA-F]{3}/))||q.match(/^-?[0-9\.]+/))return z(q)&&(O.cursorHalf=0),"number";if(q.match(/^(px|em|in)\b/))return z(q)&&(O.cursorHalf=0),"unit";if(q.match(T))return z(q)&&(O.cursorHalf=0),"keyword";if(q.match(/^url/)&&q.peek()==="(")return O.tokenizer=M,z(q)&&(O.cursorHalf=0),"atom";if(D==="$")return q.next(),q.eatWhile(/[\w-]/),z(q)&&(O.cursorHalf=0),"variable-2";if(D==="!")return q.next(),O.cursorHalf=0,q.match(/^[\w]+/)?"keyword":"operator";if(q.match(c))return z(q)&&(O.cursorHalf=0),"operator";if(q.eatWhile(/[\w-]/))return z(q)&&(O.cursorHalf=0),k=q.current().toLowerCase(),S.hasOwnProperty(k)?"atom":b.hasOwnProperty(k)?"keyword":C.hasOwnProperty(k)?(O.prevProp=q.current().toLowerCase(),"property"):"tag";if(z(q))return O.cursorHalf=0,null}else{if(D==="-"&&q.match(/^-\w+-/))return"meta";if(D==="."){if(q.next(),q.match(/^[\w-]+/))return N(O),"qualifier";if(q.peek()==="#")return N(O),"tag"}if(D==="#"){if(q.next(),q.match(/^[\w-]+/))return N(O),"builtin";if(q.peek()==="#")return N(O),"tag"}if(D==="$")return q.next(),q.eatWhile(/[\w-]/),"variable-2";if(q.match(/^-?[0-9\.]+/))return"number";if(q.match(/^(px|em|in)\b/))return"unit";if(q.match(T))return"keyword";if(q.match(/^url/)&&q.peek()==="(")return O.tokenizer=M,"atom";if(D==="="&&q.match(/^=[\w-]+/))return N(O),"meta";if(D==="+"&&q.match(/^\+[\w-]+/))return"variable-3";if(D==="@"&&q.match("@extend")&&(q.match(/\s*[\w]/)||G(O)),q.match(/^@(else if|if|media|else|for|each|while|mixin|function)/))return N(O),"def";if(D==="@")return q.next(),q.eatWhile(/[\w-]/),"def";if(q.eatWhile(/[\w-]/))if(q.match(/ *: *[\w-\+\$#!\("']/,!1)){k=q.current().toLowerCase();var Q=O.prevProp+"-"+k;return C.hasOwnProperty(Q)?"property":C.hasOwnProperty(k)?(O.prevProp=k,"property"):s.hasOwnProperty(k)?"property":"tag"}else return q.match(/ *:/,!1)?(N(O),O.cursorHalf=1,O.prevProp=q.current().toLowerCase(),"property"):(q.match(/ *,/,!1)||N(O),"tag");if(D===":")return q.match(d)?"variable-3":(q.next(),O.cursorHalf=1,"operator")}return q.match(c)?"operator":(q.next(),null)}function re(q,O){q.sol()&&(O.indentCount=0);var D=O.tokenizer(q,O),Q=q.current();if((Q==="@return"||Q==="}")&&G(O),D!==null){for(var j=q.pos-Q.length,V=j+p.indentUnit*O.indentCount,y=[],K=0;K{(function(o){typeof Bu=="object"&&typeof ju=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("shell",function(){var p={};function v(d,k){for(var z=0;z1&&d.eat("$");var z=d.next();return/['"({]/.test(z)?(k.tokens[0]=h(z,z=="("?"quote":z=="{"?"def":"string"),c(d,k)):(/\d/.test(z)||d.eatWhile(/\w/),k.tokens.shift(),"def")};function w(d){return function(k,z){return k.sol()&&k.string==d&&z.tokens.shift(),k.skipToEnd(),"string-2"}}function c(d,k){return(k.tokens[0]||s)(d,k)}return{startState:function(){return{tokens:[]}},token:function(d,k){return c(d,k)},closeBrackets:"()[]{}''\"\"``",lineComment:"#",fold:"brace"}}),o.defineMIME("text/x-sh","shell"),o.defineMIME("application/x-sh","shell")})});var Uu=Ke((Hu,Wu)=>{(function(o){typeof Hu=="object"&&typeof Wu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("sql",function(g,T){var w=T.client||{},c=T.atoms||{false:!0,true:!0,null:!0},d=T.builtin||s(h),k=T.keywords||s(S),z=T.operatorChars||/^[*+\-%<>!=&|~^\/]/,M=T.support||{},_=T.hooks||{},W=T.dateSQL||{date:!0,time:!0,timestamp:!0},E=T.backslashStringEscapes!==!1,N=T.brackets||/^[\{}\(\)\[\]]/,G=T.punctuation||/^[;.,:]/;function J(Q,j){var V=Q.next();if(_[V]){var y=_[V](Q,j);if(y!==!1)return y}if(M.hexNumber&&(V=="0"&&Q.match(/^[xX][0-9a-fA-F]+/)||(V=="x"||V=="X")&&Q.match(/^'[0-9a-fA-F]*'/)))return"number";if(M.binaryNumber&&((V=="b"||V=="B")&&Q.match(/^'[01]*'/)||V=="0"&&Q.match(/^b[01]+/)))return"number";if(V.charCodeAt(0)>47&&V.charCodeAt(0)<58)return Q.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),M.decimallessFloat&&Q.match(/^\.(?!\.)/),"number";if(V=="?"&&(Q.eatSpace()||Q.eol()||Q.eat(";")))return"variable-3";if(V=="'"||V=='"'&&M.doubleQuote)return j.tokenize=re(V),j.tokenize(Q,j);if((M.nCharCast&&(V=="n"||V=="N")||M.charsetCast&&V=="_"&&Q.match(/[a-z][a-z0-9]*/i))&&(Q.peek()=="'"||Q.peek()=='"'))return"keyword";if(M.escapeConstant&&(V=="e"||V=="E")&&(Q.peek()=="'"||Q.peek()=='"'&&M.doubleQuote))return j.tokenize=function(X,F){return(F.tokenize=re(X.next(),!0))(X,F)},"keyword";if(M.commentSlashSlash&&V=="/"&&Q.eat("/"))return Q.skipToEnd(),"comment";if(M.commentHash&&V=="#"||V=="-"&&Q.eat("-")&&(!M.commentSpaceRequired||Q.eat(" ")))return Q.skipToEnd(),"comment";if(V=="/"&&Q.eat("*"))return j.tokenize=q(1),j.tokenize(Q,j);if(V=="."){if(M.zerolessFloat&&Q.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(Q.match(/^\.+/))return null;if(Q.match(/^[\w\d_$#]+/))return"variable-2"}else{if(z.test(V))return Q.eatWhile(z),"operator";if(N.test(V))return"bracket";if(G.test(V))return Q.eatWhile(G),"punctuation";if(V=="{"&&(Q.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||Q.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";Q.eatWhile(/^[_\w\d]/);var K=Q.current().toLowerCase();return W.hasOwnProperty(K)&&(Q.match(/^( )+'[^']*'/)||Q.match(/^( )+"[^"]*"/))?"number":c.hasOwnProperty(K)?"atom":d.hasOwnProperty(K)?"type":k.hasOwnProperty(K)?"keyword":w.hasOwnProperty(K)?"builtin":null}}function re(Q,j){return function(V,y){for(var K=!1,X;(X=V.next())!=null;){if(X==Q&&!K){y.tokenize=J;break}K=(E||j)&&!K&&X=="\\"}return"string"}}function q(Q){return function(j,V){var y=j.match(/^.*?(\/\*|\*\/)/);return y?y[1]=="/*"?V.tokenize=q(Q+1):Q>1?V.tokenize=q(Q-1):V.tokenize=J:j.skipToEnd(),"comment"}}function O(Q,j,V){j.context={prev:j.context,indent:Q.indentation(),col:Q.column(),type:V}}function D(Q){Q.indent=Q.context.indent,Q.context=Q.context.prev}return{startState:function(){return{tokenize:J,context:null}},token:function(Q,j){if(Q.sol()&&j.context&&j.context.align==null&&(j.context.align=!1),j.tokenize==J&&Q.eatSpace())return null;var V=j.tokenize(Q,j);if(V=="comment")return V;j.context&&j.context.align==null&&(j.context.align=!0);var y=Q.current();return y=="("?O(Q,j,")"):y=="["?O(Q,j,"]"):j.context&&j.context.type==y&&D(j),V},indent:function(Q,j){var V=Q.context;if(!V)return o.Pass;var y=j.charAt(0)==V.type;return V.align?V.col+(y?0:1):V.indent+(y?0:g.indentUnit)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:M.commentSlashSlash?"//":M.commentHash?"#":"--",closeBrackets:"()[]{}''\"\"``",config:T}});function p(g){for(var T;(T=g.next())!=null;)if(T=="`"&&!g.eat("`"))return"variable-2";return g.backUp(g.current().length-1),g.eatWhile(/\w/)?"variable-2":null}function v(g){for(var T;(T=g.next())!=null;)if(T=='"'&&!g.eat('"'))return"variable-2";return g.backUp(g.current().length-1),g.eatWhile(/\w/)?"variable-2":null}function C(g){return g.eat("@")&&(g.match("session."),g.match("local."),g.match("global.")),g.eat("'")?(g.match(/^.*'/),"variable-2"):g.eat('"')?(g.match(/^.*"/),"variable-2"):g.eat("`")?(g.match(/^.*`/),"variable-2"):g.match(/^[0-9a-zA-Z$\.\_]+/)?"variable-2":null}function b(g){return g.eat("N")?"atom":g.match(/^[a-zA-Z.#!?]/)?"variable-2":null}var S="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function s(g){for(var T={},w=g.split(" "),c=0;c!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:s("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":C}}),o.defineMIME("text/x-mysql",{name:"sql",client:s("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:s(S+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:s("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:s("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:s("date time timestamp"),support:s("decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":C,"`":p,"\\":b}}),o.defineMIME("text/x-mariadb",{name:"sql",client:s("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:s(S+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:s("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:s("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:s("date time timestamp"),support:s("decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":C,"`":p,"\\":b}}),o.defineMIME("text/x-sqlite",{name:"sql",client:s("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:s(S+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:s("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:s("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:s("date time timestamp datetime"),support:s("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":C,":":C,"?":C,$:C,'"':v,"`":p}}),o.defineMIME("text/x-cassandra",{name:"sql",client:{},keywords:s("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:s("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:s("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:s("commentSlashSlash decimallessFloat"),hooks:{}}),o.defineMIME("text/x-plsql",{name:"sql",client:s("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:s("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:s("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:s("date time timestamp"),support:s("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),o.defineMIME("text/x-hive",{name:"sql",keywords:s("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:s("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:s("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:s("date timestamp"),support:s("doubleQuote binaryNumber hexNumber")}),o.defineMIME("text/x-pgsql",{name:"sql",client:s("source"),keywords:s(S+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:s("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time zone timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:s("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,identifierQuote:'"',hooks:{'"':v},dateSQL:s("date time timestamp"),support:s("decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),o.defineMIME("text/x-gql",{name:"sql",keywords:s("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:s("false true"),builtin:s("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),o.defineMIME("text/x-gpsql",{name:"sql",client:s("source"),keywords:s("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:s("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:s("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:s("date time timestamp"),support:s("decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),o.defineMIME("text/x-sparksql",{name:"sql",keywords:s("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:s("abs acos acosh add_months aggregate and any approx_count_distinct approx_percentile array array_contains array_distinct array_except array_intersect array_join array_max array_min array_position array_remove array_repeat array_sort array_union arrays_overlap arrays_zip ascii asin asinh assert_true atan atan2 atanh avg base64 between bigint bin binary bit_and bit_count bit_get bit_length bit_or bit_xor bool_and bool_or boolean bround btrim cardinality case cast cbrt ceil ceiling char char_length character_length chr coalesce collect_list collect_set concat concat_ws conv corr cos cosh cot count count_if count_min_sketch covar_pop covar_samp crc32 cume_dist current_catalog current_database current_date current_timestamp current_timezone current_user date date_add date_format date_from_unix_date date_part date_sub date_trunc datediff day dayofmonth dayofweek dayofyear decimal decode degrees delimited dense_rank div double e element_at elt encode every exists exp explode explode_outer expm1 extract factorial filter find_in_set first first_value flatten float floor forall format_number format_string from_csv from_json from_unixtime from_utc_timestamp get_json_object getbit greatest grouping grouping_id hash hex hour hypot if ifnull in initcap inline inline_outer input_file_block_length input_file_block_start input_file_name inputformat instr int isnan isnotnull isnull java_method json_array_length json_object_keys json_tuple kurtosis lag last last_day last_value lcase lead least left length levenshtein like ln locate log log10 log1p log2 lower lpad ltrim make_date make_dt_interval make_interval make_timestamp make_ym_interval map map_concat map_entries map_filter map_from_arrays map_from_entries map_keys map_values map_zip_with max max_by md5 mean min min_by minute mod monotonically_increasing_id month months_between named_struct nanvl negative next_day not now nth_value ntile nullif nvl nvl2 octet_length or outputformat overlay parse_url percent_rank percentile percentile_approx pi pmod posexplode posexplode_outer position positive pow power printf quarter radians raise_error rand randn random rank rcfile reflect regexp regexp_extract regexp_extract_all regexp_like regexp_replace repeat replace reverse right rint rlike round row_number rpad rtrim schema_of_csv schema_of_json second sentences sequence sequencefile serde session_window sha sha1 sha2 shiftleft shiftright shiftrightunsigned shuffle sign signum sin sinh size skewness slice smallint some sort_array soundex space spark_partition_id split sqrt stack std stddev stddev_pop stddev_samp str_to_map string struct substr substring substring_index sum tan tanh textfile timestamp timestamp_micros timestamp_millis timestamp_seconds tinyint to_csv to_date to_json to_timestamp to_unix_timestamp to_utc_timestamp transform transform_keys transform_values translate trim trunc try_add try_divide typeof ucase unbase64 unhex uniontype unix_date unix_micros unix_millis unix_seconds unix_timestamp upper uuid var_pop var_samp variance version weekday weekofyear when width_bucket window xpath xpath_boolean xpath_double xpath_float xpath_int xpath_long xpath_number xpath_short xpath_string xxhash64 year zip_with"),atoms:s("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:s("date time timestamp"),support:s("doubleQuote zerolessFloat")}),o.defineMIME("text/x-esper",{name:"sql",client:s("source"),keywords:s("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:s("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:s("time"),support:s("decimallessFloat zerolessFloat binaryNumber hexNumber")}),o.defineMIME("text/x-trino",{name:"sql",keywords:s("abs absent acos add admin after all all_match alter analyze and any any_match approx_distinct approx_most_frequent approx_percentile approx_set arbitrary array_agg array_distinct array_except array_intersect array_join array_max array_min array_position array_remove array_sort array_union arrays_overlap as asc asin at at_timezone atan atan2 authorization avg bar bernoulli beta_cdf between bing_tile bing_tile_at bing_tile_coordinates bing_tile_polygon bing_tile_quadkey bing_tile_zoom_level bing_tiles_around bit_count bitwise_and bitwise_and_agg bitwise_left_shift bitwise_not bitwise_or bitwise_or_agg bitwise_right_shift bitwise_right_shift_arithmetic bitwise_xor bool_and bool_or both by call cardinality cascade case cast catalogs cbrt ceil ceiling char2hexint checksum chr classify coalesce codepoint column columns combinations comment commit committed concat concat_ws conditional constraint contains contains_sequence convex_hull_agg copartition corr cos cosh cosine_similarity count count_if covar_pop covar_samp crc32 create cross cube cume_dist current current_catalog current_date current_groups current_path current_role current_schema current_time current_timestamp current_timezone current_user data date_add date_diff date_format date_parse date_trunc day day_of_month day_of_week day_of_year deallocate default define definer degrees delete dense_rank deny desc describe descriptor distinct distributed dow doy drop e element_at else empty empty_approx_set encoding end error escape evaluate_classifier_predictions every except excluding execute exists exp explain extract false features fetch filter final first first_value flatten floor following for format format_datetime format_number from from_base from_base32 from_base64 from_base64url from_big_endian_32 from_big_endian_64 from_encoded_polyline from_geojson_geometry from_hex from_ieee754_32 from_ieee754_64 from_iso8601_date from_iso8601_timestamp from_iso8601_timestamp_nanos from_unixtime from_unixtime_nanos from_utf8 full functions geometric_mean geometry_from_hadoop_shape geometry_invalid_reason geometry_nearest_points geometry_to_bing_tiles geometry_union geometry_union_agg grant granted grants graphviz great_circle_distance greatest group grouping groups hamming_distance hash_counts having histogram hmac_md5 hmac_sha1 hmac_sha256 hmac_sha512 hour human_readable_seconds if ignore in including index infinity initial inner input insert intersect intersection_cardinality into inverse_beta_cdf inverse_normal_cdf invoker io is is_finite is_infinite is_json_scalar is_nan isolation jaccard_index join json_array json_array_contains json_array_get json_array_length json_exists json_extract json_extract_scalar json_format json_object json_parse json_query json_size json_value keep key keys kurtosis lag last last_day_of_month last_value lateral lead leading learn_classifier learn_libsvm_classifier learn_libsvm_regressor learn_regressor least left length level levenshtein_distance like limit line_interpolate_point line_interpolate_points line_locate_point listagg ln local localtime localtimestamp log log10 log2 logical lower lpad ltrim luhn_check make_set_digest map_agg map_concat map_entries map_filter map_from_entries map_keys map_union map_values map_zip_with match match_recognize matched matches materialized max max_by md5 measures merge merge_set_digest millisecond min min_by minute mod month multimap_agg multimap_from_entries murmur3 nan natural next nfc nfd nfkc nfkd ngrams no none none_match normal_cdf normalize not now nth_value ntile null nullif nulls numeric_histogram object objectid_timestamp of offset omit on one only option or order ordinality outer output over overflow parse_data_size parse_datetime parse_duration partition partitions passing past path pattern per percent_rank permute pi position pow power preceding prepare privileges properties prune qdigest_agg quarter quotes radians rand random range rank read recursive reduce reduce_agg refresh regexp_count regexp_extract regexp_extract_all regexp_like regexp_position regexp_replace regexp_split regr_intercept regr_slope regress rename render repeat repeatable replace reset respect restrict returning reverse revoke rgb right role roles rollback rollup round row_number rows rpad rtrim running scalar schema schemas second security seek select sequence serializable session set sets sha1 sha256 sha512 show shuffle sign simplify_geometry sin skewness skip slice some soundex spatial_partitioning spatial_partitions split split_part split_to_map split_to_multimap spooky_hash_v2_32 spooky_hash_v2_64 sqrt st_area st_asbinary st_astext st_boundary st_buffer st_centroid st_contains st_convexhull st_coorddim st_crosses st_difference st_dimension st_disjoint st_distance st_endpoint st_envelope st_envelopeaspts st_equals st_exteriorring st_geometries st_geometryfromtext st_geometryn st_geometrytype st_geomfrombinary st_interiorringn st_interiorrings st_intersection st_intersects st_isclosed st_isempty st_isring st_issimple st_isvalid st_length st_linefromtext st_linestring st_multipoint st_numgeometries st_numinteriorring st_numpoints st_overlaps st_point st_pointn st_points st_polygon st_relate st_startpoint st_symdifference st_touches st_union st_within st_x st_xmax st_xmin st_y st_ymax st_ymin start starts_with stats stddev stddev_pop stddev_samp string strpos subset substr substring sum system table tables tablesample tan tanh tdigest_agg text then ties timestamp_objectid timezone_hour timezone_minute to to_base to_base32 to_base64 to_base64url to_big_endian_32 to_big_endian_64 to_char to_date to_encoded_polyline to_geojson_geometry to_geometry to_hex to_ieee754_32 to_ieee754_64 to_iso8601 to_milliseconds to_spherical_geography to_timestamp to_unixtime to_utf8 trailing transaction transform transform_keys transform_values translate trim trim_array true truncate try try_cast type typeof uescape unbounded uncommitted unconditional union unique unknown unmatched unnest update upper url_decode url_encode url_extract_fragment url_extract_host url_extract_parameter url_extract_path url_extract_port url_extract_protocol url_extract_query use user using utf16 utf32 utf8 validate value value_at_quantile values values_at_quantiles var_pop var_samp variance verbose version view week week_of_year when where width_bucket wilson_interval_lower wilson_interval_upper window with with_timezone within without word_stem work wrapper write xxhash64 year year_of_week yow zip zip_with"),builtin:s("array bigint bingtile boolean char codepoints color date decimal double function geometry hyperloglog int integer interval ipaddress joniregexp json json2016 jsonpath kdbtree likepattern map model objectid p4hyperloglog precision qdigest re2jregexp real regressor row setdigest smallint sphericalgeography tdigest time timestamp tinyint uuid varbinary varchar zone"),atoms:s("false true null unknown"),operatorChars:/^[[\]|<>=!\-+*/%]/,dateSQL:s("date time timestamp zone"),support:s("decimallessFloat zerolessFloat hexNumber")})})});var ta=Ke(($u,Ku)=>{(function(o){typeof $u=="object"&&typeof Ku=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("stylus",function(E){for(var N=E.indentUnit,G="",J=_(p),re=/^(a|b|i|s|col|em)$/i,q=_(S),O=_(s),D=_(T),Q=_(g),j=_(v),V=M(v),y=_(b),K=_(C),X=_(h),F=/^\s*([.]{2,3}|&&|\|\||\*\*|[?!=:]?=|[-+*\/%<>]=?|\?:|\~)/,R=M(w),le=_(c),xe=new RegExp(/^\-(moz|ms|o|webkit)-/i),I=_(d),L="",de={},ze,pe,Ee,ge;G.length|~|\/)?\s*[\w-]*([a-z0-9-]|\*|\/\*)(\(|,)?)/),H.context.line.firstWord=L?L[0].replace(/^\s*/,""):"",H.context.line.indent=$.indentation(),ze=$.peek(),$.match("//"))return $.skipToEnd(),["comment","comment"];if($.match("/*"))return H.tokenize=qe,qe($,H);if(ze=='"'||ze=="'")return $.next(),H.tokenize=Se(ze),H.tokenize($,H);if(ze=="@")return $.next(),$.eatWhile(/[\w\\-]/),["def",$.current()];if(ze=="#"){if($.next(),$.match(/^[0-9a-f]{3}([0-9a-f]([0-9a-f]{2}){0,2})?\b(?!-)/i))return["atom","atom"];if($.match(/^[a-z][\w-]*/i))return["builtin","hash"]}return $.match(xe)?["meta","vendor-prefixes"]:$.match(/^-?[0-9]?\.?[0-9]/)?($.eatWhile(/[a-z%]/i),["number","unit"]):ze=="!"?($.next(),[$.match(/^(important|optional)/i)?"keyword":"operator","important"]):ze=="."&&$.match(/^\.[a-z][\w-]*/i)?["qualifier","qualifier"]:$.match(V)?($.peek()=="("&&(H.tokenize=Be),["property","word"]):$.match(/^[a-z][\w-]*\(/i)?($.backUp(1),["keyword","mixin"]):$.match(/^(\+|-)[a-z][\w-]*\(/i)?($.backUp(1),["keyword","block-mixin"]):$.string.match(/^\s*&/)&&$.match(/^[-_]+[a-z][\w-]*/)?["qualifier","qualifier"]:$.match(/^(\/|&)(-|_|:|\.|#|[a-z])/)?($.backUp(1),["variable-3","reference"]):$.match(/^&{1}\s*$/)?["variable-3","reference"]:$.match(R)?["operator","operator"]:$.match(/^\$?[-_]*[a-z0-9]+[\w-]*/i)?$.match(/^(\.|\[)[\w-\'\"\]]+/i,!1)&&!U($.current())?($.match("."),["variable-2","variable-name"]):["variable-2","word"]:$.match(F)?["operator",$.current()]:/[:;,{}\[\]\(\)]/.test(ze)?($.next(),[null,ze]):($.next(),[null,null])}function qe($,H){for(var se=!1,De;(De=$.next())!=null;){if(se&&De=="/"){H.tokenize=null;break}se=De=="*"}return["comment","comment"]}function Se($){return function(H,se){for(var De=!1,nt;(nt=H.next())!=null;){if(nt==$&&!De){$==")"&&H.backUp(1);break}De=!De&&nt=="\\"}return(nt==$||!De&&$!=")")&&(se.tokenize=null),["string","string"]}}function Be($,H){return $.next(),$.match(/\s*[\"\')]/,!1)?H.tokenize=null:H.tokenize=Se(")"),[null,"("]}function Ze($,H,se,De){this.type=$,this.indent=H,this.prev=se,this.line=De||{firstWord:"",indent:0}}function ke($,H,se,De){return De=De>=0?De:N,$.context=new Ze(se,H.indentation()+De,$.context),se}function Je($,H){var se=$.context.indent-N;return H=H||!1,$.context=$.context.prev,H&&($.context.indent=se),$.context.type}function Re($,H,se){return de[se.context.type]($,H,se)}function Ge($,H,se,De){for(var nt=De||1;nt>0;nt--)se.context=se.context.prev;return Re($,H,se)}function U($){return $.toLowerCase()in J}function Z($){return $=$.toLowerCase(),$ in q||$ in X}function ce($){return $.toLowerCase()in le}function He($){return $.toLowerCase().match(xe)}function te($){var H=$.toLowerCase(),se="variable-2";return U($)?se="tag":ce($)?se="block-keyword":Z($)?se="property":H in D||H in I?se="atom":H=="return"||H in Q?se="keyword":$.match(/^[A-Z]/)&&(se="string"),se}function fe($,H){return Me(H)&&($=="{"||$=="]"||$=="hash"||$=="qualifier")||$=="block-mixin"}function oe($,H){return $=="{"&&H.match(/^\s*\$?[\w-]+/i,!1)}function Ue($,H){return $==":"&&H.match(/^[a-z-]+/,!1)}function we($){return $.sol()||$.string.match(new RegExp("^\\s*"+W($.current())))}function Me($){return $.eol()||$.match(/^\s*$/,!1)}function Le($){var H=/^\s*[-_]*[a-z0-9]+[\w-]*/i,se=typeof $=="string"?$.match(H):$.string.match(H);return se?se[0].replace(/^\s*/,""):""}return de.block=function($,H,se){if($=="comment"&&we(H)||$==","&&Me(H)||$=="mixin")return ke(se,H,"block",0);if(oe($,H))return ke(se,H,"interpolation");if(Me(H)&&$=="]"&&!/^\s*(\.|#|:|\[|\*|&)/.test(H.string)&&!U(Le(H)))return ke(se,H,"block",0);if(fe($,H))return ke(se,H,"block");if($=="}"&&Me(H))return ke(se,H,"block",0);if($=="variable-name")return H.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/)||ce(Le(H))?ke(se,H,"variableName"):ke(se,H,"variableName",0);if($=="=")return!Me(H)&&!ce(Le(H))?ke(se,H,"block",0):ke(se,H,"block");if($=="*"&&(Me(H)||H.match(/\s*(,|\.|#|\[|:|{)/,!1)))return ge="tag",ke(se,H,"block");if(Ue($,H))return ke(se,H,"pseudo");if(/@(font-face|media|supports|(-moz-)?document)/.test($))return ke(se,H,Me(H)?"block":"atBlock");if(/@(-(moz|ms|o|webkit)-)?keyframes$/.test($))return ke(se,H,"keyframes");if(/@extends?/.test($))return ke(se,H,"extend",0);if($&&$.charAt(0)=="@")return H.indentation()>0&&Z(H.current().slice(1))?(ge="variable-2","block"):/(@import|@require|@charset)/.test($)?ke(se,H,"block",0):ke(se,H,"block");if($=="reference"&&Me(H))return ke(se,H,"block");if($=="(")return ke(se,H,"parens");if($=="vendor-prefixes")return ke(se,H,"vendorPrefixes");if($=="word"){var De=H.current();if(ge=te(De),ge=="property")return we(H)?ke(se,H,"block",0):(ge="atom","block");if(ge=="tag"){if(/embed|menu|pre|progress|sub|table/.test(De)&&Z(Le(H))||H.string.match(new RegExp("\\[\\s*"+De+"|"+De+"\\s*\\]")))return ge="atom","block";if(re.test(De)&&(we(H)&&H.string.match(/=/)||!we(H)&&!H.string.match(/^(\s*\.|#|\&|\[|\/|>|\*)/)&&!U(Le(H))))return ge="variable-2",ce(Le(H))?"block":ke(se,H,"block",0);if(Me(H))return ke(se,H,"block")}if(ge=="block-keyword")return ge="keyword",H.current(/(if|unless)/)&&!we(H)?"block":ke(se,H,"block");if(De=="return")return ke(se,H,"block",0);if(ge=="variable-2"&&H.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/))return ke(se,H,"block")}return se.context.type},de.parens=function($,H,se){if($=="(")return ke(se,H,"parens");if($==")")return se.context.prev.type=="parens"?Je(se):H.string.match(/^[a-z][\w-]*\(/i)&&Me(H)||ce(Le(H))||/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(Le(H))||!H.string.match(/^-?[a-z][\w-\.\[\]\'\"]*\s*=/)&&U(Le(H))?ke(se,H,"block"):H.string.match(/^[\$-]?[a-z][\w-\.\[\]\'\"]*\s*=/)||H.string.match(/^\s*(\(|\)|[0-9])/)||H.string.match(/^\s+[a-z][\w-]*\(/i)||H.string.match(/^\s+[\$-]?[a-z]/i)?ke(se,H,"block",0):Me(H)?ke(se,H,"block"):ke(se,H,"block",0);if($&&$.charAt(0)=="@"&&Z(H.current().slice(1))&&(ge="variable-2"),$=="word"){var De=H.current();ge=te(De),ge=="tag"&&re.test(De)&&(ge="variable-2"),(ge=="property"||De=="to")&&(ge="atom")}return $=="variable-name"?ke(se,H,"variableName"):Ue($,H)?ke(se,H,"pseudo"):se.context.type},de.vendorPrefixes=function($,H,se){return $=="word"?(ge="property",ke(se,H,"block",0)):Je(se)},de.pseudo=function($,H,se){return Z(Le(H.string))?Ge($,H,se):(H.match(/^[a-z-]+/),ge="variable-3",Me(H)?ke(se,H,"block"):Je(se))},de.atBlock=function($,H,se){if($=="(")return ke(se,H,"atBlock_parens");if(fe($,H))return ke(se,H,"block");if(oe($,H))return ke(se,H,"interpolation");if($=="word"){var De=H.current().toLowerCase();if(/^(only|not|and|or)$/.test(De)?ge="keyword":j.hasOwnProperty(De)?ge="tag":K.hasOwnProperty(De)?ge="attribute":y.hasOwnProperty(De)?ge="property":O.hasOwnProperty(De)?ge="string-2":ge=te(H.current()),ge=="tag"&&Me(H))return ke(se,H,"block")}return $=="operator"&&/^(not|and|or)$/.test(H.current())&&(ge="keyword"),se.context.type},de.atBlock_parens=function($,H,se){if($=="{"||$=="}")return se.context.type;if($==")")return Me(H)?ke(se,H,"block"):ke(se,H,"atBlock");if($=="word"){var De=H.current().toLowerCase();return ge=te(De),/^(max|min)/.test(De)&&(ge="property"),ge=="tag"&&(re.test(De)?ge="variable-2":ge="atom"),se.context.type}return de.atBlock($,H,se)},de.keyframes=function($,H,se){return H.indentation()=="0"&&($=="}"&&we(H)||$=="]"||$=="hash"||$=="qualifier"||U(H.current()))?Ge($,H,se):$=="{"?ke(se,H,"keyframes"):$=="}"?we(H)?Je(se,!0):ke(se,H,"keyframes"):$=="unit"&&/^[0-9]+\%$/.test(H.current())?ke(se,H,"keyframes"):$=="word"&&(ge=te(H.current()),ge=="block-keyword")?(ge="keyword",ke(se,H,"keyframes")):/@(font-face|media|supports|(-moz-)?document)/.test($)?ke(se,H,Me(H)?"block":"atBlock"):$=="mixin"?ke(se,H,"block",0):se.context.type},de.interpolation=function($,H,se){return $=="{"&&Je(se)&&ke(se,H,"block"),$=="}"?H.string.match(/^\s*(\.|#|:|\[|\*|&|>|~|\+|\/)/i)||H.string.match(/^\s*[a-z]/i)&&U(Le(H))?ke(se,H,"block"):!H.string.match(/^(\{|\s*\&)/)||H.match(/\s*[\w-]/,!1)?ke(se,H,"block",0):ke(se,H,"block"):$=="variable-name"?ke(se,H,"variableName",0):($=="word"&&(ge=te(H.current()),ge=="tag"&&(ge="atom")),se.context.type)},de.extend=function($,H,se){return $=="["||$=="="?"extend":$=="]"?Je(se):$=="word"?(ge=te(H.current()),"extend"):Je(se)},de.variableName=function($,H,se){return $=="string"||$=="["||$=="]"||H.current().match(/^(\.|\$)/)?(H.current().match(/^\.[\w-]+/i)&&(ge="variable-2"),"variableName"):Ge($,H,se)},{startState:function($){return{tokenize:null,state:"block",context:new Ze("block",$||0,null)}},token:function($,H){return!H.tokenize&&$.eatSpace()?null:(pe=(H.tokenize||Oe)($,H),pe&&typeof pe=="object"&&(Ee=pe[1],pe=pe[0]),ge=pe,H.state=de[H.state](Ee,$,H),ge)},indent:function($,H,se){var De=$.context,nt=H&&H.charAt(0),dt=De.indent,Pt=Le(H),It=se.match(/^\s*/)[0].replace(/\t/g,G).length,Pe=$.context.prev?$.context.prev.line.firstWord:"",xt=$.context.prev?$.context.prev.line.indent:It;return De.prev&&(nt=="}"&&(De.type=="block"||De.type=="atBlock"||De.type=="keyframes")||nt==")"&&(De.type=="parens"||De.type=="atBlock_parens")||nt=="{"&&De.type=="at")?dt=De.indent-N:/(\})/.test(nt)||(/@|\$|\d/.test(nt)||/^\{/.test(H)||/^\s*\/(\/|\*)/.test(H)||/^\s*\/\*/.test(Pe)||/^\s*[\w-\.\[\]\'\"]+\s*(\?|:|\+)?=/i.test(H)||/^(\+|-)?[a-z][\w-]*\(/i.test(H)||/^return/.test(H)||ce(Pt)?dt=It:/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(nt)||U(Pt)?/\,\s*$/.test(Pe)?dt=xt:/^\s+/.test(se)&&(/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(Pe)||U(Pe))?dt=It<=xt?xt:xt+N:dt=It:!/,\s*$/.test(se)&&(He(Pt)||Z(Pt))&&(ce(Pe)?dt=It<=xt?xt:xt+N:/^\{/.test(Pe)?dt=It<=xt?It:xt+N:He(Pe)||Z(Pe)?dt=It>=xt?xt:It:/^(\.|#|:|\[|\*|&|@|\+|\-|>|~|\/)/.test(Pe)||/=\s*$/.test(Pe)||U(Pe)||/^\$[\w-\.\[\]\'\"]/.test(Pe)?dt=xt+N:dt=It)),dt},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"indent"}});var p=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","bgsound","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","nobr","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","var","video"],v=["domain","regexp","url-prefix","url"],C=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],b=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","dynamic-range","video-dynamic-range"],S=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-position","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode","font-smoothing","osx-font-smoothing"],s=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],h=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],g=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],T=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","column","compact","condensed","conic-gradient","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","high","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","matrix","matrix3d","media-play-button","media-slider","media-sliderthumb","media-volume-slider","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeating-conic-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scale","scale3d","scaleX","scaleY","scaleZ","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","spell-out","square","square-button","standard","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","x-large","x-small","xor","xx-large","xx-small","bicubic","optimizespeed","grayscale","row","row-reverse","wrap","wrap-reverse","column-reverse","flex-start","flex-end","space-between","space-around","unset"],w=["in","and","or","not","is not","is a","is","isnt","defined","if unless"],c=["for","if","else","unless","from","to"],d=["null","true","false","href","title","type","not-allowed","readonly","disabled"],k=["@font-face","@keyframes","@media","@viewport","@page","@host","@supports","@block","@css"],z=p.concat(v,C,b,S,s,g,T,h,w,c,d,k);function M(E){return E=E.sort(function(N,G){return G>N}),new RegExp("^(("+E.join(")|(")+"))\\b")}function _(E){for(var N={},G=0;G{(function(o){typeof Gu=="object"&&typeof Zu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";function p(q){for(var O={},D=0;D~^?!",h=":;,.(){}[]",g=/^\-?0b[01][01_]*/,T=/^\-?0o[0-7][0-7_]*/,w=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,c=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,d=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,k=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,z=/^\#[A-Za-z]+/,M=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function _(q,O,D){if(q.sol()&&(O.indented=q.indentation()),q.eatSpace())return null;var Q=q.peek();if(Q=="/"){if(q.match("//"))return q.skipToEnd(),"comment";if(q.match("/*"))return O.tokenize.push(N),N(q,O)}if(q.match(z))return"builtin";if(q.match(M))return"attribute";if(q.match(g)||q.match(T)||q.match(w)||q.match(c))return"number";if(q.match(k))return"property";if(s.indexOf(Q)>-1)return q.next(),"operator";if(h.indexOf(Q)>-1)return q.next(),q.match(".."),"punctuation";var j;if(j=q.match(/("""|"|')/)){var V=E.bind(null,j[0]);return O.tokenize.push(V),V(q,O)}if(q.match(d)){var y=q.current();return S.hasOwnProperty(y)?"variable-2":b.hasOwnProperty(y)?"atom":v.hasOwnProperty(y)?(C.hasOwnProperty(y)&&(O.prev="define"),"keyword"):D=="define"?"def":"variable"}return q.next(),null}function W(){var q=0;return function(O,D,Q){var j=_(O,D,Q);if(j=="punctuation"){if(O.current()=="(")++q;else if(O.current()==")"){if(q==0)return O.backUp(1),D.tokenize.pop(),D.tokenize[D.tokenize.length-1](O,D);--q}}return j}}function E(q,O,D){for(var Q=q.length==1,j,V=!1;j=O.peek();)if(V){if(O.next(),j=="(")return D.tokenize.push(W()),"string";V=!1}else{if(O.match(q))return D.tokenize.pop(),"string";O.next(),V=j=="\\"}return Q&&D.tokenize.pop(),"string"}function N(q,O){for(var D;D=q.next();)if(D==="/"&&q.eat("*"))O.tokenize.push(N);else if(D==="*"&&q.eat("/")){O.tokenize.pop();break}return"comment"}function G(q,O,D){this.prev=q,this.align=O,this.indented=D}function J(q,O){var D=O.match(/^\s*($|\/[\/\*])/,!1)?null:O.column()+1;q.context=new G(q.context,D,q.indented)}function re(q){q.context&&(q.indented=q.context.indented,q.context=q.context.prev)}o.defineMode("swift",function(q){return{startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(O,D){var Q=D.prev;D.prev=null;var j=D.tokenize[D.tokenize.length-1]||_,V=j(O,D,Q);if(!V||V=="comment"?D.prev=Q:D.prev||(D.prev=V),V=="punctuation"){var y=/[\(\[\{]|([\]\)\}])/.exec(O.current());y&&(y[1]?re:J)(D,O)}return V},indent:function(O,D){var Q=O.context;if(!Q)return 0;var j=/^[\]\}\)]/.test(D);return Q.align!=null?Q.align-(j?1:0):Q.indented+(j?0:q.indentUnit)},electricInput:/^\s*[\)\}\]]$/,lineComment:"//",blockCommentStart:"/*",blockCommentEnd:"*/",fold:"brace",closeBrackets:"()[]{}''\"\"``"}}),o.defineMIME("text/x-swift","swift")})});var Vu=Ke((Yu,Qu)=>{(function(o){typeof Yu=="object"&&typeof Qu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("coffeescript",function(p,v){var C="error";function b(O){return new RegExp("^(("+O.join(")|(")+"))\\b")}var S=/^(?:->|=>|\+[+=]?|-[\-=]?|\*[\*=]?|\/[\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\|=?|\^=?|\~|!|\?|(or|and|\|\||&&|\?)=)/,s=/^(?:[()\[\]{},:`=;]|\.\.?\.?)/,h=/^[_A-Za-z$][_A-Za-z$0-9]*/,g=/^@[_A-Za-z$][_A-Za-z$0-9]*/,T=b(["and","or","not","is","isnt","in","instanceof","typeof"]),w=["for","while","loop","if","unless","else","switch","try","catch","finally","class"],c=["break","by","continue","debugger","delete","do","in","of","new","return","then","this","@","throw","when","until","extends"],d=b(w.concat(c));w=b(w);var k=/^('{3}|\"{3}|['\"])/,z=/^(\/{3}|\/)/,M=["Infinity","NaN","undefined","null","true","false","on","off","yes","no"],_=b(M);function W(O,D){if(O.sol()){D.scope.align===null&&(D.scope.align=!1);var Q=D.scope.offset;if(O.eatSpace()){var j=O.indentation();return j>Q&&D.scope.type=="coffee"?"indent":j0&&J(O,D)}if(O.eatSpace())return null;var V=O.peek();if(O.match("####"))return O.skipToEnd(),"comment";if(O.match("###"))return D.tokenize=N,D.tokenize(O,D);if(V==="#")return O.skipToEnd(),"comment";if(O.match(/^-?[0-9\.]/,!1)){var y=!1;if(O.match(/^-?\d*\.\d+(e[\+\-]?\d+)?/i)&&(y=!0),O.match(/^-?\d+\.\d*/)&&(y=!0),O.match(/^-?\.\d+/)&&(y=!0),y)return O.peek()=="."&&O.backUp(1),"number";var K=!1;if(O.match(/^-?0x[0-9a-f]+/i)&&(K=!0),O.match(/^-?[1-9]\d*(e[\+\-]?\d+)?/)&&(K=!0),O.match(/^-?0(?![\dx])/i)&&(K=!0),K)return"number"}if(O.match(k))return D.tokenize=E(O.current(),!1,"string"),D.tokenize(O,D);if(O.match(z)){if(O.current()!="/"||O.match(/^.*\//,!1))return D.tokenize=E(O.current(),!0,"string-2"),D.tokenize(O,D);O.backUp(1)}return O.match(S)||O.match(T)?"operator":O.match(s)?"punctuation":O.match(_)?"atom":O.match(g)||D.prop&&O.match(h)?"property":O.match(d)?"keyword":O.match(h)?"variable":(O.next(),C)}function E(O,D,Q){return function(j,V){for(;!j.eol();)if(j.eatWhile(/[^'"\/\\]/),j.eat("\\")){if(j.next(),D&&j.eol())return Q}else{if(j.match(O))return V.tokenize=W,Q;j.eat(/['"\/]/)}return D&&(v.singleLineStringErrors?Q=C:V.tokenize=W),Q}}function N(O,D){for(;!O.eol();){if(O.eatWhile(/[^#]/),O.match("###")){D.tokenize=W;break}O.eatWhile("#")}return"comment"}function G(O,D,Q){Q=Q||"coffee";for(var j=0,V=!1,y=null,K=D.scope;K;K=K.prev)if(K.type==="coffee"||K.type=="}"){j=K.offset+p.indentUnit;break}Q!=="coffee"?(V=null,y=O.column()+O.current().length):D.scope.align&&(D.scope.align=!1),D.scope={offset:j,type:Q,prev:D.scope,align:V,alignOffset:y}}function J(O,D){if(D.scope.prev)if(D.scope.type==="coffee"){for(var Q=O.indentation(),j=!1,V=D.scope;V;V=V.prev)if(Q===V.offset){j=!0;break}if(!j)return!0;for(;D.scope.prev&&D.scope.offset!==Q;)D.scope=D.scope.prev;return!1}else return D.scope=D.scope.prev,!1}function re(O,D){var Q=D.tokenize(O,D),j=O.current();j==="return"&&(D.dedent=!0),((j==="->"||j==="=>")&&O.eol()||Q==="indent")&&G(O,D);var V="[({".indexOf(j);if(V!==-1&&G(O,D,"])}".slice(V,V+1)),w.exec(j)&&G(O,D),j=="then"&&J(O,D),Q==="dedent"&&J(O,D))return C;if(V="])}".indexOf(j),V!==-1){for(;D.scope.type=="coffee"&&D.scope.prev;)D.scope=D.scope.prev;D.scope.type==j&&(D.scope=D.scope.prev)}return D.dedent&&O.eol()&&(D.scope.type=="coffee"&&D.scope.prev&&(D.scope=D.scope.prev),D.dedent=!1),Q}var q={startState:function(O){return{tokenize:W,scope:{offset:O||0,type:"coffee",prev:null,align:!1},prop:!1,dedent:0}},token:function(O,D){var Q=D.scope.align===null&&D.scope;Q&&O.sol()&&(Q.align=!1);var j=re(O,D);return j&&j!="comment"&&(Q&&(Q.align=!0),D.prop=j=="punctuation"&&O.current()=="."),j},indent:function(O,D){if(O.tokenize!=W)return 0;var Q=O.scope,j=D&&"])}".indexOf(D.charAt(0))>-1;if(j)for(;Q.type=="coffee"&&Q.prev;)Q=Q.prev;var V=j&&Q.type===D.charAt(0);return Q.align?Q.alignOffset-(V?1:0):(V?Q.prev:Q).offset},lineComment:"#",fold:"indent"};return q}),o.defineMIME("application/vnd.coffeescript","coffeescript"),o.defineMIME("text/x-coffeescript","coffeescript"),o.defineMIME("text/coffeescript","coffeescript")})});var tc=Ke((Ju,ec)=>{(function(o){typeof Ju=="object"&&typeof ec=="object"?o(We(),vn(),gn(),Qn()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../javascript/javascript","../css/css","../htmlmixed/htmlmixed"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("pug",function(p){var v="keyword",C="meta",b="builtin",S="qualifier",s={"{":"}","(":")","[":"]"},h=o.getMode(p,"javascript");function g(){this.javaScriptLine=!1,this.javaScriptLineExcludesColon=!1,this.javaScriptArguments=!1,this.javaScriptArgumentsDepth=0,this.isInterpolating=!1,this.interpolationNesting=0,this.jsState=o.startState(h),this.restOfLine="",this.isIncludeFiltered=!1,this.isEach=!1,this.lastTag="",this.scriptType="",this.isAttrs=!1,this.attrsNest=[],this.inAttributeName=!0,this.attributeIsType=!1,this.attrValue="",this.indentOf=1/0,this.indentToken="",this.innerMode=null,this.innerState=null,this.innerModeForLine=!1}g.prototype.copy=function(){var U=new g;return U.javaScriptLine=this.javaScriptLine,U.javaScriptLineExcludesColon=this.javaScriptLineExcludesColon,U.javaScriptArguments=this.javaScriptArguments,U.javaScriptArgumentsDepth=this.javaScriptArgumentsDepth,U.isInterpolating=this.isInterpolating,U.interpolationNesting=this.interpolationNesting,U.jsState=o.copyState(h,this.jsState),U.innerMode=this.innerMode,this.innerMode&&this.innerState&&(U.innerState=o.copyState(this.innerMode,this.innerState)),U.restOfLine=this.restOfLine,U.isIncludeFiltered=this.isIncludeFiltered,U.isEach=this.isEach,U.lastTag=this.lastTag,U.scriptType=this.scriptType,U.isAttrs=this.isAttrs,U.attrsNest=this.attrsNest.slice(),U.inAttributeName=this.inAttributeName,U.attributeIsType=this.attributeIsType,U.attrValue=this.attrValue,U.indentOf=this.indentOf,U.indentToken=this.indentToken,U.innerModeForLine=this.innerModeForLine,U};function T(U,Z){if(U.sol()&&(Z.javaScriptLine=!1,Z.javaScriptLineExcludesColon=!1),Z.javaScriptLine){if(Z.javaScriptLineExcludesColon&&U.peek()===":"){Z.javaScriptLine=!1,Z.javaScriptLineExcludesColon=!1;return}var ce=h.token(U,Z.jsState);return U.eol()&&(Z.javaScriptLine=!1),ce||!0}}function w(U,Z){if(Z.javaScriptArguments){if(Z.javaScriptArgumentsDepth===0&&U.peek()!=="("){Z.javaScriptArguments=!1;return}if(U.peek()==="("?Z.javaScriptArgumentsDepth++:U.peek()===")"&&Z.javaScriptArgumentsDepth--,Z.javaScriptArgumentsDepth===0){Z.javaScriptArguments=!1;return}var ce=h.token(U,Z.jsState);return ce||!0}}function c(U){if(U.match(/^yield\b/))return"keyword"}function d(U){if(U.match(/^(?:doctype) *([^\n]+)?/))return C}function k(U,Z){if(U.match("#{"))return Z.isInterpolating=!0,Z.interpolationNesting=0,"punctuation"}function z(U,Z){if(Z.isInterpolating){if(U.peek()==="}"){if(Z.interpolationNesting--,Z.interpolationNesting<0)return U.next(),Z.isInterpolating=!1,"punctuation"}else U.peek()==="{"&&Z.interpolationNesting++;return h.token(U,Z.jsState)||!0}}function M(U,Z){if(U.match(/^case\b/))return Z.javaScriptLine=!0,v}function _(U,Z){if(U.match(/^when\b/))return Z.javaScriptLine=!0,Z.javaScriptLineExcludesColon=!0,v}function W(U){if(U.match(/^default\b/))return v}function E(U,Z){if(U.match(/^extends?\b/))return Z.restOfLine="string",v}function N(U,Z){if(U.match(/^append\b/))return Z.restOfLine="variable",v}function G(U,Z){if(U.match(/^prepend\b/))return Z.restOfLine="variable",v}function J(U,Z){if(U.match(/^block\b *(?:(prepend|append)\b)?/))return Z.restOfLine="variable",v}function re(U,Z){if(U.match(/^include\b/))return Z.restOfLine="string",v}function q(U,Z){if(U.match(/^include:([a-zA-Z0-9\-]+)/,!1)&&U.match("include"))return Z.isIncludeFiltered=!0,v}function O(U,Z){if(Z.isIncludeFiltered){var ce=R(U,Z);return Z.isIncludeFiltered=!1,Z.restOfLine="string",ce}}function D(U,Z){if(U.match(/^mixin\b/))return Z.javaScriptLine=!0,v}function Q(U,Z){if(U.match(/^\+([-\w]+)/))return U.match(/^\( *[-\w]+ *=/,!1)||(Z.javaScriptArguments=!0,Z.javaScriptArgumentsDepth=0),"variable";if(U.match("+#{",!1))return U.next(),Z.mixinCallAfter=!0,k(U,Z)}function j(U,Z){if(Z.mixinCallAfter)return Z.mixinCallAfter=!1,U.match(/^\( *[-\w]+ *=/,!1)||(Z.javaScriptArguments=!0,Z.javaScriptArgumentsDepth=0),!0}function V(U,Z){if(U.match(/^(if|unless|else if|else)\b/))return Z.javaScriptLine=!0,v}function y(U,Z){if(U.match(/^(- *)?(each|for)\b/))return Z.isEach=!0,v}function K(U,Z){if(Z.isEach){if(U.match(/^ in\b/))return Z.javaScriptLine=!0,Z.isEach=!1,v;if(U.sol()||U.eol())Z.isEach=!1;else if(U.next()){for(;!U.match(/^ in\b/,!1)&&U.next(););return"variable"}}}function X(U,Z){if(U.match(/^while\b/))return Z.javaScriptLine=!0,v}function F(U,Z){var ce;if(ce=U.match(/^(\w(?:[-:\w]*\w)?)\/?/))return Z.lastTag=ce[1].toLowerCase(),Z.lastTag==="script"&&(Z.scriptType="application/javascript"),"tag"}function R(U,Z){if(U.match(/^:([\w\-]+)/)){var ce;return p&&p.innerModes&&(ce=p.innerModes(U.current().substring(1))),ce||(ce=U.current().substring(1)),typeof ce=="string"&&(ce=o.getMode(p,ce)),Be(U,Z,ce),"atom"}}function le(U,Z){if(U.match(/^(!?=|-)/))return Z.javaScriptLine=!0,"punctuation"}function xe(U){if(U.match(/^#([\w-]+)/))return b}function I(U){if(U.match(/^\.([\w-]+)/))return S}function L(U,Z){if(U.peek()=="(")return U.next(),Z.isAttrs=!0,Z.attrsNest=[],Z.inAttributeName=!0,Z.attrValue="",Z.attributeIsType=!1,"punctuation"}function de(U,Z){if(Z.isAttrs){if(s[U.peek()]&&Z.attrsNest.push(s[U.peek()]),Z.attrsNest[Z.attrsNest.length-1]===U.peek())Z.attrsNest.pop();else if(U.eat(")"))return Z.isAttrs=!1,"punctuation";if(Z.inAttributeName&&U.match(/^[^=,\)!]+/))return(U.peek()==="="||U.peek()==="!")&&(Z.inAttributeName=!1,Z.jsState=o.startState(h),Z.lastTag==="script"&&U.current().trim().toLowerCase()==="type"?Z.attributeIsType=!0:Z.attributeIsType=!1),"attribute";var ce=h.token(U,Z.jsState);if(Z.attributeIsType&&ce==="string"&&(Z.scriptType=U.current().toString()),Z.attrsNest.length===0&&(ce==="string"||ce==="variable"||ce==="keyword"))try{return Function("","var x "+Z.attrValue.replace(/,\s*$/,"").replace(/^!/,"")),Z.inAttributeName=!0,Z.attrValue="",U.backUp(U.current().length),de(U,Z)}catch{}return Z.attrValue+=U.current(),ce||!0}}function ze(U,Z){if(U.match(/^&attributes\b/))return Z.javaScriptArguments=!0,Z.javaScriptArgumentsDepth=0,"keyword"}function pe(U){if(U.sol()&&U.eatSpace())return"indent"}function Ee(U,Z){if(U.match(/^ *\/\/(-)?([^\n]*)/))return Z.indentOf=U.indentation(),Z.indentToken="comment","comment"}function ge(U){if(U.match(/^: */))return"colon"}function Oe(U,Z){if(U.match(/^(?:\| ?| )([^\n]+)/))return"string";if(U.match(/^(<[^\n]*)/,!1))return Be(U,Z,"htmlmixed"),Z.innerModeForLine=!0,Ze(U,Z,!0)}function qe(U,Z){if(U.eat(".")){var ce=null;return Z.lastTag==="script"&&Z.scriptType.toLowerCase().indexOf("javascript")!=-1?ce=Z.scriptType.toLowerCase().replace(/"|'/g,""):Z.lastTag==="style"&&(ce="css"),Be(U,Z,ce),"dot"}}function Se(U){return U.next(),null}function Be(U,Z,ce){ce=o.mimeModes[ce]||ce,ce=p.innerModes&&p.innerModes(ce)||ce,ce=o.mimeModes[ce]||ce,ce=o.getMode(p,ce),Z.indentOf=U.indentation(),ce&&ce.name!=="null"?Z.innerMode=ce:Z.indentToken="string"}function Ze(U,Z,ce){if(U.indentation()>Z.indentOf||Z.innerModeForLine&&!U.sol()||ce)return Z.innerMode?(Z.innerState||(Z.innerState=Z.innerMode.startState?o.startState(Z.innerMode,U.indentation()):{}),U.hideFirstChars(Z.indentOf+2,function(){return Z.innerMode.token(U,Z.innerState)||!0})):(U.skipToEnd(),Z.indentToken);U.sol()&&(Z.indentOf=1/0,Z.indentToken=null,Z.innerMode=null,Z.innerState=null)}function ke(U,Z){if(U.sol()&&(Z.restOfLine=""),Z.restOfLine){U.skipToEnd();var ce=Z.restOfLine;return Z.restOfLine="",ce}}function Je(){return new g}function Re(U){return U.copy()}function Ge(U,Z){var ce=Ze(U,Z)||ke(U,Z)||z(U,Z)||O(U,Z)||K(U,Z)||de(U,Z)||T(U,Z)||w(U,Z)||j(U,Z)||c(U)||d(U)||k(U,Z)||M(U,Z)||_(U,Z)||W(U)||E(U,Z)||N(U,Z)||G(U,Z)||J(U,Z)||re(U,Z)||q(U,Z)||D(U,Z)||Q(U,Z)||V(U,Z)||y(U,Z)||X(U,Z)||F(U,Z)||R(U,Z)||le(U,Z)||xe(U)||I(U)||L(U,Z)||ze(U,Z)||pe(U)||Oe(U,Z)||Ee(U,Z)||ge(U)||qe(U,Z)||Se(U);return ce===!0?null:ce}return{startState:Je,copyState:Re,token:Ge}},"javascript","css","htmlmixed"),o.defineMIME("text/x-pug","pug"),o.defineMIME("text/x-jade","pug")})});var ic=Ke((rc,nc)=>{(function(o){typeof rc=="object"&&typeof nc=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.multiplexingMode=function(p){var v=Array.prototype.slice.call(arguments,1);function C(b,S,s,h){if(typeof S=="string"){var g=b.indexOf(S,s);return h&&g>-1?g+S.length:g}var T=S.exec(s?b.slice(s):b);return T?T.index+s+(h?T[0].length:0):-1}return{startState:function(){return{outer:o.startState(p),innerActive:null,inner:null,startingInner:!1}},copyState:function(b){return{outer:o.copyState(p,b.outer),innerActive:b.innerActive,inner:b.innerActive&&o.copyState(b.innerActive.mode,b.inner),startingInner:b.startingInner}},token:function(b,S){if(S.innerActive){var z=S.innerActive,h=b.string;if(!z.close&&b.sol())return S.innerActive=S.inner=null,this.token(b,S);var w=z.close&&!S.startingInner?C(h,z.close,b.pos,z.parseDelimiters):-1;if(w==b.pos&&!z.parseDelimiters)return b.match(z.close),S.innerActive=S.inner=null,z.delimStyle&&z.delimStyle+" "+z.delimStyle+"-close";w>-1&&(b.string=h.slice(0,w));var M=z.mode.token(b,S.inner);return w>-1?b.string=h:b.pos>b.start&&(S.startingInner=!1),w==b.pos&&z.parseDelimiters&&(S.innerActive=S.inner=null),z.innerStyle&&(M?M=M+" "+z.innerStyle:M=z.innerStyle),M}else{for(var s=1/0,h=b.string,g=0;g{(function(o){typeof oc=="object"&&typeof ac=="object"?o(We(),Di(),ic()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../../addon/mode/simple","../../addon/mode/multiplex"],o):o(CodeMirror)})(function(o){"use strict";o.defineSimpleMode("handlebars-tags",{start:[{regex:/\{\{\{/,push:"handlebars_raw",token:"tag"},{regex:/\{\{!--/,push:"dash_comment",token:"comment"},{regex:/\{\{!/,push:"comment",token:"comment"},{regex:/\{\{/,push:"handlebars",token:"tag"}],handlebars_raw:[{regex:/\}\}\}/,pop:!0,token:"tag"}],handlebars:[{regex:/\}\}/,pop:!0,token:"tag"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"},{regex:/'(?:[^\\']|\\.)*'?/,token:"string"},{regex:/>|[#\/]([A-Za-z_]\w*)/,token:"keyword"},{regex:/(?:else|this)\b/,token:"keyword"},{regex:/\d+/i,token:"number"},{regex:/=|~|@|true|false/,token:"atom"},{regex:/(?:\.\.\/)*(?:[A-Za-z_][\w\.]*)+/,token:"variable-2"}],dash_comment:[{regex:/--\}\}/,pop:!0,token:"comment"},{regex:/./,token:"comment"}],comment:[{regex:/\}\}/,pop:!0,token:"comment"},{regex:/./,token:"comment"}],meta:{blockCommentStart:"{{--",blockCommentEnd:"--}}"}}),o.defineMode("handlebars",function(p,v){var C=o.getMode(p,"handlebars-tags");return!v||!v.base?C:o.multiplexingMode(o.getMode(p,v.base),{open:"{{",close:/\}\}\}?/,mode:C,parseDelimiters:!0})}),o.defineMIME("text/x-handlebars-template","handlebars")})});var cc=Ke((sc,uc)=>{(function(o){"use strict";typeof sc=="object"&&typeof uc=="object"?o(We(),Yn(),mn(),vn(),Vu(),gn(),ea(),ta(),tc(),lc()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../../addon/mode/overlay","../xml/xml","../javascript/javascript","../coffeescript/coffeescript","../css/css","../sass/sass","../stylus/stylus","../pug/pug","../handlebars/handlebars"],o):o(CodeMirror)})(function(o){var p={script:[["lang",/coffee(script)?/,"coffeescript"],["type",/^(?:text|application)\/(?:x-)?coffee(?:script)?$/,"coffeescript"],["lang",/^babel$/,"javascript"],["type",/^text\/babel$/,"javascript"],["type",/^text\/ecmascript-\d+$/,"javascript"]],style:[["lang",/^stylus$/i,"stylus"],["lang",/^sass$/i,"sass"],["lang",/^less$/i,"text/x-less"],["lang",/^scss$/i,"text/x-scss"],["type",/^(text\/)?(x-)?styl(us)?$/i,"stylus"],["type",/^text\/sass/i,"sass"],["type",/^(text\/)?(x-)?scss$/i,"text/x-scss"],["type",/^(text\/)?(x-)?less$/i,"text/x-less"]],template:[["lang",/^vue-template$/i,"vue"],["lang",/^pug$/i,"pug"],["lang",/^handlebars$/i,"handlebars"],["type",/^(text\/)?(x-)?pug$/i,"pug"],["type",/^text\/x-handlebars-template$/i,"handlebars"],[null,null,"vue-template"]]};o.defineMode("vue-template",function(v,C){var b={token:function(S){if(S.match(/^\{\{.*?\}\}/))return"meta mustache";for(;S.next()&&!S.match("{{",!1););return null}};return o.overlayMode(o.getMode(v,C.backdrop||"text/html"),b)}),o.defineMode("vue",function(v){return o.getMode(v,{name:"htmlmixed",tags:p})},"htmlmixed","xml","javascript","coffeescript","css","sass","stylus","pug","handlebars"),o.defineMIME("script/x-vue","vue"),o.defineMIME("text/x-vue","vue")})});var pc=Ke((fc,dc)=>{(function(o){typeof fc=="object"&&typeof dc=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("yaml",function(){var p=["true","false","on","off","yes","no"],v=new RegExp("\\b(("+p.join(")|(")+"))$","i");return{token:function(C,b){var S=C.peek(),s=b.escaped;if(b.escaped=!1,S=="#"&&(C.pos==0||/\s/.test(C.string.charAt(C.pos-1))))return C.skipToEnd(),"comment";if(C.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(b.literal&&C.indentation()>b.keyCol)return C.skipToEnd(),"string";if(b.literal&&(b.literal=!1),C.sol()){if(b.keyCol=0,b.pair=!1,b.pairStart=!1,C.match("---")||C.match("..."))return"def";if(C.match(/\s*-\s+/))return"meta"}if(C.match(/^(\{|\}|\[|\])/))return S=="{"?b.inlinePairs++:S=="}"?b.inlinePairs--:S=="["?b.inlineList++:b.inlineList--,"meta";if(b.inlineList>0&&!s&&S==",")return C.next(),"meta";if(b.inlinePairs>0&&!s&&S==",")return b.keyCol=0,b.pair=!1,b.pairStart=!1,C.next(),"meta";if(b.pairStart){if(C.match(/^\s*(\||\>)\s*/))return b.literal=!0,"meta";if(C.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable-2";if(b.inlinePairs==0&&C.match(/^\s*-?[0-9\.\,]+\s?$/)||b.inlinePairs>0&&C.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(C.match(v))return"keyword"}return!b.pair&&C.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^\s,\[\]{}#&*!|>'"%@`])[^#:]*(?=:($|\s))/)?(b.pair=!0,b.keyCol=C.indentation(),"atom"):b.pair&&C.match(/^:\s*/)?(b.pairStart=!0,"meta"):(b.pairStart=!1,b.escaped=S=="\\",C.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},lineComment:"#",fold:"indent"}}),o.defineMIME("text/x-yaml","yaml"),o.defineMIME("text/yaml","yaml")})});var $d={};function qd(o){for(var p;(p=Md.exec(o))!==null;){var v=p[0];if(v.indexOf("target=")===-1){var C=v.replace(/>$/,' target="_blank">');o=o.replace(v,C)}}return o}function Id(o){for(var p=new DOMParser,v=p.parseFromString(o,"text/html"),C=v.getElementsByTagName("li"),b=0;b0){for(var d=document.createElement("i"),k=0;k=0&&(w=s.getLineHandle(d),!v(w));d--);var W=s.getTokenAt({line:d,ch:1}),E=C(W).fencedChars,N,G,J,re;v(s.getLineHandle(h.line))?(N="",G=h.line):v(s.getLineHandle(h.line-1))?(N="",G=h.line-1):(N=E+` +`,G=h.line),v(s.getLineHandle(g.line))?(J="",re=g.line,g.ch===0&&(re+=1)):g.ch!==0&&v(s.getLineHandle(g.line+1))?(J="",re=g.line+1):(J=E+` +`,re=g.line+1),g.ch===0&&(re-=1),s.operation(function(){s.replaceRange(J,{line:re,ch:0},{line:re+(J?0:1),ch:0}),s.replaceRange(N,{line:G,ch:0},{line:G+(N?0:1),ch:0})}),s.setSelection({line:G+(N?1:0),ch:0},{line:re+(N?1:-1),ch:0}),s.focus()}else{var q=h.line;if(v(s.getLineHandle(h.line))&&(b(s,h.line+1)==="fenced"?(d=h.line,q=h.line+1):(k=h.line,q=h.line-1)),d===void 0)for(d=q;d>=0&&(w=s.getLineHandle(d),!v(w));d--);if(k===void 0)for(z=s.lineCount(),k=q;k=0;d--)if(w=s.getLineHandle(d),!w.text.match(/^\s*$/)&&b(s,d,w)!=="indented"){d+=1;break}for(z=s.lineCount(),k=h.line;k\s+/,"unordered-list":C,"ordered-list":C},T=function(z,M){var _={quote:">","unordered-list":v,"ordered-list":"%%i."};return _[z].replace("%%i",M)},w=function(z,M){var _={quote:">","unordered-list":"\\"+v,"ordered-list":"\\d+."},W=new RegExp(_[z]);return M&&W.test(M)},c=function(z,M,_){var W=C.exec(M),E=T(z,d);return W!==null?(w(z,W[2])&&(E=""),M=W[1]+E+W[3]+M.replace(b,"").replace(g[z],"$1")):_==!1&&(M=E+" "+M),M},d=1,k=s.line;k<=h.line;k++)(function(z){var M=o.getLine(z);S[p]?M=M.replace(g[p],"$1"):(p=="unordered-list"&&(M=c("ordered-list",M,!0)),M=c(p,M,!1),d+=1),o.replaceRange(M,{line:z,ch:0},{line:z,ch:99999999999999})})(k);o.focus()}}function xc(o,p,v,C){if(!(!o.codemirror||o.isPreviewActive())){var b=o.codemirror,S=Tr(b),s=S[p];if(!s){jr(b,s,v,C);return}var h=b.getCursor("start"),g=b.getCursor("end"),T=b.getLine(h.line),w=T.slice(0,h.ch),c=T.slice(h.ch);p=="link"?w=w.replace(/(.*)[^!]\[/,"$1"):p=="image"&&(w=w.replace(/(.*)!\[$/,"$1")),c=c.replace(/]\(.*?\)/,""),b.replaceRange(w+c,{line:h.line,ch:0},{line:h.line,ch:99999999999999}),h.ch-=v[0].length,h!==g&&(g.ch-=v[0].length),b.setSelection(h,g),b.focus()}}function sa(o,p,v,C){if(!(!o.codemirror||o.isPreviewActive())){C=typeof C>"u"?v:C;var b=o.codemirror,S=Tr(b),s,h=v,g=C,T=b.getCursor("start"),w=b.getCursor("end");S[p]?(s=b.getLine(T.line),h=s.slice(0,T.ch),g=s.slice(T.ch),p=="bold"?(h=h.replace(/(\*\*|__)(?![\s\S]*(\*\*|__))/,""),g=g.replace(/(\*\*|__)/,"")):p=="italic"?(h=h.replace(/(\*|_)(?![\s\S]*(\*|_))/,""),g=g.replace(/(\*|_)/,"")):p=="strikethrough"&&(h=h.replace(/(\*\*|~~)(?![\s\S]*(\*\*|~~))/,""),g=g.replace(/(\*\*|~~)/,"")),b.replaceRange(h+g,{line:T.line,ch:0},{line:T.line,ch:99999999999999}),p=="bold"||p=="strikethrough"?(T.ch-=2,T!==w&&(w.ch-=2)):p=="italic"&&(T.ch-=1,T!==w&&(w.ch-=1))):(s=b.getSelection(),p=="bold"?(s=s.split("**").join(""),s=s.split("__").join("")):p=="italic"?(s=s.split("*").join(""),s=s.split("_").join("")):p=="strikethrough"&&(s=s.split("~~").join("")),b.replaceSelection(h+s+g),T.ch+=v.length,w.ch=T.ch+s.length),b.setSelection(T,w),b.focus()}}function Pd(o){if(!o.getWrapperElement().lastChild.classList.contains("editor-preview-active"))for(var p=o.getCursor("start"),v=o.getCursor("end"),C,b=p.line;b<=v.line;b++)C=o.getLine(b),C=C.replace(/^[ ]*([# ]+|\*|-|[> ]+|[0-9]+(.|\)))[ ]*/,""),o.replaceRange(C,{line:b,ch:0},{line:b,ch:99999999999999})}function Ii(o,p){if(Math.abs(o)<1024)return""+o+p[0];var v=0;do o/=1024,++v;while(Math.abs(o)>=1024&&v=19968?C+=v[b].length:C+=1;return C}function Te(o){o=o||{},o.parent=this;var p=!0;if(o.autoDownloadFontAwesome===!1&&(p=!1),o.autoDownloadFontAwesome!==!0)for(var v=document.styleSheets,C=0;C-1&&(p=!1);if(p){var b=document.createElement("link");b.rel="stylesheet",b.href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css",document.getElementsByTagName("head")[0].appendChild(b)}if(o.element)this.element=o.element;else if(o.element===null){console.log("EasyMDE: Error. No element was found.");return}if(o.toolbar===void 0){o.toolbar=[];for(var S in Pr)Object.prototype.hasOwnProperty.call(Pr,S)&&(S.indexOf("separator-")!=-1&&o.toolbar.push("|"),(Pr[S].default===!0||o.showIcons&&o.showIcons.constructor===Array&&o.showIcons.indexOf(S)!=-1)&&o.toolbar.push(S))}if(Object.prototype.hasOwnProperty.call(o,"previewClass")||(o.previewClass="editor-preview"),Object.prototype.hasOwnProperty.call(o,"status")||(o.status=["autosave","lines","words","cursor"],o.uploadImage&&o.status.unshift("upload-image")),o.previewRender||(o.previewRender=function(h){return this.parent.markdown(h)}),o.parsingConfig=fr({highlightFormatting:!0},o.parsingConfig||{}),o.insertTexts=fr({},Bd,o.insertTexts||{}),o.promptTexts=fr({},jd,o.promptTexts||{}),o.blockStyles=fr({},Hd,o.blockStyles||{}),o.autosave!=null&&(o.autosave.timeFormat=fr({},Rd,o.autosave.timeFormat||{})),o.iconClassMap=fr({},et,o.iconClassMap||{}),o.shortcuts=fr({},Ad,o.shortcuts||{}),o.maxHeight=o.maxHeight||void 0,o.direction=o.direction||"ltr",typeof o.maxHeight<"u"?o.minHeight=o.maxHeight:o.minHeight=o.minHeight||"300px",o.errorCallback=o.errorCallback||function(h){alert(h)},o.uploadImage=o.uploadImage||!1,o.imageMaxSize=o.imageMaxSize||2097152,o.imageAccept=o.imageAccept||"image/png, image/jpeg, image/gif, image/avif",o.imageTexts=fr({},Wd,o.imageTexts||{}),o.errorMessages=fr({},Ud,o.errorMessages||{}),o.imagePathAbsolute=o.imagePathAbsolute||!1,o.imageCSRFName=o.imageCSRFName||"csrfmiddlewaretoken",o.imageCSRFHeader=o.imageCSRFHeader||!1,o.autosave!=null&&o.autosave.unique_id!=null&&o.autosave.unique_id!=""&&(o.autosave.uniqueId=o.autosave.unique_id),o.overlayMode&&o.overlayMode.combine===void 0&&(o.overlayMode.combine=!0),this.options=o,this.render(),o.initialValue&&(!this.options.autosave||this.options.autosave.foundSavedValue!==!0)&&this.value(o.initialValue),o.uploadImage){var s=this;this.codemirror.on("dragenter",function(h,g){s.updateStatusBar("upload-image",s.options.imageTexts.sbOnDragEnter),g.stopPropagation(),g.preventDefault()}),this.codemirror.on("dragend",function(h,g){s.updateStatusBar("upload-image",s.options.imageTexts.sbInit),g.stopPropagation(),g.preventDefault()}),this.codemirror.on("dragleave",function(h,g){s.updateStatusBar("upload-image",s.options.imageTexts.sbInit),g.stopPropagation(),g.preventDefault()}),this.codemirror.on("dragover",function(h,g){s.updateStatusBar("upload-image",s.options.imageTexts.sbOnDragEnter),g.stopPropagation(),g.preventDefault()}),this.codemirror.on("drop",function(h,g){g.stopPropagation(),g.preventDefault(),o.imageUploadFunction?s.uploadImagesUsingCustomFunction(o.imageUploadFunction,g.dataTransfer.files):s.uploadImages(g.dataTransfer.files)}),this.codemirror.on("paste",function(h,g){o.imageUploadFunction?s.uploadImagesUsingCustomFunction(o.imageUploadFunction,g.clipboardData.files):s.uploadImages(g.clipboardData.files)})}}function kc(){if(typeof localStorage=="object")try{localStorage.setItem("smde_localStorage",1),localStorage.removeItem("smde_localStorage")}catch{return!1}else return!1;return!0}var mc,Md,Vn,Ad,Dd,ra,hc,et,Pr,Bd,jd,Rd,Hd,Wd,Ud,wc=Cd(()=>{mc=/Mac/.test(navigator.platform),Md=new RegExp(/()+?/g),Vn={toggleBold:Fi,toggleItalic:Ni,drawLink:Gi,toggleHeadingSmaller:Jn,toggleHeadingBigger:ji,drawImage:Zi,toggleBlockquote:Bi,toggleOrderedList:$i,toggleUnorderedList:Ui,toggleCodeBlock:Pi,togglePreview:Ji,toggleStrikethrough:Oi,toggleHeading1:Ri,toggleHeading2:Hi,toggleHeading3:Wi,toggleHeading4:na,toggleHeading5:ia,toggleHeading6:oa,cleanBlock:Ki,drawTable:Xi,drawHorizontalRule:Yi,undo:Qi,redo:Vi,toggleSideBySide:bn,toggleFullScreen:Br},Ad={toggleBold:"Cmd-B",toggleItalic:"Cmd-I",drawLink:"Cmd-K",toggleHeadingSmaller:"Cmd-H",toggleHeadingBigger:"Shift-Cmd-H",toggleHeading1:"Ctrl+Alt+1",toggleHeading2:"Ctrl+Alt+2",toggleHeading3:"Ctrl+Alt+3",toggleHeading4:"Ctrl+Alt+4",toggleHeading5:"Ctrl+Alt+5",toggleHeading6:"Ctrl+Alt+6",cleanBlock:"Cmd-E",drawImage:"Cmd-Alt-I",toggleBlockquote:"Cmd-'",toggleOrderedList:"Cmd-Alt-L",toggleUnorderedList:"Cmd-L",toggleCodeBlock:"Cmd-Alt-C",togglePreview:"Cmd-P",toggleSideBySide:"F9",toggleFullScreen:"F11"},Dd=function(o){for(var p in Vn)if(Vn[p]===o)return p;return null},ra=function(){var o=!1;return function(p){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(p)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(p.substr(0,4)))&&(o=!0)}(navigator.userAgent||navigator.vendor||window.opera),o};hc="";et={bold:"fa fa-bold",italic:"fa fa-italic",strikethrough:"fa fa-strikethrough",heading:"fa fa-header fa-heading","heading-smaller":"fa fa-header fa-heading header-smaller","heading-bigger":"fa fa-header fa-heading header-bigger","heading-1":"fa fa-header fa-heading header-1","heading-2":"fa fa-header fa-heading header-2","heading-3":"fa fa-header fa-heading header-3",code:"fa fa-code",quote:"fa fa-quote-left","ordered-list":"fa fa-list-ol","unordered-list":"fa fa-list-ul","clean-block":"fa fa-eraser",link:"fa fa-link",image:"fa fa-image","upload-image":"fa fa-image",table:"fa fa-table","horizontal-rule":"fa fa-minus",preview:"fa fa-eye","side-by-side":"fa fa-columns",fullscreen:"fa fa-arrows-alt",guide:"fa fa-question-circle",undo:"fa fa-undo",redo:"fa fa-repeat fa-redo"},Pr={bold:{name:"bold",action:Fi,className:et.bold,title:"Bold",default:!0},italic:{name:"italic",action:Ni,className:et.italic,title:"Italic",default:!0},strikethrough:{name:"strikethrough",action:Oi,className:et.strikethrough,title:"Strikethrough"},heading:{name:"heading",action:Jn,className:et.heading,title:"Heading",default:!0},"heading-smaller":{name:"heading-smaller",action:Jn,className:et["heading-smaller"],title:"Smaller Heading"},"heading-bigger":{name:"heading-bigger",action:ji,className:et["heading-bigger"],title:"Bigger Heading"},"heading-1":{name:"heading-1",action:Ri,className:et["heading-1"],title:"Big Heading"},"heading-2":{name:"heading-2",action:Hi,className:et["heading-2"],title:"Medium Heading"},"heading-3":{name:"heading-3",action:Wi,className:et["heading-3"],title:"Small Heading"},"separator-1":{name:"separator-1"},code:{name:"code",action:Pi,className:et.code,title:"Code"},quote:{name:"quote",action:Bi,className:et.quote,title:"Quote",default:!0},"unordered-list":{name:"unordered-list",action:Ui,className:et["unordered-list"],title:"Generic List",default:!0},"ordered-list":{name:"ordered-list",action:$i,className:et["ordered-list"],title:"Numbered List",default:!0},"clean-block":{name:"clean-block",action:Ki,className:et["clean-block"],title:"Clean block"},"separator-2":{name:"separator-2"},link:{name:"link",action:Gi,className:et.link,title:"Create Link",default:!0},image:{name:"image",action:Zi,className:et.image,title:"Insert Image",default:!0},"upload-image":{name:"upload-image",action:aa,className:et["upload-image"],title:"Import an image"},table:{name:"table",action:Xi,className:et.table,title:"Insert Table"},"horizontal-rule":{name:"horizontal-rule",action:Yi,className:et["horizontal-rule"],title:"Insert Horizontal Line"},"separator-3":{name:"separator-3"},preview:{name:"preview",action:Ji,className:et.preview,noDisable:!0,title:"Toggle Preview",default:!0},"side-by-side":{name:"side-by-side",action:bn,className:et["side-by-side"],noDisable:!0,noMobile:!0,title:"Toggle Side by Side",default:!0},fullscreen:{name:"fullscreen",action:Br,className:et.fullscreen,noDisable:!0,noMobile:!0,title:"Toggle Fullscreen",default:!0},"separator-4":{name:"separator-4"},guide:{name:"guide",action:"https://www.markdownguide.org/basic-syntax/",className:et.guide,noDisable:!0,title:"Markdown Guide",default:!0},"separator-5":{name:"separator-5"},undo:{name:"undo",action:Qi,className:et.undo,noDisable:!0,title:"Undo"},redo:{name:"redo",action:Vi,className:et.redo,noDisable:!0,title:"Redo"}},Bd={link:["[","](#url#)"],image:["![","](#url#)"],uploadedImage:["![](#url#)",""],table:["",` + +| Column 1 | Column 2 | Column 3 | +| -------- | -------- | -------- | +| Text | Text | Text | + +`],horizontalRule:["",` + +----- + +`]},jd={link:"URL for the link:",image:"URL of the image:"},Rd={locale:"en-US",format:{hour:"2-digit",minute:"2-digit"}},Hd={bold:"**",code:"```",italic:"*"},Wd={sbInit:"Attach files by drag and dropping or pasting from clipboard.",sbOnDragEnter:"Drop image to upload it.",sbOnDrop:"Uploading image #images_names#...",sbProgress:"Uploading #file_name#: #progress#%",sbOnUploaded:"Uploaded #image_name#",sizeUnits:" B, KB, MB"},Ud={noFileGiven:"You must select a file.",typeNotAllowed:"This image type is not allowed.",fileTooLarge:`Image #image_name# is too big (#image_size#). +Maximum file size is #image_max_size#.`,importError:"Something went wrong when uploading the image #image_name#."};Te.prototype.uploadImages=function(o,p,v){if(o.length!==0){for(var C=[],b=0;b=0;re--){let q=G[re];if(q&&q.tagName==="INPUT"&&!q.closest(".editor-toolbar")){q.focus();break}}}}for(var s in p.shortcuts)p.shortcuts[s]!==null&&Vn[s]!==null&&function(E){C[vc(p.shortcuts[E])]=function(){var N=Vn[E];typeof N=="function"?N(v):typeof N=="string"&&window.open(N,"_blank")}}(s);C.Enter="newlineAndIndentContinueMarkdownList",C.Tab=E=>{let N=E.getSelection();N&&N.length>0?E.execCommand("indentMore"):b(E)},C["Shift-Tab"]=E=>{let N=E.getSelection();N&&N.length>0?E.execCommand("indentLess"):S(E)},C.Esc=function(E){E.getOption("fullScreen")&&Br(v)},this.documentOnKeyDown=function(E){E=E||window.event,E.keyCode==27&&v.codemirror.getOption("fullScreen")&&Br(v)},document.addEventListener("keydown",this.documentOnKeyDown,!1);var h,g;p.overlayMode?(CodeMirror.defineMode("overlay-mode",function(E){return CodeMirror.overlayMode(CodeMirror.getMode(E,p.spellChecker!==!1?"spell-checker":"gfm"),p.overlayMode.mode,p.overlayMode.combine)}),h="overlay-mode",g=p.parsingConfig,g.gitHubSpice=!1):(h=p.parsingConfig,h.name="gfm",h.gitHubSpice=!1),p.spellChecker!==!1&&(h="spell-checker",g=p.parsingConfig,g.name="gfm",g.gitHubSpice=!1,typeof p.spellChecker=="function"?p.spellChecker({codeMirrorInstance:CodeMirror}):CodeMirrorSpellChecker({codeMirrorInstance:CodeMirror}));function T(E,N,G){return{addNew:!1}}if(CodeMirror.getMode("php").mime="text/x-php",this.codemirror=CodeMirror.fromTextArea(o,{mode:h,backdrop:g,theme:p.theme!=null?p.theme:"easymde",tabSize:p.tabSize!=null?p.tabSize:2,indentUnit:p.tabSize!=null?p.tabSize:2,indentWithTabs:p.indentWithTabs!==!1,lineNumbers:p.lineNumbers===!0,autofocus:p.autofocus===!0,extraKeys:C,direction:p.direction,lineWrapping:p.lineWrapping!==!1,allowDropFileTypes:["text/plain"],placeholder:p.placeholder||o.getAttribute("placeholder")||"",styleSelectedText:p.styleSelectedText!=null?p.styleSelectedText:!ra(),scrollbarStyle:p.scrollbarStyle!=null?p.scrollbarStyle:"native",configureMouse:T,inputStyle:p.inputStyle!=null?p.inputStyle:ra()?"contenteditable":"textarea",spellcheck:p.nativeSpellcheck!=null?p.nativeSpellcheck:!0,autoRefresh:p.autoRefresh!=null?p.autoRefresh:!1}),this.codemirror.getScrollerElement().style.minHeight=p.minHeight,typeof p.maxHeight<"u"&&(this.codemirror.getScrollerElement().style.height=p.maxHeight),p.forceSync===!0){var w=this.codemirror;w.on("change",function(){w.save()})}this.gui={};var c=document.createElement("div");c.classList.add("EasyMDEContainer"),c.setAttribute("role","application");var d=this.codemirror.getWrapperElement();d.parentNode.insertBefore(c,d),c.appendChild(d),p.toolbar!==!1&&(this.gui.toolbar=this.createToolbar()),p.status!==!1&&(this.gui.statusbar=this.createStatusbar()),p.autosave!=null&&p.autosave.enabled===!0&&(this.autosave(),this.codemirror.on("change",function(){clearTimeout(v._autosave_timeout),v._autosave_timeout=setTimeout(function(){v.autosave()},v.options.autosave.submit_delay||v.options.autosave.delay||1e3)}));function k(E,N){var G,J=window.getComputedStyle(document.querySelector(".CodeMirror-sizer")).width.replace("px","");return E=2){var J=G[1];if(p.imagesPreviewHandler){var re=p.imagesPreviewHandler(G[1]);typeof re=="string"&&(J=re)}if(window.EMDEimagesCache[J])M(N,window.EMDEimagesCache[J]);else{var q=document.createElement("img");q.onload=function(){window.EMDEimagesCache[J]={naturalWidth:q.naturalWidth,naturalHeight:q.naturalHeight,url:J},M(N,window.EMDEimagesCache[J])},q.src=J}}}})}this.codemirror.on("update",function(){_()}),this.gui.sideBySide=this.createSideBySide(),this._rendered=this.element,(p.autofocus===!0||o.autofocus)&&this.codemirror.focus();var W=this.codemirror;setTimeout(function(){W.refresh()}.bind(W),0)};Te.prototype.cleanup=function(){document.removeEventListener("keydown",this.documentOnKeyDown)};Te.prototype.autosave=function(){if(kc()){var o=this;if(this.options.autosave.uniqueId==null||this.options.autosave.uniqueId==""){console.log("EasyMDE: You must set a uniqueId to use the autosave feature");return}this.options.autosave.binded!==!0&&(o.element.form!=null&&o.element.form!=null&&o.element.form.addEventListener("submit",function(){clearTimeout(o.autosaveTimeoutId),o.autosaveTimeoutId=void 0,localStorage.removeItem("smde_"+o.options.autosave.uniqueId)}),this.options.autosave.binded=!0),this.options.autosave.loaded!==!0&&(typeof localStorage.getItem("smde_"+this.options.autosave.uniqueId)=="string"&&localStorage.getItem("smde_"+this.options.autosave.uniqueId)!=""&&(this.codemirror.setValue(localStorage.getItem("smde_"+this.options.autosave.uniqueId)),this.options.autosave.foundSavedValue=!0),this.options.autosave.loaded=!0);var p=o.value();p!==""?localStorage.setItem("smde_"+this.options.autosave.uniqueId,p):localStorage.removeItem("smde_"+this.options.autosave.uniqueId);var v=document.getElementById("autosaved");if(v!=null&&v!=null&&v!=""){var C=new Date,b=new Intl.DateTimeFormat([this.options.autosave.timeFormat.locale,"en-US"],this.options.autosave.timeFormat.format).format(C),S=this.options.autosave.text==null?"Autosaved: ":this.options.autosave.text;v.innerHTML=S+b}}else console.log("EasyMDE: localStorage not available, cannot autosave")};Te.prototype.clearAutosavedValue=function(){if(kc()){if(this.options.autosave==null||this.options.autosave.uniqueId==null||this.options.autosave.uniqueId==""){console.log("EasyMDE: You must set a uniqueId to clear the autosave value");return}localStorage.removeItem("smde_"+this.options.autosave.uniqueId)}else console.log("EasyMDE: localStorage not available, cannot autosave")};Te.prototype.openBrowseFileWindow=function(o,p){var v=this,C=this.gui.toolbar.getElementsByClassName("imageInput")[0];C.click();function b(S){v.options.imageUploadFunction?v.uploadImagesUsingCustomFunction(v.options.imageUploadFunction,S.target.files):v.uploadImages(S.target.files,o,p),C.removeEventListener("change",b)}C.addEventListener("change",b)};Te.prototype.uploadImage=function(o,p,v){var C=this;p=p||function(T){yc(C,T)};function b(g){C.updateStatusBar("upload-image",g),setTimeout(function(){C.updateStatusBar("upload-image",C.options.imageTexts.sbInit)},1e4),v&&typeof v=="function"&&v(g),C.options.errorCallback(g)}function S(g){var T=C.options.imageTexts.sizeUnits.split(",");return g.replace("#image_name#",o.name).replace("#image_size#",Ii(o.size,T)).replace("#image_max_size#",Ii(C.options.imageMaxSize,T))}if(o.size>this.options.imageMaxSize){b(S(this.options.errorMessages.fileTooLarge));return}var s=new FormData;s.append("image",o),C.options.imageCSRFToken&&!C.options.imageCSRFHeader&&s.append(C.options.imageCSRFName,C.options.imageCSRFToken);var h=new XMLHttpRequest;h.upload.onprogress=function(g){if(g.lengthComputable){var T=""+Math.round(g.loaded*100/g.total);C.updateStatusBar("upload-image",C.options.imageTexts.sbProgress.replace("#file_name#",o.name).replace("#progress#",T))}},h.open("POST",this.options.imageUploadEndpoint),C.options.imageCSRFToken&&C.options.imageCSRFHeader&&h.setRequestHeader(C.options.imageCSRFName,C.options.imageCSRFToken),h.onload=function(){try{var g=JSON.parse(this.responseText)}catch{console.error("EasyMDE: The server did not return a valid json."),b(S(C.options.errorMessages.importError));return}this.status===200&&g&&!g.error&&g.data&&g.data.filePath?p((C.options.imagePathAbsolute?"":window.location.origin+"/")+g.data.filePath):g.error&&g.error in C.options.errorMessages?b(S(C.options.errorMessages[g.error])):g.error?b(S(g.error)):(console.error("EasyMDE: Received an unexpected response after uploading the image."+this.status+" ("+this.statusText+")"),b(S(C.options.errorMessages.importError)))},h.onerror=function(g){console.error("EasyMDE: An unexpected error occurred when trying to upload the image."+g.target.status+" ("+g.target.statusText+")"),b(C.options.errorMessages.importError)},h.send(s)};Te.prototype.uploadImageUsingCustomFunction=function(o,p){var v=this;function C(s){yc(v,s)}function b(s){var h=S(s);v.updateStatusBar("upload-image",h),setTimeout(function(){v.updateStatusBar("upload-image",v.options.imageTexts.sbInit)},1e4),v.options.errorCallback(h)}function S(s){var h=v.options.imageTexts.sizeUnits.split(",");return s.replace("#image_name#",p.name).replace("#image_size#",Ii(p.size,h)).replace("#image_max_size#",Ii(v.options.imageMaxSize,h))}o.apply(this,[p,C,b])};Te.prototype.setPreviewMaxHeight=function(){var o=this.codemirror,p=o.getWrapperElement(),v=p.nextSibling,C=parseInt(window.getComputedStyle(p).paddingTop),b=parseInt(window.getComputedStyle(p).borderTopWidth),S=parseInt(this.options.maxHeight),s=S+C*2+b*2,h=s.toString()+"px";v.style.height=h};Te.prototype.createSideBySide=function(){var o=this.codemirror,p=o.getWrapperElement(),v=p.nextSibling;if(!v||!v.classList.contains("editor-preview-side")){if(v=document.createElement("div"),v.className="editor-preview-side",this.options.previewClass)if(Array.isArray(this.options.previewClass))for(var C=0;CsetTimeout(d,300)),this.$root._editor&&(this.$root._editor.toTextArea(),this.$root._editor=null),this.$root._editor=this.editor=new EasyMDE({autoDownloadFontAwesome:!1,autoRefresh:!0,autoSave:!1,element:this.$refs.editor,imageAccept:"image/png, image/jpeg, image/gif, image/avif, image/webp",imageUploadFunction:c,initialValue:this.state??"",maxHeight:b,minHeight:S,placeholder:s,previewImagesInEditor:!0,spellChecker:!1,status:[{className:"upload-image",defaultValue:""}],toolbar:this.getToolbar(),uploadImage:o}),this.editor.codemirror.setOption("direction",document.documentElement?.dir??"ltr"),this.editor.codemirror.on("changes",(d,k)=>{try{let z=k[k.length-1];if(z.origin==="+input"){let M="(https://)",_=z.text[z.text.length-1];if(_.endsWith(M)&&_!=="[]"+M){let W=z.from,E=z.to,G=z.text.length>1?0:W.ch;setTimeout(()=>{d.setSelection({line:E.line,ch:G+_.lastIndexOf("(")+1},{line:E.line,ch:G+_.lastIndexOf(")")})},25)}}}catch{}}),this.editor.codemirror.on("change",Alpine.debounce(()=>{this.editor&&(this.state=this.editor.value(),p&&this.$wire.commit())},C??300)),v&&this.editor.codemirror.on("blur",()=>this.$wire.commit()),this.$watch("state",()=>{this.editor&&(this.editor.codemirror.hasFocus()||Alpine.raw(this.editor).value(this.state??""))}),h&&h(this)},destroy(){this.editor.cleanup(),this.editor=null},getToolbar(){let d=[];return w.forEach(k=>{k.forEach(z=>d.push(this.getToolbarButton(z))),k.length>0&&d.push("|")}),d[d.length-1]==="|"&&d.pop(),d},getToolbarButton(d){if(d==="bold")return this.getBoldToolbarButton();if(d==="italic")return this.getItalicToolbarButton();if(d==="strike")return this.getStrikeToolbarButton();if(d==="link")return this.getLinkToolbarButton();if(d==="heading")return this.getHeadingToolbarButton();if(d==="blockquote")return this.getBlockquoteToolbarButton();if(d==="codeBlock")return this.getCodeBlockToolbarButton();if(d==="bulletList")return this.getBulletListToolbarButton();if(d==="orderedList")return this.getOrderedListToolbarButton();if(d==="table")return this.getTableToolbarButton();if(d==="attachFiles")return this.getAttachFilesToolbarButton();if(d==="undo")return this.getUndoToolbarButton();if(d==="redo")return this.getRedoToolbarButton();console.error(`Markdown editor toolbar button "${d}" not found.`)},getBoldToolbarButton(){return{name:"bold",action:EasyMDE.toggleBold,title:T.tools?.bold}},getItalicToolbarButton(){return{name:"italic",action:EasyMDE.toggleItalic,title:T.tools?.italic}},getStrikeToolbarButton(){return{name:"strikethrough",action:EasyMDE.toggleStrikethrough,title:T.tools?.strike}},getLinkToolbarButton(){return{name:"link",action:EasyMDE.drawLink,title:T.tools?.link}},getHeadingToolbarButton(){return{name:"heading",action:EasyMDE.toggleHeadingSmaller,title:T.tools?.heading}},getBlockquoteToolbarButton(){return{name:"quote",action:EasyMDE.toggleBlockquote,title:T.tools?.blockquote}},getCodeBlockToolbarButton(){return{name:"code",action:EasyMDE.toggleCodeBlock,title:T.tools?.code_block}},getBulletListToolbarButton(){return{name:"unordered-list",action:EasyMDE.toggleUnorderedList,title:T.tools?.bullet_list}},getOrderedListToolbarButton(){return{name:"ordered-list",action:EasyMDE.toggleOrderedList,title:T.tools?.ordered_list}},getTableToolbarButton(){return{name:"table",action:EasyMDE.drawTable,title:T.tools?.table}},getAttachFilesToolbarButton(){return{name:"upload-image",action:EasyMDE.drawUploadedImage,title:T.tools?.attach_files}},getUndoToolbarButton(){return{name:"undo",action:EasyMDE.undo,title:T.tools?.undo}},getRedoToolbarButton(){return{name:"redo",action:EasyMDE.redo,title:T.tools?.redo}}}}export{Kd as default}; diff --git a/public/js/filament/forms/components/rich-editor.js b/public/js/filament/forms/components/rich-editor.js new file mode 100644 index 0000000..694efc7 --- /dev/null +++ b/public/js/filament/forms/components/rich-editor.js @@ -0,0 +1,93 @@ +function he(t){this.content=t}he.prototype={constructor:he,find:function(t){for(var e=0;e>1}};he.from=function(t){if(t instanceof he)return t;var e=[];if(t)for(var n in t)e.push(n,t[n]);return new he(e)};var yi=he;function aa(t,e,n){for(let r=0;;r++){if(r==t.childCount||r==e.childCount)return t.childCount==e.childCount?null:n;let o=t.child(r),i=e.child(r);if(o==i){n+=o.nodeSize;continue}if(!o.sameMarkup(i))return n;if(o.isText&&o.text!=i.text){for(let s=0;o.text[s]==i.text[s];s++)n++;return n}if(o.content.size||i.content.size){let s=aa(o.content,i.content,n+1);if(s!=null)return s}n+=o.nodeSize}}function ca(t,e,n,r){for(let o=t.childCount,i=e.childCount;;){if(o==0||i==0)return o==i?null:{a:n,b:r};let s=t.child(--o),l=e.child(--i),a=s.nodeSize;if(s==l){n-=a,r-=a;continue}if(!s.sameMarkup(l))return{a:n,b:r};if(s.isText&&s.text!=l.text){let c=0,u=Math.min(s.text.length,l.text.length);for(;ce&&r(a,o+l,i||null,s)!==!1&&a.content.size){let u=l+1;a.nodesBetween(Math.max(0,e-u),Math.min(a.content.size,n-u),r,o+u)}l=c}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,n,r,o){let i="",s=!0;return this.nodesBetween(e,n,(l,a)=>{let c=l.isText?l.text.slice(Math.max(e,a)-a,n-a):l.isLeaf?o?typeof o=="function"?o(l):o:l.type.spec.leafText?l.type.spec.leafText(l):"":"";l.isBlock&&(l.isLeaf&&c||l.isTextblock)&&r&&(s?s=!1:i+=r),i+=c},0),i}append(e){if(!e.size)return this;if(!this.size)return e;let n=this.lastChild,r=e.firstChild,o=this.content.slice(),i=0;for(n.isText&&n.sameMarkup(r)&&(o[o.length-1]=n.withText(n.text+r.text),i=1);ie)for(let i=0,s=0;se&&((sn)&&(l.isText?l=l.cut(Math.max(0,e-s),Math.min(l.text.length,n-s)):l=l.cut(Math.max(0,e-s-1),Math.min(l.content.size,n-s-1))),r.push(l),o+=l.nodeSize),s=a}return new t(r,o)}cutByIndex(e,n){return e==n?t.empty:e==0&&n==this.content.length?this:new t(this.content.slice(e,n))}replaceChild(e,n){let r=this.content[e];if(r==n)return this;let o=this.content.slice(),i=this.size+n.nodeSize-r.nodeSize;return o[e]=n,new t(o,i)}addToStart(e){return new t([e].concat(this.content),this.size+e.nodeSize)}addToEnd(e){return new t(this.content.concat(e),this.size+e.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let n=0;nthis.size||e<0)throw new RangeError(`Position ${e} outside of fragment (${this})`);for(let n=0,r=0;;n++){let o=this.child(n),i=r+o.nodeSize;if(i>=e)return i==e?wr(n+1,i):wr(n,r);r=i}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(e,n){if(!n)return t.empty;if(!Array.isArray(n))throw new RangeError("Invalid input for Fragment.fromJSON");return new t(n.map(e.nodeFromJSON))}static fromArray(e){if(!e.length)return t.empty;let n,r=0;for(let o=0;othis.type.rank&&(n||(n=e.slice(0,o)),n.push(this),r=!0),n&&n.push(i)}}return n||(n=e.slice()),r||n.push(this),n}removeFromSet(e){for(let n=0;nr.type.rank-o.type.rank),n}};V.none=[];var Bt=class extends Error{},M=class t{constructor(e,n,r){this.content=e,this.openStart=n,this.openEnd=r}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(e,n){let r=da(this.content,e+this.openStart,n);return r&&new t(r,this.openStart,this.openEnd)}removeBetween(e,n){return new t(ua(this.content,e+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(e,n){if(!n)return t.empty;let r=n.openStart||0,o=n.openEnd||0;if(typeof r!="number"||typeof o!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new t(w.fromJSON(e,n.content),r,o)}static maxOpen(e,n=!0){let r=0,o=0;for(let i=e.firstChild;i&&!i.isLeaf&&(n||!i.type.spec.isolating);i=i.firstChild)r++;for(let i=e.lastChild;i&&!i.isLeaf&&(n||!i.type.spec.isolating);i=i.lastChild)o++;return new t(e,r,o)}};M.empty=new M(w.empty,0,0);function ua(t,e,n){let{index:r,offset:o}=t.findIndex(e),i=t.maybeChild(r),{index:s,offset:l}=t.findIndex(n);if(o==e||i.isText){if(l!=n&&!t.child(s).isText)throw new RangeError("Removing non-flat range");return t.cut(0,e).append(t.cut(n))}if(r!=s)throw new RangeError("Removing non-flat range");return t.replaceChild(r,i.copy(ua(i.content,e-o-1,n-o-1)))}function da(t,e,n,r){let{index:o,offset:i}=t.findIndex(e),s=t.maybeChild(o);if(i==e||s.isText)return r&&!r.canReplace(o,o,n)?null:t.cut(0,e).append(n).append(t.cut(e));let l=da(s.content,e-i-1,n);return l&&t.replaceChild(o,s.copy(l))}function zh(t,e,n){if(n.openStart>t.depth)throw new Bt("Inserted content deeper than insertion position");if(t.depth-n.openStart!=e.depth-n.openEnd)throw new Bt("Inconsistent open depths");return fa(t,e,n,0)}function fa(t,e,n,r){let o=t.index(r),i=t.node(r);if(o==e.index(r)&&r=0&&t.isText&&t.sameMarkup(e[n])?e[n]=t.withText(e[n].text+t.text):e.push(t)}function On(t,e,n,r){let o=(e||t).node(n),i=0,s=e?e.index(n):o.childCount;t&&(i=t.index(n),t.depth>n?i++:t.textOffset&&(It(t.nodeAfter,r),i++));for(let l=i;lo&&wi(t,e,o+1),s=r.depth>o&&wi(n,r,o+1),l=[];return On(null,t,o,l),i&&s&&e.index(o)==n.index(o)?(ha(i,s),It(Lt(i,pa(t,e,n,r,o+1)),l)):(i&&It(Lt(i,Cr(t,e,o+1)),l),On(e,n,o,l),s&&It(Lt(s,Cr(n,r,o+1)),l)),On(r,null,o,l),new w(l)}function Cr(t,e,n){let r=[];if(On(null,t,n,r),t.depth>n){let o=wi(t,e,n+1);It(Lt(o,Cr(t,e,n+1)),r)}return On(e,null,n,r),new w(r)}function Hh(t,e){let n=e.depth-t.openStart,o=e.node(n).copy(t.content);for(let i=n-1;i>=0;i--)o=e.node(i).copy(w.from(o));return{start:o.resolveNoCache(t.openStart+n),end:o.resolveNoCache(o.content.size-t.openEnd-n)}}var Mr=class t{constructor(e,n,r){this.pos=e,this.path=n,this.parentOffset=r,this.depth=n.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position before the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position after the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,n=this.index(this.depth);if(n==e.childCount)return null;let r=this.pos-this.path[this.path.length-1],o=e.child(n);return r?e.child(n).cut(r):o}get nodeBefore(){let e=this.index(this.depth),n=this.pos-this.path[this.path.length-1];return n?this.parent.child(e).cut(0,n):e==0?null:this.parent.child(e-1)}posAtIndex(e,n){n=this.resolveDepth(n);let r=this.path[n*3],o=n==0?0:this.path[n*3-1]+1;for(let i=0;i0;n--)if(this.start(n)<=e&&this.end(n)>=e)return n;return 0}blockRange(e=this,n){if(e.pos=0;r--)if(e.pos<=this.end(r)&&(!n||n(this.node(r))))return new zt(this,e,r);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos=0&&n<=e.content.size))throw new RangeError("Position "+n+" out of range");let r=[],o=0,i=n;for(let s=e;;){let{index:l,offset:a}=s.content.findIndex(i),c=i-a;if(r.push(s,l,o+a),!c||(s=s.child(l),s.isText))break;i=c-1,o+=a+1}return new t(n,r,i)}static resolveCached(e,n){let r=Zl.get(e);if(r)for(let i=0;ie&&this.nodesBetween(e,n,i=>(r.isInSet(i.marks)&&(o=!0),!o)),o}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+="("+this.content.toStringInner()+")"),ma(this.marks,e)}contentMatchAt(e){let n=this.type.contentMatch.matchFragment(this.content,0,e);if(!n)throw new Error("Called contentMatchAt on a node with invalid content");return n}canReplace(e,n,r=w.empty,o=0,i=r.childCount){let s=this.contentMatchAt(e).matchFragment(r,o,i),l=s&&s.matchFragment(this.content,n);if(!l||!l.validEnd)return!1;for(let a=o;an.type.name)}`);this.content.forEach(n=>n.check())}toJSON(){let e={type:this.type.name};for(let n in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(n=>n.toJSON())),e}static fromJSON(e,n){if(!n)throw new RangeError("Invalid input for Node.fromJSON");let r;if(n.marks){if(!Array.isArray(n.marks))throw new RangeError("Invalid mark data for Node.fromJSON");r=n.marks.map(e.markFromJSON)}if(n.type=="text"){if(typeof n.text!="string")throw new RangeError("Invalid text node in JSON");return e.text(n.text,r)}let o=w.fromJSON(e,n.content),i=e.nodeType(n.type).create(n.attrs,o,r);return i.type.checkAttrs(i.attrs),i}};le.prototype.text=void 0;var ki=class t extends le{constructor(e,n,r,o){if(super(e,n,null,o),!r)throw new RangeError("Empty text nodes are not allowed");this.text=r}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):ma(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,n){return this.text.slice(e,n)}get nodeSize(){return this.text.length}mark(e){return e==this.marks?this:new t(this.type,this.attrs,this.text,e)}withText(e){return e==this.text?this:new t(this.type,this.attrs,e,this.marks)}cut(e=0,n=this.text.length){return e==0&&n==this.text.length?this:this.withText(this.text.slice(e,n))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}};function ma(t,e){for(let n=t.length-1;n>=0;n--)e=t[n].type.name+"("+e+")";return e}var Ht=class t{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(e,n){let r=new Ci(e,n);if(r.next==null)return t.empty;let o=ga(r);r.next&&r.err("Unexpected trailing text");let i=Jh(Uh(o));return qh(i,r),i}matchType(e){for(let n=0;nc.createAndFill()));for(let c=0;c=this.next.length)throw new RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function n(r){e.push(r);for(let o=0;o{let i=o+(r.validEnd?"*":" ")+" ";for(let s=0;s"+e.indexOf(r.next[s].next);return i}).join(` +`)}};Ht.empty=new Ht(!0);var Ci=class{constructor(e,n){this.string=e,this.nodeTypes=n,this.inline=null,this.pos=0,this.tokens=e.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==""&&this.tokens.pop(),this.tokens[0]==""&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(e){return this.next==e&&(this.pos++||!0)}err(e){throw new SyntaxError(e+" (in content expression '"+this.string+"')")}};function ga(t){let e=[];do e.push(Vh(t));while(t.eat("|"));return e.length==1?e[0]:{type:"choice",exprs:e}}function Vh(t){let e=[];do e.push(Wh(t));while(t.next&&t.next!=")"&&t.next!="|");return e.length==1?e[0]:{type:"seq",exprs:e}}function Wh(t){let e=Kh(t);for(;;)if(t.eat("+"))e={type:"plus",expr:e};else if(t.eat("*"))e={type:"star",expr:e};else if(t.eat("?"))e={type:"opt",expr:e};else if(t.eat("{"))e=_h(t,e);else break;return e}function ea(t){/\D/.test(t.next)&&t.err("Expected number, got '"+t.next+"'");let e=Number(t.next);return t.pos++,e}function _h(t,e){let n=ea(t),r=n;return t.eat(",")&&(t.next!="}"?r=ea(t):r=-1),t.eat("}")||t.err("Unclosed braced range"),{type:"range",min:n,max:r,expr:e}}function jh(t,e){let n=t.nodeTypes,r=n[e];if(r)return[r];let o=[];for(let i in n){let s=n[i];s.isInGroup(e)&&o.push(s)}return o.length==0&&t.err("No node type or group '"+e+"' found"),o}function Kh(t){if(t.eat("(")){let e=ga(t);return t.eat(")")||t.err("Missing closing paren"),e}else if(/\W/.test(t.next))t.err("Unexpected token '"+t.next+"'");else{let e=jh(t,t.next).map(n=>(t.inline==null?t.inline=n.isInline:t.inline!=n.isInline&&t.err("Mixing inline and block content"),{type:"name",value:n}));return t.pos++,e.length==1?e[0]:{type:"choice",exprs:e}}}function Uh(t){let e=[[]];return o(i(t,0),n()),e;function n(){return e.push([])-1}function r(s,l,a){let c={term:a,to:l};return e[s].push(c),c}function o(s,l){s.forEach(a=>a.to=l)}function i(s,l){if(s.type=="choice")return s.exprs.reduce((a,c)=>a.concat(i(c,l)),[]);if(s.type=="seq")for(let a=0;;a++){let c=i(s.exprs[a],l);if(a==s.exprs.length-1)return c;o(c,l=n())}else if(s.type=="star"){let a=n();return r(l,a),o(i(s.expr,a),a),[r(a)]}else if(s.type=="plus"){let a=n();return o(i(s.expr,l),a),o(i(s.expr,a),a),[r(a)]}else{if(s.type=="opt")return[r(l)].concat(i(s.expr,l));if(s.type=="range"){let a=l;for(let c=0;c{t[s].forEach(({term:l,to:a})=>{if(!l)return;let c;for(let u=0;u{c||o.push([l,c=[]]),c.indexOf(u)==-1&&c.push(u)})})});let i=e[r.join(",")]=new Ht(r.indexOf(t.length-1)>-1);for(let s=0;s-1}get whitespace(){return this.spec.whitespace||(this.spec.code?"pre":"normal")}hasRequiredAttrs(){for(let e in this.attrs)if(this.attrs[e].isRequired)return!0;return!1}compatibleContent(e){return this==e||this.contentMatch.compatible(e.contentMatch)}computeAttrs(e){return!e&&this.defaultAttrs?this.defaultAttrs:xa(this.attrs,e)}create(e=null,n,r){if(this.isText)throw new Error("NodeType.create can't construct text nodes");return new le(this,this.computeAttrs(e),w.from(n),V.setFrom(r))}createChecked(e=null,n,r){return n=w.from(n),this.checkContent(n),new le(this,this.computeAttrs(e),n,V.setFrom(r))}createAndFill(e=null,n,r){if(e=this.computeAttrs(e),n=w.from(n),n.size){let s=this.contentMatch.fillBefore(n);if(!s)return null;n=s.append(n)}let o=this.contentMatch.matchFragment(n),i=o&&o.fillBefore(w.empty,!0);return i?new le(this,e,n.append(i),V.setFrom(r)):null}validContent(e){let n=this.contentMatch.matchFragment(e);if(!n||!n.validEnd)return!1;for(let r=0;r-1}allowsMarks(e){if(this.markSet==null)return!0;for(let n=0;nr[i]=new t(i,n,s));let o=n.spec.topNode||"doc";if(!r[o])throw new RangeError("Schema is missing its top node type ('"+o+"')");if(!r.text)throw new RangeError("Every schema needs a 'text' type");for(let i in r.text.attrs)throw new RangeError("The text node type should not have attributes");return r}};function Gh(t,e,n){let r=n.split("|");return o=>{let i=o===null?"null":typeof o;if(r.indexOf(i)<0)throw new RangeError(`Expected value of type ${r} for attribute ${e} on type ${t}, got ${i}`)}}var Mi=class{constructor(e,n,r){this.hasDefault=Object.prototype.hasOwnProperty.call(r,"default"),this.default=r.default,this.validate=typeof r.validate=="string"?Gh(e,n,r.validate):r.validate}get isRequired(){return!this.hasDefault}},Rn=class t{constructor(e,n,r,o){this.name=e,this.rank=n,this.schema=r,this.spec=o,this.attrs=Sa(e,o.attrs),this.excluded=null;let i=ba(this.attrs);this.instance=i?new V(this,i):null}create(e=null){return!e&&this.instance?this.instance:new V(this,xa(this.attrs,e))}static compile(e,n){let r=Object.create(null),o=0;return e.forEach((i,s)=>r[i]=new t(i,o++,n,s)),r}removeFromSet(e){for(var n=0;n-1}},sn=class{constructor(e){this.linebreakReplacement=null,this.cached=Object.create(null);let n=this.spec={};for(let o in e)n[o]=e[o];n.nodes=yi.from(e.nodes),n.marks=yi.from(e.marks||{}),this.nodes=vr.compile(this.spec.nodes,this),this.marks=Rn.compile(this.spec.marks,this);let r=Object.create(null);for(let o in this.nodes){if(o in this.marks)throw new RangeError(o+" can not be both a node and a mark");let i=this.nodes[o],s=i.spec.content||"",l=i.spec.marks;if(i.contentMatch=r[s]||(r[s]=Ht.parse(s,this.nodes)),i.inlineContent=i.contentMatch.inlineContent,i.spec.linebreakReplacement){if(this.linebreakReplacement)throw new RangeError("Multiple linebreak nodes defined");if(!i.isInline||!i.isLeaf)throw new RangeError("Linebreak replacement nodes must be inline leaf nodes");this.linebreakReplacement=i}i.markSet=l=="_"?null:l?na(this,l.split(" ")):l==""||!i.inlineContent?[]:null}for(let o in this.marks){let i=this.marks[o],s=i.spec.excludes;i.excluded=s==null?[i]:s==""?[]:na(this,s.split(" "))}this.nodeFromJSON=o=>le.fromJSON(this,o),this.markFromJSON=o=>V.fromJSON(this,o),this.topNodeType=this.nodes[this.spec.topNode||"doc"],this.cached.wrappings=Object.create(null)}node(e,n=null,r,o){if(typeof e=="string")e=this.nodeType(e);else if(e instanceof vr){if(e.schema!=this)throw new RangeError("Node type from different schema used ("+e.name+")")}else throw new RangeError("Invalid node type: "+e);return e.createChecked(n,r,o)}text(e,n){let r=this.nodes.text;return new ki(r,r.defaultAttrs,e,V.setFrom(n))}mark(e,n){return typeof e=="string"&&(e=this.marks[e]),e.create(n)}nodeType(e){let n=this.nodes[e];if(!n)throw new RangeError("Unknown node type: "+e);return n}};function na(t,e){let n=[];for(let r=0;r-1)&&n.push(s=a)}if(!s)throw new SyntaxError("Unknown mark type: '"+e[r]+"'")}return n}function Yh(t){return t.tag!=null}function Xh(t){return t.style!=null}var Ue=class t{constructor(e,n){this.schema=e,this.rules=n,this.tags=[],this.styles=[];let r=this.matchedStyles=[];n.forEach(o=>{if(Yh(o))this.tags.push(o);else if(Xh(o)){let i=/[^=]*/.exec(o.style)[0];r.indexOf(i)<0&&r.push(i),this.styles.push(o)}}),this.normalizeLists=!this.tags.some(o=>{if(!/^(ul|ol)\b/.test(o.tag)||!o.node)return!1;let i=e.nodes[o.node];return i.contentMatch.matchType(i)})}parse(e,n={}){let r=new Tr(this,n,!1);return r.addAll(e,V.none,n.from,n.to),r.finish()}parseSlice(e,n={}){let r=new Tr(this,n,!0);return r.addAll(e,V.none,n.from,n.to),M.maxOpen(r.finish())}matchTag(e,n,r){for(let o=r?this.tags.indexOf(r)+1:0;oe.length&&(l.charCodeAt(e.length)!=61||l.slice(e.length+1)!=n))){if(s.getAttrs){let a=s.getAttrs(n);if(a===!1)continue;s.attrs=a||void 0}return s}}}static schemaRules(e){let n=[];function r(o){let i=o.priority==null?50:o.priority,s=0;for(;s{r(s=oa(s)),s.mark||s.ignore||s.clearMark||(s.mark=o)})}for(let o in e.nodes){let i=e.nodes[o].spec.parseDOM;i&&i.forEach(s=>{r(s=oa(s)),s.node||s.ignore||s.mark||(s.node=o)})}return n}static fromSchema(e){return e.cached.domParser||(e.cached.domParser=new t(e,t.schemaRules(e)))}},ka={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},Qh={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},Ca={ol:!0,ul:!0},Dn=1,vi=2,Nn=4;function ra(t,e,n){return e!=null?(e?Dn:0)|(e==="full"?vi:0):t&&t.whitespace=="pre"?Dn|vi:n&~Nn}var on=class{constructor(e,n,r,o,i,s){this.type=e,this.attrs=n,this.marks=r,this.solid=o,this.options=s,this.content=[],this.activeMarks=V.none,this.match=i||(s&Nn?null:e.contentMatch)}findWrapping(e){if(!this.match){if(!this.type)return[];let n=this.type.contentMatch.fillBefore(w.from(e));if(n)this.match=this.type.contentMatch.matchFragment(n);else{let r=this.type.contentMatch,o;return(o=r.findWrapping(e.type))?(this.match=r,o):null}}return this.match.findWrapping(e.type)}finish(e){if(!(this.options&Dn)){let r=this.content[this.content.length-1],o;if(r&&r.isText&&(o=/[ \t\r\n\u000c]+$/.exec(r.text))){let i=r;r.text.length==o[0].length?this.content.pop():this.content[this.content.length-1]=i.withText(i.text.slice(0,i.text.length-o[0].length))}}let n=w.from(this.content);return!e&&this.match&&(n=n.append(this.match.fillBefore(w.empty,!0))),this.type?this.type.create(this.attrs,n,this.marks):n}inlineContext(e){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:e.parentNode&&!ka.hasOwnProperty(e.parentNode.nodeName.toLowerCase())}},Tr=class{constructor(e,n,r){this.parser=e,this.options=n,this.isOpen=r,this.open=0,this.localPreserveWS=!1;let o=n.topNode,i,s=ra(null,n.preserveWhitespace,0)|(r?Nn:0);o?i=new on(o.type,o.attrs,V.none,!0,n.topMatch||o.type.contentMatch,s):r?i=new on(null,null,V.none,!0,null,s):i=new on(e.schema.topNodeType,null,V.none,!0,null,s),this.nodes=[i],this.find=n.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(e,n){e.nodeType==3?this.addTextNode(e,n):e.nodeType==1&&this.addElement(e,n)}addTextNode(e,n){let r=e.nodeValue,o=this.top,i=o.options&vi?"full":this.localPreserveWS||(o.options&Dn)>0;if(i==="full"||o.inlineContext(e)||/[^ \t\r\n\u000c]/.test(r)){if(i)i!=="full"?r=r.replace(/\r?\n|\r/g," "):r=r.replace(/\r\n?/g,` +`);else if(r=r.replace(/[ \t\r\n\u000c]+/g," "),/^[ \t\r\n\u000c]/.test(r)&&this.open==this.nodes.length-1){let s=o.content[o.content.length-1],l=e.previousSibling;(!s||l&&l.nodeName=="BR"||s.isText&&/[ \t\r\n\u000c]$/.test(s.text))&&(r=r.slice(1))}r&&this.insertNode(this.parser.schema.text(r),n,!/\S/.test(r)),this.findInText(e)}else this.findInside(e)}addElement(e,n,r){let o=this.localPreserveWS,i=this.top;(e.tagName=="PRE"||/pre/.test(e.style&&e.style.whiteSpace))&&(this.localPreserveWS=!0);let s=e.nodeName.toLowerCase(),l;Ca.hasOwnProperty(s)&&this.parser.normalizeLists&&Zh(e);let a=this.options.ruleFromNode&&this.options.ruleFromNode(e)||(l=this.parser.matchTag(e,this,r));e:if(a?a.ignore:Qh.hasOwnProperty(s))this.findInside(e),this.ignoreFallback(e,n);else if(!a||a.skip||a.closeParent){a&&a.closeParent?this.open=Math.max(0,this.open-1):a&&a.skip.nodeType&&(e=a.skip);let c,u=this.needsBlock;if(ka.hasOwnProperty(s))i.content.length&&i.content[0].isInline&&this.open&&(this.open--,i=this.top),c=!0,i.type||(this.needsBlock=!0);else if(!e.firstChild){this.leafFallback(e,n);break e}let d=a&&a.skip?n:this.readStyles(e,n);d&&this.addAll(e,d),c&&this.sync(i),this.needsBlock=u}else{let c=this.readStyles(e,n);c&&this.addElementByRule(e,a,c,a.consuming===!1?l:void 0)}this.localPreserveWS=o}leafFallback(e,n){e.nodeName=="BR"&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(e.ownerDocument.createTextNode(` +`),n)}ignoreFallback(e,n){e.nodeName=="BR"&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text("-"),n,!0)}readStyles(e,n){let r=e.style;if(r&&r.length)for(let o=0;o!a.clearMark(c)):n=n.concat(this.parser.schema.marks[a.mark].create(a.attrs)),a.consuming===!1)l=a;else break}}return n}addElementByRule(e,n,r,o){let i,s;if(n.node)if(s=this.parser.schema.nodes[n.node],s.isLeaf)this.insertNode(s.create(n.attrs),r,e.nodeName=="BR")||this.leafFallback(e,r);else{let a=this.enter(s,n.attrs||null,r,n.preserveWhitespace);a&&(i=!0,r=a)}else{let a=this.parser.schema.marks[n.mark];r=r.concat(a.create(n.attrs))}let l=this.top;if(s&&s.isLeaf)this.findInside(e);else if(o)this.addElement(e,r,o);else if(n.getContent)this.findInside(e),n.getContent(e,this.parser.schema).forEach(a=>this.insertNode(a,r,!1));else{let a=e;typeof n.contentElement=="string"?a=e.querySelector(n.contentElement):typeof n.contentElement=="function"?a=n.contentElement(e):n.contentElement&&(a=n.contentElement),this.findAround(e,a,!0),this.addAll(a,r),this.findAround(e,a,!1)}i&&this.sync(l)&&this.open--}addAll(e,n,r,o){let i=r||0;for(let s=r?e.childNodes[r]:e.firstChild,l=o==null?null:e.childNodes[o];s!=l;s=s.nextSibling,++i)this.findAtPoint(e,i),this.addDOM(s,n);this.findAtPoint(e,i)}findPlace(e,n,r){let o,i;for(let s=this.open,l=0;s>=0;s--){let a=this.nodes[s],c=a.findWrapping(e);if(c&&(!o||o.length>c.length+l)&&(o=c,i=a,!c.length))break;if(a.solid){if(r)break;l+=2}}if(!o)return null;this.sync(i);for(let s=0;s(s.type?s.type.allowsMarkType(c.type):ia(c.type,e))?(a=c.addToSet(a),!1):!0),this.nodes.push(new on(e,n,a,o,null,l)),this.open++,r}closeExtra(e=!1){let n=this.nodes.length-1;if(n>this.open){for(;n>this.open;n--)this.nodes[n-1].content.push(this.nodes[n].finish(e));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(e){for(let n=this.open;n>=0;n--){if(this.nodes[n]==e)return this.open=n,!0;this.localPreserveWS&&(this.nodes[n].options|=Dn)}return!1}get currentPos(){this.closeExtra();let e=0;for(let n=this.open;n>=0;n--){let r=this.nodes[n].content;for(let o=r.length-1;o>=0;o--)e+=r[o].nodeSize;n&&e++}return e}findAtPoint(e,n){if(this.find)for(let r=0;r-1)return e.split(/\s*\|\s*/).some(this.matchesContext,this);let n=e.split("/"),r=this.options.context,o=!this.isOpen&&(!r||r.parent.type==this.nodes[0].type),i=-(r?r.depth+1:0)+(o?0:1),s=(l,a)=>{for(;l>=0;l--){let c=n[l];if(c==""){if(l==n.length-1||l==0)continue;for(;a>=i;a--)if(s(l-1,a))return!0;return!1}else{let u=a>0||a==0&&o?this.nodes[a].type:r&&a>=i?r.node(a-i).type:null;if(!u||u.name!=c&&!u.isInGroup(c))return!1;a--}}return!0};return s(n.length-1,this.open)}textblockFromContext(){let e=this.options.context;if(e)for(let n=e.depth;n>=0;n--){let r=e.node(n).contentMatchAt(e.indexAfter(n)).defaultType;if(r&&r.isTextblock&&r.defaultAttrs)return r}for(let n in this.parser.schema.nodes){let r=this.parser.schema.nodes[n];if(r.isTextblock&&r.defaultAttrs)return r}}};function Zh(t){for(let e=t.firstChild,n=null;e;e=e.nextSibling){let r=e.nodeType==1?e.nodeName.toLowerCase():null;r&&Ca.hasOwnProperty(r)&&n?(n.appendChild(e),e=n):r=="li"?n=e:r&&(n=null)}}function ep(t,e){return(t.matches||t.msMatchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector).call(t,e)}function oa(t){let e={};for(let n in t)e[n]=t[n];return e}function ia(t,e){let n=e.schema.nodes;for(let r in n){let o=n[r];if(!o.allowsMarkType(t))continue;let i=[],s=l=>{i.push(l);for(let a=0;a{if(i.length||s.marks.length){let l=0,a=0;for(;l=0;o--){let i=this.serializeMark(e.marks[o],e.isInline,n);i&&((i.contentDOM||i.dom).appendChild(r),r=i.dom)}return r}serializeMark(e,n,r={}){let o=this.marks[e.type.name];return o&&Sr(xi(r),o(e,n),null,e.attrs)}static renderSpec(e,n,r=null,o){return Sr(e,n,r,o)}static fromSchema(e){return e.cached.domSerializer||(e.cached.domSerializer=new t(this.nodesFromSchema(e),this.marksFromSchema(e)))}static nodesFromSchema(e){let n=sa(e.nodes);return n.text||(n.text=r=>r.text),n}static marksFromSchema(e){return sa(e.marks)}};function sa(t){let e={};for(let n in t){let r=t[n].spec.toDOM;r&&(e[n]=r)}return e}function xi(t){return t.document||window.document}var la=new WeakMap;function tp(t){let e=la.get(t);return e===void 0&&la.set(t,e=np(t)),e}function np(t){let e=null;function n(r){if(r&&typeof r=="object")if(Array.isArray(r))if(typeof r[0]=="string")e||(e=[]),e.push(r);else for(let o=0;o-1)throw new RangeError("Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.");let s=o.indexOf(" ");s>0&&(n=o.slice(0,s),o=o.slice(s+1));let l,a=n?t.createElementNS(n,o):t.createElement(o),c=e[1],u=1;if(c&&typeof c=="object"&&c.nodeType==null&&!Array.isArray(c)){u=2;for(let d in c)if(c[d]!=null){let f=d.indexOf(" ");f>0?a.setAttributeNS(d.slice(0,f),d.slice(f+1),c[d]):d=="style"&&a.style?a.style.cssText=c[d]:a.setAttribute(d,c[d])}}for(let d=u;du)throw new RangeError("Content hole must be the only child of its parent node");return{dom:a,contentDOM:a}}else{let{dom:h,contentDOM:p}=Sr(t,f,n,r);if(a.appendChild(h),p){if(l)throw new RangeError("Multiple content holes");l=p}}}return{dom:a,contentDOM:l}}var Ta=65535,Aa=Math.pow(2,16);function rp(t,e){return t+e*Aa}function Ma(t){return t&Ta}function op(t){return(t-(t&Ta))/Aa}var Ea=1,Oa=2,Ar=4,Na=8,Ln=class{constructor(e,n,r){this.pos=e,this.delInfo=n,this.recover=r}get deleted(){return(this.delInfo&Na)>0}get deletedBefore(){return(this.delInfo&(Ea|Ar))>0}get deletedAfter(){return(this.delInfo&(Oa|Ar))>0}get deletedAcross(){return(this.delInfo&Ar)>0}},st=class t{constructor(e,n=!1){if(this.ranges=e,this.inverted=n,!e.length&&t.empty)return t.empty}recover(e){let n=0,r=Ma(e);if(!this.inverted)for(let o=0;oe)break;let c=this.ranges[l+i],u=this.ranges[l+s],d=a+c;if(e<=d){let f=c?e==a?-1:e==d?1:n:n,h=a+o+(f<0?0:u);if(r)return h;let p=e==(n<0?a:d)?null:rp(l/3,e-a),m=e==a?Oa:e==d?Ea:Ar;return(n<0?e!=a:e!=d)&&(m|=Na),new Ln(h,m,p)}o+=u-c}return r?e+o:new Ln(e+o,0,null)}touches(e,n){let r=0,o=Ma(n),i=this.inverted?2:1,s=this.inverted?1:2;for(let l=0;le)break;let c=this.ranges[l+i],u=a+c;if(e<=u&&l==o*3)return!0;r+=this.ranges[l+s]-c}return!1}forEach(e){let n=this.inverted?2:1,r=this.inverted?1:2;for(let o=0,i=0;o=0;n--){let o=e.getMirror(n);this.appendMap(e._maps[n].invert(),o!=null&&o>n?r-o-1:void 0)}}invert(){let e=new t;return e.appendMappingInverted(this),e}map(e,n=1){if(this.mirror)return this._map(e,n,!0);for(let r=this.from;ri&&a!s.isAtom||!l.type.allowsMarkType(this.mark.type)?s:s.mark(this.mark.addToSet(s.marks)),o),n.openStart,n.openEnd);return ce.fromReplace(e,this.from,this.to,i)}invert(){return new lt(this.from,this.to,this.mark)}map(e){let n=e.mapResult(this.from,1),r=e.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new t(n.pos,r.pos,this.mark)}merge(e){return e instanceof t&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new t(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new t(n.from,n.to,e.markFromJSON(n.mark))}};ae.jsonID("addMark",zn);var lt=class t extends ae{constructor(e,n,r){super(),this.from=e,this.to=n,this.mark=r}apply(e){let n=e.slice(this.from,this.to),r=new M(Ri(n.content,o=>o.mark(this.mark.removeFromSet(o.marks)),e),n.openStart,n.openEnd);return ce.fromReplace(e,this.from,this.to,r)}invert(){return new zn(this.from,this.to,this.mark)}map(e){let n=e.mapResult(this.from,1),r=e.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new t(n.pos,r.pos,this.mark)}merge(e){return e instanceof t&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new t(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new t(n.from,n.to,e.markFromJSON(n.mark))}};ae.jsonID("removeMark",lt);var Hn=class t extends ae{constructor(e,n){super(),this.pos=e,this.mark=n}apply(e){let n=e.nodeAt(this.pos);if(!n)return ce.fail("No node at mark step's position");let r=n.type.create(n.attrs,null,this.mark.addToSet(n.marks));return ce.fromReplace(e,this.pos,this.pos+1,new M(w.from(r),0,n.isLeaf?0:1))}invert(e){let n=e.nodeAt(this.pos);if(n){let r=this.mark.addToSet(n.marks);if(r.length==n.marks.length){for(let o=0;or.pos?null:new t(n.pos,r.pos,o,i,this.slice,this.insert,this.structure)}toJSON(){let e={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number"||typeof n.gapFrom!="number"||typeof n.gapTo!="number"||typeof n.insert!="number")throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new t(n.from,n.to,n.gapFrom,n.gapTo,M.fromJSON(e,n.slice),n.insert,!!n.structure)}};ae.jsonID("replaceAround",ne);function Oi(t,e,n){let r=t.resolve(e),o=n-e,i=r.depth;for(;o>0&&i>0&&r.indexAfter(i)==r.node(i).childCount;)i--,o--;if(o>0){let s=r.node(i).maybeChild(r.indexAfter(i));for(;o>0;){if(!s||s.isLeaf)return!0;s=s.firstChild,o--}}return!1}function ip(t,e,n,r){let o=[],i=[],s,l;t.doc.nodesBetween(e,n,(a,c,u)=>{if(!a.isInline)return;let d=a.marks;if(!r.isInSet(d)&&u.type.allowsMarkType(r.type)){let f=Math.max(c,e),h=Math.min(c+a.nodeSize,n),p=r.addToSet(d);for(let m=0;mt.step(a)),i.forEach(a=>t.step(a))}function sp(t,e,n,r){let o=[],i=0;t.doc.nodesBetween(e,n,(s,l)=>{if(!s.isInline)return;i++;let a=null;if(r instanceof Rn){let c=s.marks,u;for(;u=r.isInSet(c);)(a||(a=[])).push(u),c=u.removeFromSet(c)}else r?r.isInSet(s.marks)&&(a=[r]):a=s.marks;if(a&&a.length){let c=Math.min(l+s.nodeSize,n);for(let u=0;ut.step(new lt(s.from,s.to,s.style)))}function Di(t,e,n,r=n.contentMatch,o=!0){let i=t.doc.nodeAt(e),s=[],l=e+1;for(let a=0;a=0;a--)t.step(s[a])}function lp(t,e,n){return(e==0||t.canReplace(e,t.childCount))&&(n==t.childCount||t.canReplace(0,n))}function at(t){let n=t.parent.content.cutByIndex(t.startIndex,t.endIndex);for(let r=t.depth;;--r){let o=t.$from.node(r),i=t.$from.index(r),s=t.$to.indexAfter(r);if(rn;p--)m||r.index(p)>0?(m=!0,u=w.from(r.node(p).copy(u)),d++):a--;let f=w.empty,h=0;for(let p=i,m=!1;p>n;p--)m||o.after(p+1)=0;s--){if(r.size){let l=n[s].type.contentMatch.matchFragment(r);if(!l||!l.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}r=w.from(n[s].type.create(n[s].attrs,r))}let o=e.start,i=e.end;t.step(new ne(o,i,o,i,new M(r,0,0),n.length,!0))}function fp(t,e,n,r,o){if(!r.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let i=t.steps.length;t.doc.nodesBetween(e,n,(s,l)=>{let a=typeof o=="function"?o(s):o;if(s.isTextblock&&!s.hasMarkup(r,a)&&hp(t.doc,t.mapping.slice(i).map(l),r)){let c=null;if(r.schema.linebreakReplacement){let h=r.whitespace=="pre",p=!!r.contentMatch.matchType(r.schema.linebreakReplacement);h&&!p?c=!1:!h&&p&&(c=!0)}c===!1&&Da(t,s,l,i),Di(t,t.mapping.slice(i).map(l,1),r,void 0,c===null);let u=t.mapping.slice(i),d=u.map(l,1),f=u.map(l+s.nodeSize,1);return t.step(new ne(d,f,d+1,f-1,new M(w.from(r.create(a,null,s.marks)),0,0),1,!0)),c===!0&&Ra(t,s,l,i),!1}})}function Ra(t,e,n,r){e.forEach((o,i)=>{if(o.isText){let s,l=/\r?\n|\r/g;for(;s=l.exec(o.text);){let a=t.mapping.slice(r).map(n+1+i+s.index);t.replaceWith(a,a+1,e.type.schema.linebreakReplacement.create())}}})}function Da(t,e,n,r){e.forEach((o,i)=>{if(o.type==o.type.schema.linebreakReplacement){let s=t.mapping.slice(r).map(n+1+i);t.replaceWith(s,s+1,e.type.schema.text(` +`))}})}function hp(t,e,n){let r=t.resolve(e),o=r.index();return r.parent.canReplaceWith(o,o+1,n)}function pp(t,e,n,r,o){let i=t.doc.nodeAt(e);if(!i)throw new RangeError("No node at given position");n||(n=i.type);let s=n.create(r,null,o||i.marks);if(i.isLeaf)return t.replaceWith(e,e+i.nodeSize,s);if(!n.validContent(i.content))throw new RangeError("Invalid content for node type "+n.name);t.step(new ne(e,e+i.nodeSize,e+1,e+i.nodeSize-1,new M(w.from(s),0,0),1,!0))}function Ae(t,e,n=1,r){let o=t.resolve(e),i=o.depth-n,s=r&&r[r.length-1]||o.parent;if(i<0||o.parent.type.spec.isolating||!o.parent.canReplace(o.index(),o.parent.childCount)||!s.type.validContent(o.parent.content.cutByIndex(o.index(),o.parent.childCount)))return!1;for(let c=o.depth-1,u=n-2;c>i;c--,u--){let d=o.node(c),f=o.index(c);if(d.type.spec.isolating)return!1;let h=d.content.cutByIndex(f,d.childCount),p=r&&r[u+1];p&&(h=h.replaceChild(0,p.type.create(p.attrs)));let m=r&&r[u]||d;if(!d.canReplace(f+1,d.childCount)||!m.type.validContent(h))return!1}let l=o.indexAfter(i),a=r&&r[0];return o.node(i).canReplaceWith(l,l,a?a.type:o.node(i+1).type)}function mp(t,e,n=1,r){let o=t.doc.resolve(e),i=w.empty,s=w.empty;for(let l=o.depth,a=o.depth-n,c=n-1;l>a;l--,c--){i=w.from(o.node(l).copy(i));let u=r&&r[c];s=w.from(u?u.type.create(u.attrs,s):o.node(l).copy(s))}t.step(new pe(e,e,new M(i.append(s),n,n),!0))}function Ne(t,e){let n=t.resolve(e),r=n.index();return Pa(n.nodeBefore,n.nodeAfter)&&n.parent.canReplace(r,r+1)}function gp(t,e){e.content.size||t.type.compatibleContent(e.type);let n=t.contentMatchAt(t.childCount),{linebreakReplacement:r}=t.type.schema;for(let o=0;o0?(i=r.node(o+1),l++,s=r.node(o).maybeChild(l)):(i=r.node(o).maybeChild(l-1),s=r.node(o+1)),i&&!i.isTextblock&&Pa(i,s)&&r.node(o).canReplace(l,l+1))return e;if(o==0)break;e=n<0?r.before(o):r.after(o)}}function yp(t,e,n){let r=null,{linebreakReplacement:o}=t.doc.type.schema,i=t.doc.resolve(e-n),s=i.node().type;if(o&&s.inlineContent){let u=s.whitespace=="pre",d=!!s.contentMatch.matchType(o);u&&!d?r=!1:!u&&d&&(r=!0)}let l=t.steps.length;if(r===!1){let u=t.doc.resolve(e+n);Da(t,u.node(),u.before(),l)}s.inlineContent&&Di(t,e+n-1,s,i.node().contentMatchAt(i.index()),r==null);let a=t.mapping.slice(l),c=a.map(e-n);if(t.step(new pe(c,a.map(e+n,-1),M.empty,!0)),r===!0){let u=t.doc.resolve(c);Ra(t,u.node(),u.before(),t.steps.length)}return t}function bp(t,e,n){let r=t.resolve(e);if(r.parent.canReplaceWith(r.index(),r.index(),n))return e;if(r.parentOffset==0)for(let o=r.depth-1;o>=0;o--){let i=r.index(o);if(r.node(o).canReplaceWith(i,i,n))return r.before(o+1);if(i>0)return null}if(r.parentOffset==r.parent.content.size)for(let o=r.depth-1;o>=0;o--){let i=r.indexAfter(o);if(r.node(o).canReplaceWith(i,i,n))return r.after(o+1);if(i=0;s--){let l=s==r.depth?0:r.pos<=(r.start(s+1)+r.end(s+1))/2?-1:1,a=r.index(s)+(l>0?1:0),c=r.node(s),u=!1;if(i==1)u=c.canReplace(a,a,o);else{let d=c.contentMatchAt(a).findWrapping(o.firstChild.type);u=d&&c.canReplaceWith(a,a,d[0])}if(u)return l==0?r.pos:l<0?r.before(s+1):r.after(s+1)}return null}function Fn(t,e,n=e,r=M.empty){if(e==n&&!r.size)return null;let o=t.resolve(e),i=t.resolve(n);return Ia(o,i,r)?new pe(e,n,r):new Ni(o,i,r).fit()}function Ia(t,e,n){return!n.openStart&&!n.openEnd&&t.start()==e.start()&&t.parent.canReplace(t.index(),e.index(),n.content)}var Ni=class{constructor(e,n,r){this.$from=e,this.$to=n,this.unplaced=r,this.frontier=[],this.placed=w.empty;for(let o=0;o<=e.depth;o++){let i=e.node(o);this.frontier.push({type:i.type,match:i.contentMatchAt(e.indexAfter(o))})}for(let o=e.depth;o>0;o--)this.placed=w.from(e.node(o).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){for(;this.unplaced.size;){let c=this.findFittable();c?this.placeNodes(c):this.openMore()||this.dropNode()}let e=this.mustMoveInline(),n=this.placed.size-this.depth-this.$from.depth,r=this.$from,o=this.close(e<0?this.$to:r.doc.resolve(e));if(!o)return null;let i=this.placed,s=r.depth,l=o.depth;for(;s&&l&&i.childCount==1;)i=i.firstChild.content,s--,l--;let a=new M(i,s,l);return e>-1?new ne(r.pos,e,this.$to.pos,this.$to.end(),a,n):a.size||r.pos!=this.$to.pos?new pe(r.pos,o.pos,a):null}findFittable(){let e=this.unplaced.openStart;for(let n=this.unplaced.content,r=0,o=this.unplaced.openEnd;r1&&(o=0),i.type.spec.isolating&&o<=r){e=r;break}n=i.content}for(let n=1;n<=2;n++)for(let r=n==1?e:this.unplaced.openStart;r>=0;r--){let o,i=null;r?(i=Ai(this.unplaced.content,r-1).firstChild,o=i.content):o=this.unplaced.content;let s=o.firstChild;for(let l=this.depth;l>=0;l--){let{type:a,match:c}=this.frontier[l],u,d=null;if(n==1&&(s?c.matchType(s.type)||(d=c.fillBefore(w.from(s),!1)):i&&a.compatibleContent(i.type)))return{sliceDepth:r,frontierDepth:l,parent:i,inject:d};if(n==2&&s&&(u=c.findWrapping(s.type)))return{sliceDepth:r,frontierDepth:l,parent:i,wrap:u};if(i&&c.matchType(i.type))break}}}openMore(){let{content:e,openStart:n,openEnd:r}=this.unplaced,o=Ai(e,n);return!o.childCount||o.firstChild.isLeaf?!1:(this.unplaced=new M(e,n+1,Math.max(r,o.size+n>=e.size-r?n+1:0)),!0)}dropNode(){let{content:e,openStart:n,openEnd:r}=this.unplaced,o=Ai(e,n);if(o.childCount<=1&&n>0){let i=e.size-n<=n+o.size;this.unplaced=new M(Pn(e,n-1,1),n-1,i?n-1:r)}else this.unplaced=new M(Pn(e,n,1),n,r)}placeNodes({sliceDepth:e,frontierDepth:n,parent:r,inject:o,wrap:i}){for(;this.depth>n;)this.closeFrontierNode();if(i)for(let m=0;m1||a==0||m.content.size)&&(d=g,u.push(La(m.mark(f.allowedMarks(m.marks)),c==1?a:0,c==l.childCount?h:-1)))}let p=c==l.childCount;p||(h=-1),this.placed=In(this.placed,n,w.from(u)),this.frontier[n].match=d,p&&h<0&&r&&r.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(let m=0,g=l;m1&&o==this.$to.end(--r);)++o;return o}findCloseLevel(e){e:for(let n=Math.min(this.depth,e.depth);n>=0;n--){let{match:r,type:o}=this.frontier[n],i=n=0;l--){let{match:a,type:c}=this.frontier[l],u=Ei(e,l,c,a,!0);if(!u||u.childCount)continue e}return{depth:n,fit:s,move:i?e.doc.resolve(e.after(n+1)):e}}}}close(e){let n=this.findCloseLevel(e);if(!n)return null;for(;this.depth>n.depth;)this.closeFrontierNode();n.fit.childCount&&(this.placed=In(this.placed,n.depth,n.fit)),e=n.move;for(let r=n.depth+1;r<=e.depth;r++){let o=e.node(r),i=o.type.contentMatch.fillBefore(o.content,!0,e.index(r));this.openFrontierNode(o.type,o.attrs,i)}return e}openFrontierNode(e,n=null,r){let o=this.frontier[this.depth];o.match=o.match.matchType(e),this.placed=In(this.placed,this.depth,w.from(e.create(n,r))),this.frontier.push({type:e,match:e.contentMatch})}closeFrontierNode(){let n=this.frontier.pop().match.fillBefore(w.empty,!0);n.childCount&&(this.placed=In(this.placed,this.frontier.length,n))}};function Pn(t,e,n){return e==0?t.cutByIndex(n,t.childCount):t.replaceChild(0,t.firstChild.copy(Pn(t.firstChild.content,e-1,n)))}function In(t,e,n){return e==0?t.append(n):t.replaceChild(t.childCount-1,t.lastChild.copy(In(t.lastChild.content,e-1,n)))}function Ai(t,e){for(let n=0;n1&&(r=r.replaceChild(0,La(r.firstChild,e-1,r.childCount==1?n-1:0))),e>0&&(r=t.type.contentMatch.fillBefore(r).append(r),n<=0&&(r=r.append(t.type.contentMatch.matchFragment(r).fillBefore(w.empty,!0)))),t.copy(r)}function Ei(t,e,n,r,o){let i=t.node(e),s=o?t.indexAfter(e):t.index(e);if(s==i.childCount&&!n.compatibleContent(i.type))return null;let l=r.fillBefore(i.content,!0,s);return l&&!xp(n,i.content,s)?l:null}function xp(t,e,n){for(let r=n;r0;f--,h--){let p=o.node(f).type.spec;if(p.defining||p.definingAsContext||p.isolating)break;s.indexOf(f)>-1?l=f:o.before(f)==h&&s.splice(1,0,-f)}let a=s.indexOf(l),c=[],u=r.openStart;for(let f=r.content,h=0;;h++){let p=f.firstChild;if(c.push(p),h==r.openStart)break;f=p.content}for(let f=u-1;f>=0;f--){let h=c[f],p=wp(h.type);if(p&&!h.sameMarkup(o.node(Math.abs(l)-1)))u=f;else if(p||!h.type.isTextblock)break}for(let f=r.openStart;f>=0;f--){let h=(f+u+1)%(r.openStart+1),p=c[h];if(p)for(let m=0;m=0&&(t.replace(e,n,r),!(t.steps.length>d));f--){let h=s[f];h<0||(e=o.before(h),n=i.after(h))}}function Ba(t,e,n,r,o){if(er){let i=o.contentMatchAt(0),s=i.fillBefore(t).append(t);t=s.append(i.matchFragment(s).fillBefore(w.empty,!0))}return t}function kp(t,e,n,r){if(!r.isInline&&e==n&&t.doc.resolve(e).parent.content.size){let o=bp(t.doc,e,r.type);o!=null&&(e=n=o)}t.replaceRange(e,n,new M(w.from(r),0,0))}function Cp(t,e,n){let r=t.doc.resolve(e),o=t.doc.resolve(n),i=za(r,o);for(let s=0;s0&&(a||r.node(l-1).canReplace(r.index(l-1),o.indexAfter(l-1))))return t.delete(r.before(l),o.after(l))}for(let s=1;s<=r.depth&&s<=o.depth;s++)if(e-r.start(s)==r.depth-s&&n>r.end(s)&&o.end(s)-n!=o.depth-s&&r.start(s-1)==o.start(s-1)&&r.node(s-1).canReplace(r.index(s-1),o.index(s-1)))return t.delete(r.before(s),n);t.delete(e,n)}function za(t,e){let n=[],r=Math.min(t.depth,e.depth);for(let o=r;o>=0;o--){let i=t.start(o);if(ie.pos+(e.depth-o)||t.node(o).type.spec.isolating||e.node(o).type.spec.isolating)break;(i==e.start(o)||o==t.depth&&o==e.depth&&t.parent.inlineContent&&e.parent.inlineContent&&o&&e.start(o-1)==i-1)&&n.push(o)}return n}var Er=class t extends ae{constructor(e,n,r){super(),this.pos=e,this.attr=n,this.value=r}apply(e){let n=e.nodeAt(this.pos);if(!n)return ce.fail("No node at attribute step's position");let r=Object.create(null);for(let i in n.attrs)r[i]=n.attrs[i];r[this.attr]=this.value;let o=n.type.create(r,null,n.marks);return ce.fromReplace(e,this.pos,this.pos+1,new M(w.from(o),0,n.isLeaf?0:1))}getMap(){return st.empty}invert(e){return new t(this.pos,this.attr,e.nodeAt(this.pos).attrs[this.attr])}map(e){let n=e.mapResult(this.pos,1);return n.deletedAfter?null:new t(n.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(e,n){if(typeof n.pos!="number"||typeof n.attr!="string")throw new RangeError("Invalid input for AttrStep.fromJSON");return new t(n.pos,n.attr,n.value)}};ae.jsonID("attr",Er);var Or=class t extends ae{constructor(e,n){super(),this.attr=e,this.value=n}apply(e){let n=Object.create(null);for(let o in e.attrs)n[o]=e.attrs[o];n[this.attr]=this.value;let r=e.type.create(n,e.content,e.marks);return ce.ok(r)}getMap(){return st.empty}invert(e){return new t(this.attr,e.attrs[this.attr])}map(e){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(e,n){if(typeof n.attr!="string")throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new t(n.attr,n.value)}};ae.jsonID("docAttr",Or);var an=class extends Error{};an=function t(e){let n=Error.call(this,e);return n.__proto__=t.prototype,n};an.prototype=Object.create(Error.prototype);an.prototype.constructor=an;an.prototype.name="TransformError";var kt=class{constructor(e){this.doc=e,this.steps=[],this.docs=[],this.mapping=new Bn}get before(){return this.docs.length?this.docs[0]:this.doc}step(e){let n=this.maybeStep(e);if(n.failed)throw new an(n.failed);return this}maybeStep(e){let n=e.apply(this.doc);return n.failed||this.addStep(e,n.doc),n}get docChanged(){return this.steps.length>0}addStep(e,n){this.docs.push(this.doc),this.steps.push(e),this.mapping.appendMap(e.getMap()),this.doc=n}replace(e,n=e,r=M.empty){let o=Fn(this.doc,e,n,r);return o&&this.step(o),this}replaceWith(e,n,r){return this.replace(e,n,new M(w.from(r),0,0))}delete(e,n){return this.replace(e,n,M.empty)}insert(e,n){return this.replaceWith(e,e,n)}replaceRange(e,n,r){return Sp(this,e,n,r),this}replaceRangeWith(e,n,r){return kp(this,e,n,r),this}deleteRange(e,n){return Cp(this,e,n),this}lift(e,n){return ap(this,e,n),this}join(e,n=1){return yp(this,e,n),this}wrap(e,n){return dp(this,e,n),this}setBlockType(e,n=e,r,o=null){return fp(this,e,n,r,o),this}setNodeMarkup(e,n,r=null,o){return pp(this,e,n,r,o),this}setNodeAttribute(e,n,r){return this.step(new Er(e,n,r)),this}setDocAttribute(e,n){return this.step(new Or(e,n)),this}addNodeMark(e,n){return this.step(new Hn(e,n)),this}removeNodeMark(e,n){let r=this.doc.nodeAt(e);if(!r)throw new RangeError("No node at position "+e);if(n instanceof V)n.isInSet(r.marks)&&this.step(new ln(e,n));else{let o=r.marks,i,s=[];for(;i=n.isInSet(o);)s.push(new ln(e,i)),o=i.removeFromSet(o);for(let l=s.length-1;l>=0;l--)this.step(s[l])}return this}split(e,n=1,r){return mp(this,e,n,r),this}addMark(e,n,r){return ip(this,e,n,r),this}removeMark(e,n,r){return sp(this,e,n,r),this}clearIncompatible(e,n,r){return Di(this,e,n,r),this}};var Pi=Object.create(null),E=class{constructor(e,n,r){this.$anchor=e,this.$head=n,this.ranges=r||[new dn(e.min(n),e.max(n))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let e=this.ranges;for(let n=0;n=0;i--){let s=n<0?un(e.node(0),e.node(i),e.before(i+1),e.index(i),n,r):un(e.node(0),e.node(i),e.after(i+1),e.index(i)+1,n,r);if(s)return s}return null}static near(e,n=1){return this.findFrom(e,n)||this.findFrom(e,-n)||new be(e.node(0))}static atStart(e){return un(e,e,0,0,1)||new be(e)}static atEnd(e){return un(e,e,e.content.size,e.childCount,-1)||new be(e)}static fromJSON(e,n){if(!n||!n.type)throw new RangeError("Invalid input for Selection.fromJSON");let r=Pi[n.type];if(!r)throw new RangeError(`No selection type ${n.type} defined`);return r.fromJSON(e,n)}static jsonID(e,n){if(e in Pi)throw new RangeError("Duplicate use of selection JSON ID "+e);return Pi[e]=n,n.prototype.jsonID=e,n}getBookmark(){return A.between(this.$anchor,this.$head).getBookmark()}};E.prototype.visible=!0;var dn=class{constructor(e,n){this.$from=e,this.$to=n}},Ha=!1;function Fa(t){!Ha&&!t.parent.inlineContent&&(Ha=!0,console.warn("TextSelection endpoint not pointing into a node with inline content ("+t.parent.type.name+")"))}var A=class t extends E{constructor(e,n=e){Fa(e),Fa(n),super(e,n)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(e,n){let r=e.resolve(n.map(this.head));if(!r.parent.inlineContent)return E.near(r);let o=e.resolve(n.map(this.anchor));return new t(o.parent.inlineContent?o:r,r)}replace(e,n=M.empty){if(super.replace(e,n),n==M.empty){let r=this.$from.marksAcross(this.$to);r&&e.ensureMarks(r)}}eq(e){return e instanceof t&&e.anchor==this.anchor&&e.head==this.head}getBookmark(){return new Dr(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(e,n){if(typeof n.anchor!="number"||typeof n.head!="number")throw new RangeError("Invalid input for TextSelection.fromJSON");return new t(e.resolve(n.anchor),e.resolve(n.head))}static create(e,n,r=n){let o=e.resolve(n);return new this(o,r==n?o:e.resolve(r))}static between(e,n,r){let o=e.pos-n.pos;if((!r||o)&&(r=o>=0?1:-1),!n.parent.inlineContent){let i=E.findFrom(n,r,!0)||E.findFrom(n,-r,!0);if(i)n=i.$head;else return E.near(n,r)}return e.parent.inlineContent||(o==0?e=n:(e=(E.findFrom(e,-r,!0)||E.findFrom(e,r,!0)).$anchor,e.pos0?0:1);o>0?s=0;s+=o){let l=e.child(s);if(l.isAtom){if(!i&&O.isSelectable(l))return O.create(t,n-(o<0?l.nodeSize:0))}else{let a=un(t,l,n+o,o<0?l.childCount:0,o,i);if(a)return a}n+=l.nodeSize*o}return null}function $a(t,e,n){let r=t.steps.length-1;if(r{s==null&&(s=u)}),t.setSelection(E.near(t.doc.resolve(s),n))}var Va=1,Rr=2,Wa=4,Bi=class extends kt{constructor(e){super(e.doc),this.curSelectionFor=0,this.updated=0,this.meta=Object.create(null),this.time=Date.now(),this.curSelection=e.selection,this.storedMarks=e.storedMarks}get selection(){return this.curSelectionFor0}setStoredMarks(e){return this.storedMarks=e,this.updated|=Rr,this}ensureMarks(e){return V.sameSet(this.storedMarks||this.selection.$from.marks(),e)||this.setStoredMarks(e),this}addStoredMark(e){return this.ensureMarks(e.addToSet(this.storedMarks||this.selection.$head.marks()))}removeStoredMark(e){return this.ensureMarks(e.removeFromSet(this.storedMarks||this.selection.$head.marks()))}get storedMarksSet(){return(this.updated&Rr)>0}addStep(e,n){super.addStep(e,n),this.updated=this.updated&~Rr,this.storedMarks=null}setTime(e){return this.time=e,this}replaceSelection(e){return this.selection.replace(this,e),this}replaceSelectionWith(e,n=!0){let r=this.selection;return n&&(e=e.mark(this.storedMarks||(r.empty?r.$from.marks():r.$from.marksAcross(r.$to)||V.none))),r.replaceWith(this,e),this}deleteSelection(){return this.selection.replace(this),this}insertText(e,n,r){let o=this.doc.type.schema;if(n==null)return e?this.replaceSelectionWith(o.text(e),!0):this.deleteSelection();{if(r==null&&(r=n),r=r??n,!e)return this.deleteRange(n,r);let i=this.storedMarks;if(!i){let s=this.doc.resolve(n);i=r==n?s.marks():s.marksAcross(this.doc.resolve(r))}return this.replaceRangeWith(n,r,o.text(e,i)),this.selection.empty||this.setSelection(E.near(this.selection.$to)),this}}setMeta(e,n){return this.meta[typeof e=="string"?e:e.key]=n,this}getMeta(e){return this.meta[typeof e=="string"?e:e.key]}get isGeneric(){for(let e in this.meta)return!1;return!0}scrollIntoView(){return this.updated|=Wa,this}get scrolledIntoView(){return(this.updated&Wa)>0}};function _a(t,e){return!e||!t?t:t.bind(e)}var $t=class{constructor(e,n,r){this.name=e,this.init=_a(n.init,r),this.apply=_a(n.apply,r)}},vp=[new $t("doc",{init(t){return t.doc||t.schema.topNodeType.createAndFill()},apply(t){return t.doc}}),new $t("selection",{init(t,e){return t.selection||E.atStart(e.doc)},apply(t){return t.selection}}),new $t("storedMarks",{init(t){return t.storedMarks||null},apply(t,e,n,r){return r.selection.$cursor?t.storedMarks:null}}),new $t("scrollToSelection",{init(){return 0},apply(t,e){return t.scrolledIntoView?e+1:e}})],$n=class{constructor(e,n){this.schema=e,this.plugins=[],this.pluginsByKey=Object.create(null),this.fields=vp.slice(),n&&n.forEach(r=>{if(this.pluginsByKey[r.key])throw new RangeError("Adding different instances of a keyed plugin ("+r.key+")");this.plugins.push(r),this.pluginsByKey[r.key]=r,r.spec.state&&this.fields.push(new $t(r.key,r.spec.state,r))})}},Pr=class t{constructor(e){this.config=e}get schema(){return this.config.schema}get plugins(){return this.config.plugins}apply(e){return this.applyTransaction(e).state}filterTransaction(e,n=-1){for(let r=0;rr.toJSON())),e&&typeof e=="object")for(let r in e){if(r=="doc"||r=="selection")throw new RangeError("The JSON fields `doc` and `selection` are reserved");let o=e[r],i=o.spec.state;i&&i.toJSON&&(n[r]=i.toJSON.call(o,this[o.key]))}return n}static fromJSON(e,n,r){if(!n)throw new RangeError("Invalid input for EditorState.fromJSON");if(!e.schema)throw new RangeError("Required config field 'schema' missing");let o=new $n(e.schema,e.plugins),i=new t(o);return o.fields.forEach(s=>{if(s.name=="doc")i.doc=le.fromJSON(e.schema,n.doc);else if(s.name=="selection")i.selection=E.fromJSON(i.doc,n.selection);else if(s.name=="storedMarks")n.storedMarks&&(i.storedMarks=n.storedMarks.map(e.schema.markFromJSON));else{if(r)for(let l in r){let a=r[l],c=a.spec.state;if(a.key==s.name&&c&&c.fromJSON&&Object.prototype.hasOwnProperty.call(n,l)){i[s.name]=c.fromJSON.call(a,e,n[l],i);return}}i[s.name]=s.init(e,i)}}),i}};function ja(t,e,n){for(let r in t){let o=t[r];o instanceof Function?o=o.bind(e):r=="handleDOMEvents"&&(o=ja(o,e,{})),n[r]=o}return n}var N=class{constructor(e){this.spec=e,this.props={},e.props&&ja(e.props,this,this.props),this.key=e.key?e.key.key:Ka("plugin")}getState(e){return e[this.key]}},Ii=Object.create(null);function Ka(t){return t in Ii?t+"$"+ ++Ii[t]:(Ii[t]=0,t+"$")}var L=class{constructor(e="key"){this.key=Ka(e)}get(e){return e.config.pluginsByKey[this.key]}getState(e){return e[this.key]}};var ue=function(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e},gn=function(t){let e=t.assignedSlot||t.parentNode;return e&&e.nodeType==11?e.host:e},Wi=null,ut=function(t,e,n){let r=Wi||(Wi=document.createRange());return r.setEnd(t,n??t.nodeValue.length),r.setStart(t,e||0),r},Tp=function(){Wi=null},Jt=function(t,e,n,r){return n&&(Ua(t,e,n,r,-1)||Ua(t,e,n,r,1))},Ap=/^(img|br|input|textarea|hr)$/i;function Ua(t,e,n,r,o){for(var i;;){if(t==n&&e==r)return!0;if(e==(o<0?0:De(t))){let s=t.parentNode;if(!s||s.nodeType!=1||qn(t)||Ap.test(t.nodeName)||t.contentEditable=="false")return!1;e=ue(t)+(o<0?0:1),t=s}else if(t.nodeType==1){let s=t.childNodes[e+(o<0?-1:0)];if(s.nodeType==1&&s.contentEditable=="false")if(!((i=s.pmViewDesc)===null||i===void 0)&&i.ignoreForSelection)e+=o;else return!1;else t=s,e=o<0?De(t):0}else return!1}}function De(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Ep(t,e){for(;;){if(t.nodeType==3&&e)return t;if(t.nodeType==1&&e>0){if(t.contentEditable=="false")return null;t=t.childNodes[e-1],e=De(t)}else if(t.parentNode&&!qn(t))e=ue(t),t=t.parentNode;else return null}}function Op(t,e){for(;;){if(t.nodeType==3&&e2),Re=yn||(Je?/Mac/.test(Je.platform):!1),Pp=Je?/Win/.test(Je.platform):!1,dt=/Android \d/.test(Et),Gn=!!Ja&&"webkitFontSmoothing"in Ja.documentElement.style,Ip=Gn?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0;function Lp(t){let e=t.defaultView&&t.defaultView.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.documentElement.clientWidth,top:0,bottom:t.documentElement.clientHeight}}function ct(t,e){return typeof t=="number"?t:t[e]}function Bp(t){let e=t.getBoundingClientRect(),n=e.width/t.offsetWidth||1,r=e.height/t.offsetHeight||1;return{left:e.left,right:e.left+t.clientWidth*n,top:e.top,bottom:e.top+t.clientHeight*r}}function qa(t,e,n){let r=t.someProp("scrollThreshold")||0,o=t.someProp("scrollMargin")||5,i=t.dom.ownerDocument;for(let s=n||t.dom;s;){if(s.nodeType!=1){s=gn(s);continue}let l=s,a=l==i.body,c=a?Lp(i):Bp(l),u=0,d=0;if(e.topc.bottom-ct(r,"bottom")&&(d=e.bottom-e.top>c.bottom-c.top?e.top+ct(o,"top")-c.top:e.bottom-c.bottom+ct(o,"bottom")),e.leftc.right-ct(r,"right")&&(u=e.right-c.right+ct(o,"right")),u||d)if(a)i.defaultView.scrollBy(u,d);else{let h=l.scrollLeft,p=l.scrollTop;d&&(l.scrollTop+=d),u&&(l.scrollLeft+=u);let m=l.scrollLeft-h,g=l.scrollTop-p;e={left:e.left-m,top:e.top-g,right:e.right-m,bottom:e.bottom-g}}let f=a?"fixed":getComputedStyle(s).position;if(/^(fixed|sticky)$/.test(f))break;s=f=="absolute"?s.offsetParent:gn(s)}}function zp(t){let e=t.dom.getBoundingClientRect(),n=Math.max(0,e.top),r,o;for(let i=(e.left+e.right)/2,s=n+1;s=n-20){r=l,o=a.top;break}}return{refDOM:r,refTop:o,stack:Ac(t.dom)}}function Ac(t){let e=[],n=t.ownerDocument;for(let r=t;r&&(e.push({dom:r,top:r.scrollTop,left:r.scrollLeft}),t!=n);r=gn(r));return e}function Hp({refDOM:t,refTop:e,stack:n}){let r=t?t.getBoundingClientRect().top:0;Ec(n,r==0?0:r-e)}function Ec(t,e){for(let n=0;n=l){s=Math.max(p.bottom,s),l=Math.min(p.top,l);let m=p.left>e.left?p.left-e.left:p.right=(p.left+p.right)/2?1:0));continue}}else p.top>e.top&&!a&&p.left<=e.left&&p.right>=e.left&&(a=u,c={left:Math.max(p.left,Math.min(p.right,e.left)),top:p.top});!n&&(e.left>=p.right&&e.top>=p.top||e.left>=p.left&&e.top>=p.bottom)&&(i=d+1)}}return!n&&a&&(n=a,o=c,r=0),n&&n.nodeType==3?$p(n,o):!n||r&&n.nodeType==1?{node:t,offset:i}:Oc(n,o)}function $p(t,e){let n=t.nodeValue.length,r=document.createRange();for(let o=0;o=(i.left+i.right)/2?1:0)}}return{node:t,offset:0}}function ls(t,e){return t.left>=e.left-1&&t.left<=e.right+1&&t.top>=e.top-1&&t.top<=e.bottom+1}function Vp(t,e){let n=t.parentNode;return n&&/^li$/i.test(n.nodeName)&&e.left(s.left+s.right)/2?1:-1}return t.docView.posFromDOM(r,o,i)}function _p(t,e,n,r){let o=-1;for(let i=e,s=!1;i!=t.dom;){let l=t.docView.nearestDesc(i,!0),a;if(!l)return null;if(l.dom.nodeType==1&&(l.node.isBlock&&l.parent||!l.contentDOM)&&((a=l.dom.getBoundingClientRect()).width||a.height)&&(l.node.isBlock&&l.parent&&(!s&&a.left>r.left||a.top>r.top?o=l.posBefore:(!s&&a.right-1?o:t.docView.posFromDOM(e,n,-1)}function Nc(t,e,n){let r=t.childNodes.length;if(r&&n.tope.top&&o++}let c;Gn&&o&&r.nodeType==1&&(c=r.childNodes[o-1]).nodeType==1&&c.contentEditable=="false"&&c.getBoundingClientRect().top>=e.top&&o--,r==t.dom&&o==r.childNodes.length-1&&r.lastChild.nodeType==1&&e.top>r.lastChild.getBoundingClientRect().bottom?l=t.state.doc.content.size:(o==0||r.nodeType!=1||r.childNodes[o-1].nodeName!="BR")&&(l=_p(t,r,o,e))}l==null&&(l=Wp(t,s,e));let a=t.docView.nearestDesc(s,!0);return{pos:l,inside:a?a.posAtStart-a.border:-1}}function Ga(t){return t.top=0&&o==r.nodeValue.length?(a--,u=1):n<0?a--:c++,Vn(Ct(ut(r,a,c),u),u<0)}if(!t.state.doc.resolve(e-(i||0)).parent.inlineContent){if(i==null&&o&&(n<0||o==De(r))){let a=r.childNodes[o-1];if(a.nodeType==1)return zi(a.getBoundingClientRect(),!1)}if(i==null&&o=0)}if(i==null&&o&&(n<0||o==De(r))){let a=r.childNodes[o-1],c=a.nodeType==3?ut(a,De(a)-(s?0:1)):a.nodeType==1&&(a.nodeName!="BR"||!a.nextSibling)?a:null;if(c)return Vn(Ct(c,1),!1)}if(i==null&&o=0)}function Vn(t,e){if(t.width==0)return t;let n=e?t.left:t.right;return{top:t.top,bottom:t.bottom,left:n,right:n}}function zi(t,e){if(t.height==0)return t;let n=e?t.top:t.bottom;return{top:n,bottom:n,left:t.left,right:t.right}}function Dc(t,e,n){let r=t.state,o=t.root.activeElement;r!=e&&t.updateState(e),o!=t.dom&&t.focus();try{return n()}finally{r!=e&&t.updateState(r),o!=t.dom&&o&&o.focus()}}function Up(t,e,n){let r=e.selection,o=n=="up"?r.$from:r.$to;return Dc(t,e,()=>{let{node:i}=t.docView.domFromPos(o.pos,n=="up"?-1:1);for(;;){let l=t.docView.nearestDesc(i,!0);if(!l)break;if(l.node.isBlock){i=l.contentDOM||l.dom;break}i=l.dom.parentNode}let s=Rc(t,o.pos,1);for(let l=i.firstChild;l;l=l.nextSibling){let a;if(l.nodeType==1)a=l.getClientRects();else if(l.nodeType==3)a=ut(l,0,l.nodeValue.length).getClientRects();else continue;for(let c=0;cu.top+1&&(n=="up"?s.top-u.top>(u.bottom-s.top)*2:u.bottom-s.bottom>(s.bottom-u.top)*2))return!1}}return!0})}var Jp=/[\u0590-\u08ac]/;function qp(t,e,n){let{$head:r}=e.selection;if(!r.parent.isTextblock)return!1;let o=r.parentOffset,i=!o,s=o==r.parent.content.size,l=t.domSelection();return l?!Jp.test(r.parent.textContent)||!l.modify?n=="left"||n=="backward"?i:s:Dc(t,e,()=>{let{focusNode:a,focusOffset:c,anchorNode:u,anchorOffset:d}=t.domSelectionRange(),f=l.caretBidiLevel;l.modify("move",n,"character");let h=r.depth?t.docView.domAfterPos(r.before()):t.dom,{focusNode:p,focusOffset:m}=t.domSelectionRange(),g=p&&!h.contains(p.nodeType==1?p:p.parentNode)||a==p&&c==m;try{l.collapse(u,d),a&&(a!=u||c!=d)&&l.extend&&l.extend(a,c)}catch{}return f!=null&&(l.caretBidiLevel=f),g}):r.pos==r.start()||r.pos==r.end()}var Ya=null,Xa=null,Qa=!1;function Gp(t,e,n){return Ya==e&&Xa==n?Qa:(Ya=e,Xa=n,Qa=n=="up"||n=="down"?Up(t,e,n):qp(t,e,n))}var Pe=0,Za=1,Wt=2,qe=3,qt=class{constructor(e,n,r,o){this.parent=e,this.children=n,this.dom=r,this.contentDOM=o,this.dirty=Pe,r.pmViewDesc=this}matchesWidget(e){return!1}matchesMark(e){return!1}matchesNode(e,n,r){return!1}matchesHack(e){return!1}parseRule(){return null}stopEvent(e){return!1}get size(){let e=0;for(let n=0;nue(this.contentDOM);else if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM))o=e.compareDocumentPosition(this.contentDOM)&2;else if(this.dom.firstChild){if(n==0)for(let i=e;;i=i.parentNode){if(i==this.dom){o=!1;break}if(i.previousSibling)break}if(o==null&&n==e.childNodes.length)for(let i=e;;i=i.parentNode){if(i==this.dom){o=!0;break}if(i.nextSibling)break}}return o??r>0?this.posAtEnd:this.posAtStart}nearestDesc(e,n=!1){for(let r=!0,o=e;o;o=o.parentNode){let i=this.getDesc(o),s;if(i&&(!n||i.node))if(r&&(s=i.nodeDOM)&&!(s.nodeType==1?s.contains(e.nodeType==1?e:e.parentNode):s==e))r=!1;else return i}}getDesc(e){let n=e.pmViewDesc;for(let r=n;r;r=r.parent)if(r==this)return n}posFromDOM(e,n,r){for(let o=e;o;o=o.parentNode){let i=this.getDesc(o);if(i)return i.localPosFromDOM(e,n,r)}return-1}descAt(e){for(let n=0,r=0;ne||s instanceof Br){o=e-i;break}i=l}if(o)return this.children[r].domFromPos(o-this.children[r].border,n);for(let i;r&&!(i=this.children[r-1]).size&&i instanceof Ir&&i.side>=0;r--);if(n<=0){let i,s=!0;for(;i=r?this.children[r-1]:null,!(!i||i.dom.parentNode==this.contentDOM);r--,s=!1);return i&&n&&s&&!i.border&&!i.domAtom?i.domFromPos(i.size,n):{node:this.contentDOM,offset:i?ue(i.dom)+1:0}}else{let i,s=!0;for(;i=r=u&&n<=c-a.border&&a.node&&a.contentDOM&&this.contentDOM.contains(a.contentDOM))return a.parseRange(e,n,u);e=s;for(let d=l;d>0;d--){let f=this.children[d-1];if(f.size&&f.dom.parentNode==this.contentDOM&&!f.emptyChildAt(1)){o=ue(f.dom)+1;break}e-=f.size}o==-1&&(o=0)}if(o>-1&&(c>n||l==this.children.length-1)){n=c;for(let u=l+1;up&&sn){let p=l;l=a,a=p}let h=document.createRange();h.setEnd(a.node,a.offset),h.setStart(l.node,l.offset),c.removeAllRanges(),c.addRange(h)}}ignoreMutation(e){return!this.contentDOM&&e.type!="selection"}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(e,n){for(let r=0,o=0;o=r:er){let l=r+i.border,a=s-i.border;if(e>=l&&n<=a){this.dirty=e==r||n==s?Wt:Za,e==l&&n==a&&(i.contentLost||i.dom.parentNode!=this.contentDOM)?i.dirty=qe:i.markDirty(e-l,n-l);return}else i.dirty=i.dom==i.contentDOM&&i.dom.parentNode==this.contentDOM&&!i.children.length?Wt:qe}r=s}this.dirty=Wt}markParentsDirty(){let e=1;for(let n=this.parent;n;n=n.parent,e++){let r=e==1?Wt:Za;n.dirty{if(!i)return o;if(i.parent)return i.parent.posBeforeChild(i)})),!n.type.spec.raw){if(s.nodeType!=1){let l=document.createElement("span");l.appendChild(s),s=l}s.contentEditable="false",s.classList.add("ProseMirror-widget")}super(e,[],s,null),this.widget=n,this.widget=n,i=this}matchesWidget(e){return this.dirty==Pe&&e.type.eq(this.widget.type)}parseRule(){return{ignore:!0}}stopEvent(e){let n=this.widget.spec.stopEvent;return n?n(e):!1}ignoreMutation(e){return e.type!="selection"||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom),super.destroy()}get domAtom(){return!0}get ignoreForSelection(){return!!this.widget.type.spec.relaxedSide}get side(){return this.widget.type.side}},Ui=class extends qt{constructor(e,n,r,o){super(e,[],n,null),this.textDOM=r,this.text=o}get size(){return this.text.length}localPosFromDOM(e,n){return e!=this.textDOM?this.posAtStart+(n?this.size:0):this.posAtStart+n}domFromPos(e){return{node:this.textDOM,offset:e}}ignoreMutation(e){return e.type==="characterData"&&e.target.nodeValue==e.oldValue}},bn=class t extends qt{constructor(e,n,r,o,i){super(e,[],r,o),this.mark=n,this.spec=i}static create(e,n,r,o){let i=o.nodeViews[n.type.name],s=i&&i(n,o,r);return(!s||!s.dom)&&(s=it.renderSpec(document,n.type.spec.toDOM(n,r),null,n.attrs)),new t(e,n,s.dom,s.contentDOM||s.dom,s)}parseRule(){return this.dirty&qe||this.mark.type.spec.reparseInView?null:{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(e){return this.dirty!=qe&&this.mark.eq(e)}markDirty(e,n){if(super.markDirty(e,n),this.dirty!=Pe){let r=this.parent;for(;!r.node;)r=r.parent;r.dirty0&&(i=Yi(i,0,e,r));for(let l=0;l{if(!a)return s;if(a.parent)return a.parent.posBeforeChild(a)},r,o),u=c&&c.dom,d=c&&c.contentDOM;if(n.isText){if(!u)u=document.createTextNode(n.text);else if(u.nodeType!=3)throw new RangeError("Text must be rendered as a DOM text node")}else u||({dom:u,contentDOM:d}=it.renderSpec(document,n.type.spec.toDOM(n),null,n.attrs));!d&&!n.isText&&u.nodeName!="BR"&&(u.hasAttribute("contenteditable")||(u.contentEditable="false"),n.type.spec.draggable&&(u.draggable=!0));let f=u;return u=Lc(u,r,n),c?a=new Ji(e,n,r,o,u,d||null,f,c,i,s+1):n.isText?new Lr(e,n,r,o,u,f,i):new t(e,n,r,o,u,d||null,f,i,s+1)}parseRule(){if(this.node.type.spec.reparseInView)return null;let e={node:this.node.type.name,attrs:this.node.attrs};if(this.node.type.whitespace=="pre"&&(e.preserveWhitespace="full"),!this.contentDOM)e.getContent=()=>this.node.content;else if(!this.contentLost)e.contentElement=this.contentDOM;else{for(let n=this.children.length-1;n>=0;n--){let r=this.children[n];if(this.dom.contains(r.dom.parentNode)){e.contentElement=r.dom.parentNode;break}}e.contentElement||(e.getContent=()=>w.empty)}return e}matchesNode(e,n,r){return this.dirty==Pe&&e.eq(this.node)&&zr(n,this.outerDeco)&&r.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return this.node.isLeaf?0:1}updateChildren(e,n){let r=this.node.inlineContent,o=n,i=e.composing?this.localCompositionInfo(e,n):null,s=i&&i.pos>-1?i:null,l=i&&i.pos<0,a=new Gi(this,s&&s.node,e);Zp(this.node,this.innerDeco,(c,u,d)=>{c.spec.marks?a.syncToMarks(c.spec.marks,r,e):c.type.side>=0&&!d&&a.syncToMarks(u==this.node.childCount?V.none:this.node.child(u).marks,r,e),a.placeWidget(c,e,o)},(c,u,d,f)=>{a.syncToMarks(c.marks,r,e);let h;a.findNodeMatch(c,u,d,f)||l&&e.state.selection.from>o&&e.state.selection.to-1&&a.updateNodeAt(c,u,d,h,e)||a.updateNextNode(c,u,d,e,f,o)||a.addNode(c,u,d,e,o),o+=c.nodeSize}),a.syncToMarks([],r,e),this.node.isTextblock&&a.addTextblockHacks(),a.destroyRest(),(a.changed||this.dirty==Wt)&&(s&&this.protectLocalComposition(e,s),Pc(this.contentDOM,this.children,e),yn&&em(this.dom))}localCompositionInfo(e,n){let{from:r,to:o}=e.state.selection;if(!(e.state.selection instanceof A)||rn+this.node.content.size)return null;let i=e.input.compositionNode;if(!i||!this.dom.contains(i.parentNode))return null;if(this.node.inlineContent){let s=i.nodeValue,l=tm(this.node.content,s,r-n,o-n);return l<0?null:{node:i,pos:l,text:s}}else return{node:i,pos:-1,text:""}}protectLocalComposition(e,{node:n,pos:r,text:o}){if(this.getDesc(n))return;let i=n;for(;i.parentNode!=this.contentDOM;i=i.parentNode){for(;i.previousSibling;)i.parentNode.removeChild(i.previousSibling);for(;i.nextSibling;)i.parentNode.removeChild(i.nextSibling);i.pmViewDesc&&(i.pmViewDesc=void 0)}let s=new Ui(this,i,n,o);e.input.compositionNodes.push(s),this.children=Yi(this.children,r,r+o.length,e,s)}update(e,n,r,o){return this.dirty==qe||!e.sameMarkup(this.node)?!1:(this.updateInner(e,n,r,o),!0)}updateInner(e,n,r,o){this.updateOuterDeco(n),this.node=e,this.innerDeco=r,this.contentDOM&&this.updateChildren(o,this.posAtStart),this.dirty=Pe}updateOuterDeco(e){if(zr(e,this.outerDeco))return;let n=this.nodeDOM.nodeType!=1,r=this.dom;this.dom=Ic(this.dom,this.nodeDOM,qi(this.outerDeco,this.node,n),qi(e,this.node,n)),this.dom!=r&&(r.pmViewDesc=void 0,this.dom.pmViewDesc=this),this.outerDeco=e}selectNode(){this.nodeDOM.nodeType==1&&this.nodeDOM.classList.add("ProseMirror-selectednode"),(this.contentDOM||!this.node.type.spec.draggable)&&(this.dom.draggable=!0)}deselectNode(){this.nodeDOM.nodeType==1&&(this.nodeDOM.classList.remove("ProseMirror-selectednode"),(this.contentDOM||!this.node.type.spec.draggable)&&this.dom.removeAttribute("draggable"))}get domAtom(){return this.node.isAtom}};function ec(t,e,n,r,o){Lc(r,e,t);let i=new At(void 0,t,e,n,r,r,r,o,0);return i.contentDOM&&i.updateChildren(o,0),i}var Lr=class t extends At{constructor(e,n,r,o,i,s,l){super(e,n,r,o,i,null,s,l,0)}parseRule(){let e=this.nodeDOM.parentNode;for(;e&&e!=this.dom&&!e.pmIsDeco;)e=e.parentNode;return{skip:e||!0}}update(e,n,r,o){return this.dirty==qe||this.dirty!=Pe&&!this.inParent()||!e.sameMarkup(this.node)?!1:(this.updateOuterDeco(n),(this.dirty!=Pe||e.text!=this.node.text)&&e.text!=this.nodeDOM.nodeValue&&(this.nodeDOM.nodeValue=e.text,o.trackWrites==this.nodeDOM&&(o.trackWrites=null)),this.node=e,this.dirty=Pe,!0)}inParent(){let e=this.parent.contentDOM;for(let n=this.nodeDOM;n;n=n.parentNode)if(n==e)return!0;return!1}domFromPos(e){return{node:this.nodeDOM,offset:e}}localPosFromDOM(e,n,r){return e==this.nodeDOM?this.posAtStart+Math.min(n,this.node.text.length):super.localPosFromDOM(e,n,r)}ignoreMutation(e){return e.type!="characterData"&&e.type!="selection"}slice(e,n,r){let o=this.node.cut(e,n),i=document.createTextNode(o.text);return new t(this.parent,o,this.outerDeco,this.innerDeco,i,i,r)}markDirty(e,n){super.markDirty(e,n),this.dom!=this.nodeDOM&&(e==0||n==this.nodeDOM.nodeValue.length)&&(this.dirty=qe)}get domAtom(){return!1}isText(e){return this.node.text==e}},Br=class extends qt{parseRule(){return{ignore:!0}}matchesHack(e){return this.dirty==Pe&&this.dom.nodeName==e}get domAtom(){return!0}get ignoreForCoords(){return this.dom.nodeName=="IMG"}},Ji=class extends At{constructor(e,n,r,o,i,s,l,a,c,u){super(e,n,r,o,i,s,l,c,u),this.spec=a}update(e,n,r,o){if(this.dirty==qe)return!1;if(this.spec.update&&(this.node.type==e.type||this.spec.multiType)){let i=this.spec.update(e,n,r);return i&&this.updateInner(e,n,r,o),i}else return!this.contentDOM&&!e.isLeaf?!1:super.update(e,n,r,o)}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(e,n,r,o){this.spec.setSelection?this.spec.setSelection(e,n,r.root):super.setSelection(e,n,r,o)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}stopEvent(e){return this.spec.stopEvent?this.spec.stopEvent(e):!1}ignoreMutation(e){return this.spec.ignoreMutation?this.spec.ignoreMutation(e):super.ignoreMutation(e)}};function Pc(t,e,n){let r=t.firstChild,o=!1;for(let i=0;i>1,s=Math.min(i,e.length);for(;o-1)l>this.index&&(this.changed=!0,this.destroyBetween(this.index,l)),this.top=this.top.children[this.index];else{let a=bn.create(this.top,e[i],n,r);this.top.children.splice(this.index,0,a),this.top=a,this.changed=!0}this.index=0,i++}}findNodeMatch(e,n,r,o){let i=-1,s;if(o>=this.preMatch.index&&(s=this.preMatch.matches[o-this.preMatch.index]).parent==this.top&&s.matchesNode(e,n,r))i=this.top.children.indexOf(s,this.index);else for(let l=this.index,a=Math.min(this.top.children.length,l+5);l0;){let l;for(;;)if(r){let c=n.children[r-1];if(c instanceof bn)n=c,r=c.children.length;else{l=c,r--;break}}else{if(n==e)break e;r=n.parent.children.indexOf(n),n=n.parent}let a=l.node;if(a){if(a!=t.child(o-1))break;--o,i.set(l,o),s.push(l)}}return{index:o,matched:i,matches:s.reverse()}}function Qp(t,e){return t.type.side-e.type.side}function Zp(t,e,n,r){let o=e.locals(t),i=0;if(o.length==0){for(let c=0;ci;)l.push(o[s++]);let p=i+f.nodeSize;if(f.isText){let g=p;s!g.inline):l.slice();r(f,m,e.forChild(i,f),h),i=p}}function em(t){if(t.nodeName=="UL"||t.nodeName=="OL"){let e=t.style.cssText;t.style.cssText=e+"; list-style: square !important",window.getComputedStyle(t).listStyle,t.style.cssText=e}}function tm(t,e,n,r){for(let o=0,i=0;o=n){if(i>=r&&a.slice(r-e.length-l,r-l)==e)return r-e.length;let c=l=0&&c+e.length+l>=n)return l+c;if(n==r&&a.length>=r+e.length-l&&a.slice(r-l,r-l+e.length)==e)return r}}return-1}function Yi(t,e,n,r,o){let i=[];for(let s=0,l=0;s=n||u<=e?i.push(a):(cn&&i.push(a.slice(n-c,a.size,r)))}return i}function as(t,e=null){let n=t.domSelectionRange(),r=t.state.doc;if(!n.focusNode)return null;let o=t.docView.nearestDesc(n.focusNode),i=o&&o.size==0,s=t.docView.posFromDOM(n.focusNode,n.focusOffset,1);if(s<0)return null;let l=r.resolve(s),a,c;if(jr(n)){for(a=s;o&&!o.node;)o=o.parent;let d=o.node;if(o&&d.isAtom&&O.isSelectable(d)&&o.parent&&!(d.isInline&&Np(n.focusNode,n.focusOffset,o.dom))){let f=o.posBefore;c=new O(s==f?l:r.resolve(f))}}else{if(n instanceof t.dom.ownerDocument.defaultView.Selection&&n.rangeCount>1){let d=s,f=s;for(let h=0;h{(n.anchorNode!=r||n.anchorOffset!=o)&&(e.removeEventListener("selectionchange",t.input.hideSelectionGuard),setTimeout(()=>{(!Bc(t)||t.state.selection.visible)&&t.dom.classList.remove("ProseMirror-hideselection")},20))})}function rm(t){let e=t.domSelection(),n=document.createRange();if(!e)return;let r=t.cursorWrapper.dom,o=r.nodeName=="IMG";o?n.setStart(r.parentNode,ue(r)+1):n.setStart(r,0),n.collapse(!0),e.removeAllRanges(),e.addRange(n),!o&&!t.state.selection.visible&&ke&&Tt<=11&&(r.disabled=!0,r.disabled=!1)}function zc(t,e){if(e instanceof O){let n=t.docView.descAt(e.from);n!=t.lastSelectedViewDesc&&(ic(t),n&&n.selectNode(),t.lastSelectedViewDesc=n)}else ic(t)}function ic(t){t.lastSelectedViewDesc&&(t.lastSelectedViewDesc.parent&&t.lastSelectedViewDesc.deselectNode(),t.lastSelectedViewDesc=void 0)}function cs(t,e,n,r){return t.someProp("createSelectionBetween",o=>o(t,e,n))||A.between(e,n,r)}function sc(t){return t.editable&&!t.hasFocus()?!1:Hc(t)}function Hc(t){let e=t.domSelectionRange();if(!e.anchorNode)return!1;try{return t.dom.contains(e.anchorNode.nodeType==3?e.anchorNode.parentNode:e.anchorNode)&&(t.editable||t.dom.contains(e.focusNode.nodeType==3?e.focusNode.parentNode:e.focusNode))}catch{return!1}}function om(t){let e=t.docView.domFromPos(t.state.selection.anchor,0),n=t.domSelectionRange();return Jt(e.node,e.offset,n.anchorNode,n.anchorOffset)}function Xi(t,e){let{$anchor:n,$head:r}=t.selection,o=e>0?n.max(r):n.min(r),i=o.parent.inlineContent?o.depth?t.doc.resolve(e>0?o.after():o.before()):null:o;return i&&E.findFrom(i,e)}function Mt(t,e){return t.dispatch(t.state.tr.setSelection(e).scrollIntoView()),!0}function lc(t,e,n){let r=t.state.selection;if(r instanceof A)if(n.indexOf("s")>-1){let{$head:o}=r,i=o.textOffset?null:e<0?o.nodeBefore:o.nodeAfter;if(!i||i.isText||!i.isLeaf)return!1;let s=t.state.doc.resolve(o.pos+i.nodeSize*(e<0?-1:1));return Mt(t,new A(r.$anchor,s))}else if(r.empty){if(t.endOfTextblock(e>0?"forward":"backward")){let o=Xi(t.state,e);return o&&o instanceof O?Mt(t,o):!1}else if(!(Re&&n.indexOf("m")>-1)){let o=r.$head,i=o.textOffset?null:e<0?o.nodeBefore:o.nodeAfter,s;if(!i||i.isText)return!1;let l=e<0?o.pos-i.nodeSize:o.pos;return i.isAtom||(s=t.docView.descAt(l))&&!s.contentDOM?O.isSelectable(i)?Mt(t,new O(e<0?t.state.doc.resolve(o.pos-i.nodeSize):o)):Gn?Mt(t,new A(t.state.doc.resolve(e<0?l:l+i.nodeSize))):!1:!1}}else return!1;else{if(r instanceof O&&r.node.isInline)return Mt(t,new A(e>0?r.$to:r.$from));{let o=Xi(t.state,e);return o?Mt(t,o):!1}}}function Hr(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function _n(t,e){let n=t.pmViewDesc;return n&&n.size==0&&(e<0||t.nextSibling||t.nodeName!="BR")}function hn(t,e){return e<0?im(t):sm(t)}function im(t){let e=t.domSelectionRange(),n=e.focusNode,r=e.focusOffset;if(!n)return;let o,i,s=!1;for(Ve&&n.nodeType==1&&r0){if(n.nodeType!=1)break;{let l=n.childNodes[r-1];if(_n(l,-1))o=n,i=--r;else if(l.nodeType==3)n=l,r=n.nodeValue.length;else break}}else{if(Fc(n))break;{let l=n.previousSibling;for(;l&&_n(l,-1);)o=n.parentNode,i=ue(l),l=l.previousSibling;if(l)n=l,r=Hr(n);else{if(n=n.parentNode,n==t.dom)break;r=0}}}s?Qi(t,n,r):o&&Qi(t,o,i)}function sm(t){let e=t.domSelectionRange(),n=e.focusNode,r=e.focusOffset;if(!n)return;let o=Hr(n),i,s;for(;;)if(r{t.state==o&&ft(t)},50)}function ac(t,e){let n=t.state.doc.resolve(e);if(!(ge||Pp)&&n.parent.inlineContent){let o=t.coordsAtPos(e);if(e>n.start()){let i=t.coordsAtPos(e-1),s=(i.top+i.bottom)/2;if(s>o.top&&s1)return i.lefto.top&&s1)return i.left>o.left?"ltr":"rtl"}}return getComputedStyle(t.dom).direction=="rtl"?"rtl":"ltr"}function cc(t,e,n){let r=t.state.selection;if(r instanceof A&&!r.empty||n.indexOf("s")>-1||Re&&n.indexOf("m")>-1)return!1;let{$from:o,$to:i}=r;if(!o.parent.inlineContent||t.endOfTextblock(e<0?"up":"down")){let s=Xi(t.state,e);if(s&&s instanceof O)return Mt(t,s)}if(!o.parent.inlineContent){let s=e<0?o:i,l=r instanceof be?E.near(s,e):E.findFrom(s,e);return l?Mt(t,l):!1}return!1}function uc(t,e){if(!(t.state.selection instanceof A))return!0;let{$head:n,$anchor:r,empty:o}=t.state.selection;if(!n.sameParent(r))return!0;if(!o)return!1;if(t.endOfTextblock(e>0?"forward":"backward"))return!0;let i=!n.textOffset&&(e<0?n.nodeBefore:n.nodeAfter);if(i&&!i.isText){let s=t.state.tr;return e<0?s.delete(n.pos-i.nodeSize,n.pos):s.delete(n.pos,n.pos+i.nodeSize),t.dispatch(s),!0}return!1}function dc(t,e,n){t.domObserver.stop(),e.contentEditable=n,t.domObserver.start()}function cm(t){if(!xe||t.state.selection.$head.parentOffset>0)return!1;let{focusNode:e,focusOffset:n}=t.domSelectionRange();if(e&&e.nodeType==1&&n==0&&e.firstChild&&e.firstChild.contentEditable=="false"){let r=e.firstChild;dc(t,r,"true"),setTimeout(()=>dc(t,r,"false"),20)}return!1}function um(t){let e="";return t.ctrlKey&&(e+="c"),t.metaKey&&(e+="m"),t.altKey&&(e+="a"),t.shiftKey&&(e+="s"),e}function dm(t,e){let n=e.keyCode,r=um(e);if(n==8||Re&&n==72&&r=="c")return uc(t,-1)||hn(t,-1);if(n==46&&!e.shiftKey||Re&&n==68&&r=="c")return uc(t,1)||hn(t,1);if(n==13||n==27)return!0;if(n==37||Re&&n==66&&r=="c"){let o=n==37?ac(t,t.state.selection.from)=="ltr"?-1:1:-1;return lc(t,o,r)||hn(t,o)}else if(n==39||Re&&n==70&&r=="c"){let o=n==39?ac(t,t.state.selection.from)=="ltr"?1:-1:1;return lc(t,o,r)||hn(t,o)}else{if(n==38||Re&&n==80&&r=="c")return cc(t,-1,r)||hn(t,-1);if(n==40||Re&&n==78&&r=="c")return cm(t)||cc(t,1,r)||hn(t,1);if(r==(Re?"m":"c")&&(n==66||n==73||n==89||n==90))return!0}return!1}function us(t,e){t.someProp("transformCopied",h=>{e=h(e,t)});let n=[],{content:r,openStart:o,openEnd:i}=e;for(;o>1&&i>1&&r.childCount==1&&r.firstChild.childCount==1;){o--,i--;let h=r.firstChild;n.push(h.type.name,h.attrs!=h.type.defaultAttrs?h.attrs:null),r=h.content}let s=t.someProp("clipboardSerializer")||it.fromSchema(t.state.schema),l=Kc(),a=l.createElement("div");a.appendChild(s.serializeFragment(r,{document:l}));let c=a.firstChild,u,d=0;for(;c&&c.nodeType==1&&(u=jc[c.nodeName.toLowerCase()]);){for(let h=u.length-1;h>=0;h--){let p=l.createElement(u[h]);for(;a.firstChild;)p.appendChild(a.firstChild);a.appendChild(p),d++}c=a.firstChild}c&&c.nodeType==1&&c.setAttribute("data-pm-slice",`${o} ${i}${d?` -${d}`:""} ${JSON.stringify(n)}`);let f=t.someProp("clipboardTextSerializer",h=>h(e,t))||e.content.textBetween(0,e.content.size,` + +`);return{dom:a,text:f,slice:e}}function $c(t,e,n,r,o){let i=o.parent.type.spec.code,s,l;if(!n&&!e)return null;let a=e&&(r||i||!n);if(a){if(t.someProp("transformPastedText",f=>{e=f(e,i||r,t)}),i)return e?new M(w.from(t.state.schema.text(e.replace(/\r\n?/g,` +`))),0,0):M.empty;let d=t.someProp("clipboardTextParser",f=>f(e,o,r,t));if(d)l=d;else{let f=o.marks(),{schema:h}=t.state,p=it.fromSchema(h);s=document.createElement("div"),e.split(/(?:\r\n?|\n)+/).forEach(m=>{let g=s.appendChild(document.createElement("p"));m&&g.appendChild(p.serializeNode(h.text(m,f)))})}}else t.someProp("transformPastedHTML",d=>{n=d(n,t)}),s=mm(n),Gn&&gm(s);let c=s&&s.querySelector("[data-pm-slice]"),u=c&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(c.getAttribute("data-pm-slice")||"");if(u&&u[3])for(let d=+u[3];d>0;d--){let f=s.firstChild;for(;f&&f.nodeType!=1;)f=f.nextSibling;if(!f)break;s=f}if(l||(l=(t.someProp("clipboardParser")||t.someProp("domParser")||Ue.fromSchema(t.state.schema)).parseSlice(s,{preserveWhitespace:!!(a||u),context:o,ruleFromNode(f){return f.nodeName=="BR"&&!f.nextSibling&&f.parentNode&&!fm.test(f.parentNode.nodeName)?{ignore:!0}:null}})),u)l=ym(fc(l,+u[1],+u[2]),u[4]);else if(l=M.maxOpen(hm(l.content,o),!0),l.openStart||l.openEnd){let d=0,f=0;for(let h=l.content.firstChild;d{l=d(l,t)}),l}var fm=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function hm(t,e){if(t.childCount<2)return t;for(let n=e.depth;n>=0;n--){let o=e.node(n).contentMatchAt(e.index(n)),i,s=[];if(t.forEach(l=>{if(!s)return;let a=o.findWrapping(l.type),c;if(!a)return s=null;if(c=s.length&&i.length&&Wc(a,i,l,s[s.length-1],0))s[s.length-1]=c;else{s.length&&(s[s.length-1]=_c(s[s.length-1],i.length));let u=Vc(l,a);s.push(u),o=o.matchType(u.type),i=a}}),s)return w.from(s)}return t}function Vc(t,e,n=0){for(let r=e.length-1;r>=n;r--)t=e[r].create(null,w.from(t));return t}function Wc(t,e,n,r,o){if(o1&&(i=0),o=n&&(l=e<0?s.contentMatchAt(0).fillBefore(l,i<=o).append(l):l.append(s.contentMatchAt(s.childCount).fillBefore(w.empty,!0))),t.replaceChild(e<0?0:t.childCount-1,s.copy(l))}function fc(t,e,n){return en})),Fi.createHTML(t)):t}function mm(t){let e=/^(\s*]*>)*/.exec(t);e&&(t=t.slice(e[0].length));let n=Kc().createElement("div"),r=/<([a-z][^>\s]+)/i.exec(t),o;if((o=r&&jc[r[1].toLowerCase()])&&(t=o.map(i=>"<"+i+">").join("")+t+o.map(i=>"").reverse().join("")),n.innerHTML=pm(t),o)for(let i=0;i=0;l-=2){let a=n.nodes[r[l]];if(!a||a.hasRequiredAttrs())break;o=w.from(a.create(r[l+1],o)),i++,s++}return new M(o,i,s)}var we={},Se={},bm={touchstart:!0,touchmove:!0},es=class{constructor(){this.shiftKey=!1,this.mouseDown=null,this.lastKeyCode=null,this.lastKeyCodeTime=0,this.lastClick={time:0,x:0,y:0,type:"",button:0},this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastIOSEnter=0,this.lastIOSEnterFallbackTimeout=-1,this.lastFocus=0,this.lastTouch=0,this.lastChromeDelete=0,this.composing=!1,this.compositionNode=null,this.composingTimeout=-1,this.compositionNodes=[],this.compositionEndedAt=-2e8,this.compositionID=1,this.compositionPendingChanges=0,this.domChangeCount=0,this.eventHandlers=Object.create(null),this.hideSelectionGuard=null}};function xm(t){for(let e in we){let n=we[e];t.dom.addEventListener(e,t.input.eventHandlers[e]=r=>{Sm(t,r)&&!ds(t,r)&&(t.editable||!(r.type in Se))&&n(t,r)},bm[e]?{passive:!0}:void 0)}xe&&t.dom.addEventListener("input",()=>null),ts(t)}function vt(t,e){t.input.lastSelectionOrigin=e,t.input.lastSelectionTime=Date.now()}function wm(t){t.domObserver.stop();for(let e in t.input.eventHandlers)t.dom.removeEventListener(e,t.input.eventHandlers[e]);clearTimeout(t.input.composingTimeout),clearTimeout(t.input.lastIOSEnterFallbackTimeout)}function ts(t){t.someProp("handleDOMEvents",e=>{for(let n in e)t.input.eventHandlers[n]||t.dom.addEventListener(n,t.input.eventHandlers[n]=r=>ds(t,r))})}function ds(t,e){return t.someProp("handleDOMEvents",n=>{let r=n[e.type];return r?r(t,e)||e.defaultPrevented:!1})}function Sm(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let n=e.target;n!=t.dom;n=n.parentNode)if(!n||n.nodeType==11||n.pmViewDesc&&n.pmViewDesc.stopEvent(e))return!1;return!0}function km(t,e){!ds(t,e)&&we[e.type]&&(t.editable||!(e.type in Se))&&we[e.type](t,e)}Se.keydown=(t,e)=>{let n=e;if(t.input.shiftKey=n.keyCode==16||n.shiftKey,!Jc(t,n)&&(t.input.lastKeyCode=n.keyCode,t.input.lastKeyCodeTime=Date.now(),!(dt&&ge&&n.keyCode==13)))if(n.keyCode!=229&&t.domObserver.forceFlush(),yn&&n.keyCode==13&&!n.ctrlKey&&!n.altKey&&!n.metaKey){let r=Date.now();t.input.lastIOSEnter=r,t.input.lastIOSEnterFallbackTimeout=setTimeout(()=>{t.input.lastIOSEnter==r&&(t.someProp("handleKeyDown",o=>o(t,Vt(13,"Enter"))),t.input.lastIOSEnter=0)},200)}else t.someProp("handleKeyDown",r=>r(t,n))||dm(t,n)?n.preventDefault():vt(t,"key")};Se.keyup=(t,e)=>{e.keyCode==16&&(t.input.shiftKey=!1)};Se.keypress=(t,e)=>{let n=e;if(Jc(t,n)||!n.charCode||n.ctrlKey&&!n.altKey||Re&&n.metaKey)return;if(t.someProp("handleKeyPress",o=>o(t,n))){n.preventDefault();return}let r=t.state.selection;if(!(r instanceof A)||!r.$from.sameParent(r.$to)){let o=String.fromCharCode(n.charCode),i=()=>t.state.tr.insertText(o).scrollIntoView();!/[\r\n]/.test(o)&&!t.someProp("handleTextInput",s=>s(t,r.$from.pos,r.$to.pos,o,i))&&t.dispatch(i()),n.preventDefault()}};function Kr(t){return{left:t.clientX,top:t.clientY}}function Cm(t,e){let n=e.x-t.clientX,r=e.y-t.clientY;return n*n+r*r<100}function fs(t,e,n,r,o){if(r==-1)return!1;let i=t.state.doc.resolve(r);for(let s=i.depth+1;s>0;s--)if(t.someProp(e,l=>s>i.depth?l(t,n,i.nodeAfter,i.before(s),o,!0):l(t,n,i.node(s),i.before(s),o,!1)))return!0;return!1}function mn(t,e,n){if(t.focused||t.focus(),t.state.selection.eq(e))return;let r=t.state.tr.setSelection(e);n=="pointer"&&r.setMeta("pointer",!0),t.dispatch(r)}function Mm(t,e){if(e==-1)return!1;let n=t.state.doc.resolve(e),r=n.nodeAfter;return r&&r.isAtom&&O.isSelectable(r)?(mn(t,new O(n),"pointer"),!0):!1}function vm(t,e){if(e==-1)return!1;let n=t.state.selection,r,o;n instanceof O&&(r=n.node);let i=t.state.doc.resolve(e);for(let s=i.depth+1;s>0;s--){let l=s>i.depth?i.nodeAfter:i.node(s);if(O.isSelectable(l)){r&&n.$from.depth>0&&s>=n.$from.depth&&i.before(n.$from.depth+1)==n.$from.pos?o=i.before(n.$from.depth):o=i.before(s);break}}return o!=null?(mn(t,O.create(t.state.doc,o),"pointer"),!0):!1}function Tm(t,e,n,r,o){return fs(t,"handleClickOn",e,n,r)||t.someProp("handleClick",i=>i(t,e,r))||(o?vm(t,n):Mm(t,n))}function Am(t,e,n,r){return fs(t,"handleDoubleClickOn",e,n,r)||t.someProp("handleDoubleClick",o=>o(t,e,r))}function Em(t,e,n,r){return fs(t,"handleTripleClickOn",e,n,r)||t.someProp("handleTripleClick",o=>o(t,e,r))||Om(t,n,r)}function Om(t,e,n){if(n.button!=0)return!1;let r=t.state.doc;if(e==-1)return r.inlineContent?(mn(t,A.create(r,0,r.content.size),"pointer"),!0):!1;let o=r.resolve(e);for(let i=o.depth+1;i>0;i--){let s=i>o.depth?o.nodeAfter:o.node(i),l=o.before(i);if(s.inlineContent)mn(t,A.create(r,l+1,l+1+s.content.size),"pointer");else if(O.isSelectable(s))mn(t,O.create(r,l),"pointer");else continue;return!0}}function hs(t){return Fr(t)}var Uc=Re?"metaKey":"ctrlKey";we.mousedown=(t,e)=>{let n=e;t.input.shiftKey=n.shiftKey;let r=hs(t),o=Date.now(),i="singleClick";o-t.input.lastClick.time<500&&Cm(n,t.input.lastClick)&&!n[Uc]&&t.input.lastClick.button==n.button&&(t.input.lastClick.type=="singleClick"?i="doubleClick":t.input.lastClick.type=="doubleClick"&&(i="tripleClick")),t.input.lastClick={time:o,x:n.clientX,y:n.clientY,type:i,button:n.button};let s=t.posAtCoords(Kr(n));s&&(i=="singleClick"?(t.input.mouseDown&&t.input.mouseDown.done(),t.input.mouseDown=new ns(t,s,n,!!r)):(i=="doubleClick"?Am:Em)(t,s.pos,s.inside,n)?n.preventDefault():vt(t,"pointer"))};var ns=class{constructor(e,n,r,o){this.view=e,this.pos=n,this.event=r,this.flushed=o,this.delayedSelectionSync=!1,this.mightDrag=null,this.startDoc=e.state.doc,this.selectNode=!!r[Uc],this.allowDefault=r.shiftKey;let i,s;if(n.inside>-1)i=e.state.doc.nodeAt(n.inside),s=n.inside;else{let u=e.state.doc.resolve(n.pos);i=u.parent,s=u.depth?u.before():0}let l=o?null:r.target,a=l?e.docView.nearestDesc(l,!0):null;this.target=a&&a.dom.nodeType==1?a.dom:null;let{selection:c}=e.state;(r.button==0&&i.type.spec.draggable&&i.type.spec.selectable!==!1||c instanceof O&&c.from<=s&&c.to>s)&&(this.mightDrag={node:i,pos:s,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&Ve&&!this.target.hasAttribute("contentEditable"))}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout(()=>{this.view.input.mouseDown==this&&this.target.setAttribute("contentEditable","false")},20),this.view.domObserver.start()),e.root.addEventListener("mouseup",this.up=this.up.bind(this)),e.root.addEventListener("mousemove",this.move=this.move.bind(this)),vt(e,"pointer")}done(){this.view.root.removeEventListener("mouseup",this.up),this.view.root.removeEventListener("mousemove",this.move),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute("draggable"),this.mightDrag.setUneditable&&this.target.removeAttribute("contentEditable"),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout(()=>ft(this.view)),this.view.input.mouseDown=null}up(e){if(this.done(),!this.view.dom.contains(e.target))return;let n=this.pos;this.view.state.doc!=this.startDoc&&(n=this.view.posAtCoords(Kr(e))),this.updateAllowDefault(e),this.allowDefault||!n?vt(this.view,"pointer"):Tm(this.view,n.pos,n.inside,e,this.selectNode)?e.preventDefault():e.button==0&&(this.flushed||xe&&this.mightDrag&&!this.mightDrag.node.isAtom||ge&&!this.view.state.selection.visible&&Math.min(Math.abs(n.pos-this.view.state.selection.from),Math.abs(n.pos-this.view.state.selection.to))<=2)?(mn(this.view,E.near(this.view.state.doc.resolve(n.pos)),"pointer"),e.preventDefault()):vt(this.view,"pointer")}move(e){this.updateAllowDefault(e),vt(this.view,"pointer"),e.buttons==0&&this.done()}updateAllowDefault(e){!this.allowDefault&&(Math.abs(this.event.x-e.clientX)>4||Math.abs(this.event.y-e.clientY)>4)&&(this.allowDefault=!0)}};we.touchstart=t=>{t.input.lastTouch=Date.now(),hs(t),vt(t,"pointer")};we.touchmove=t=>{t.input.lastTouch=Date.now(),vt(t,"pointer")};we.contextmenu=t=>hs(t);function Jc(t,e){return t.composing?!0:xe&&Math.abs(e.timeStamp-t.input.compositionEndedAt)<500?(t.input.compositionEndedAt=-2e8,!0):!1}var Nm=dt?5e3:-1;Se.compositionstart=Se.compositionupdate=t=>{if(!t.composing){t.domObserver.flush();let{state:e}=t,n=e.selection.$to;if(e.selection instanceof A&&(e.storedMarks||!n.textOffset&&n.parentOffset&&n.nodeBefore.marks.some(r=>r.type.spec.inclusive===!1)))t.markCursor=t.state.storedMarks||n.marks(),Fr(t,!0),t.markCursor=null;else if(Fr(t,!e.selection.empty),Ve&&e.selection.empty&&n.parentOffset&&!n.textOffset&&n.nodeBefore.marks.length){let r=t.domSelectionRange();for(let o=r.focusNode,i=r.focusOffset;o&&o.nodeType==1&&i!=0;){let s=i<0?o.lastChild:o.childNodes[i-1];if(!s)break;if(s.nodeType==3){let l=t.domSelection();l&&l.collapse(s,s.nodeValue.length);break}else o=s,i=-1}}t.input.composing=!0}qc(t,Nm)};Se.compositionend=(t,e)=>{t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=e.timeStamp,t.input.compositionPendingChanges=t.domObserver.pendingRecords().length?t.input.compositionID:0,t.input.compositionNode=null,t.input.compositionPendingChanges&&Promise.resolve().then(()=>t.domObserver.flush()),t.input.compositionID++,qc(t,20))};function qc(t,e){clearTimeout(t.input.composingTimeout),e>-1&&(t.input.composingTimeout=setTimeout(()=>Fr(t),e))}function Gc(t){for(t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=Dm());t.input.compositionNodes.length>0;)t.input.compositionNodes.pop().markParentsDirty()}function Rm(t){let e=t.domSelectionRange();if(!e.focusNode)return null;let n=Ep(e.focusNode,e.focusOffset),r=Op(e.focusNode,e.focusOffset);if(n&&r&&n!=r){let o=r.pmViewDesc,i=t.domObserver.lastChangedTextNode;if(n==i||r==i)return i;if(!o||!o.isText(r.nodeValue))return r;if(t.input.compositionNode==r){let s=n.pmViewDesc;if(!(!s||!s.isText(n.nodeValue)))return r}}return n||r}function Dm(){let t=document.createEvent("Event");return t.initEvent("event",!0,!0),t.timeStamp}function Fr(t,e=!1){if(!(dt&&t.domObserver.flushingSoon>=0)){if(t.domObserver.forceFlush(),Gc(t),e||t.docView&&t.docView.dirty){let n=as(t),r=t.state.selection;return n&&!n.eq(r)?t.dispatch(t.state.tr.setSelection(n)):(t.markCursor||e)&&!r.$from.node(r.$from.sharedDepth(r.to)).inlineContent?t.dispatch(t.state.tr.deleteSelection()):t.updateState(t.state),!0}return!1}}function Pm(t,e){if(!t.dom.parentNode)return;let n=t.dom.parentNode.appendChild(document.createElement("div"));n.appendChild(e),n.style.cssText="position: fixed; left: -10000px; top: 10px";let r=getSelection(),o=document.createRange();o.selectNodeContents(e),t.dom.blur(),r.removeAllRanges(),r.addRange(o),setTimeout(()=>{n.parentNode&&n.parentNode.removeChild(n),t.focus()},50)}var jn=ke&&Tt<15||yn&&Ip<604;we.copy=Se.cut=(t,e)=>{let n=e,r=t.state.selection,o=n.type=="cut";if(r.empty)return;let i=jn?null:n.clipboardData,s=r.content(),{dom:l,text:a}=us(t,s);i?(n.preventDefault(),i.clearData(),i.setData("text/html",l.innerHTML),i.setData("text/plain",a)):Pm(t,l),o&&t.dispatch(t.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))};function Im(t){return t.openStart==0&&t.openEnd==0&&t.content.childCount==1?t.content.firstChild:null}function Lm(t,e){if(!t.dom.parentNode)return;let n=t.input.shiftKey||t.state.selection.$from.parent.type.spec.code,r=t.dom.parentNode.appendChild(document.createElement(n?"textarea":"div"));n||(r.contentEditable="true"),r.style.cssText="position: fixed; left: -10000px; top: 10px",r.focus();let o=t.input.shiftKey&&t.input.lastKeyCode!=45;setTimeout(()=>{t.focus(),r.parentNode&&r.parentNode.removeChild(r),n?Kn(t,r.value,null,o,e):Kn(t,r.textContent,r.innerHTML,o,e)},50)}function Kn(t,e,n,r,o){let i=$c(t,e,n,r,t.state.selection.$from);if(t.someProp("handlePaste",a=>a(t,o,i||M.empty)))return!0;if(!i)return!1;let s=Im(i),l=s?t.state.tr.replaceSelectionWith(s,r):t.state.tr.replaceSelection(i);return t.dispatch(l.scrollIntoView().setMeta("paste",!0).setMeta("uiEvent","paste")),!0}function Yc(t){let e=t.getData("text/plain")||t.getData("Text");if(e)return e;let n=t.getData("text/uri-list");return n?n.replace(/\r?\n/g," "):""}Se.paste=(t,e)=>{let n=e;if(t.composing&&!dt)return;let r=jn?null:n.clipboardData,o=t.input.shiftKey&&t.input.lastKeyCode!=45;r&&Kn(t,Yc(r),r.getData("text/html"),o,n)?n.preventDefault():Lm(t,n)};var $r=class{constructor(e,n,r){this.slice=e,this.move=n,this.node=r}},Bm=Re?"altKey":"ctrlKey";function Xc(t,e){let n=t.someProp("dragCopies",r=>!r(e));return n??!e[Bm]}we.dragstart=(t,e)=>{let n=e,r=t.input.mouseDown;if(r&&r.done(),!n.dataTransfer)return;let o=t.state.selection,i=o.empty?null:t.posAtCoords(Kr(n)),s;if(!(i&&i.pos>=o.from&&i.pos<=(o instanceof O?o.to-1:o.to))){if(r&&r.mightDrag)s=O.create(t.state.doc,r.mightDrag.pos);else if(n.target&&n.target.nodeType==1){let d=t.docView.nearestDesc(n.target,!0);d&&d.node.type.spec.draggable&&d!=t.docView&&(s=O.create(t.state.doc,d.posBefore))}}let l=(s||t.state.selection).content(),{dom:a,text:c,slice:u}=us(t,l);(!n.dataTransfer.files.length||!ge||Tc>120)&&n.dataTransfer.clearData(),n.dataTransfer.setData(jn?"Text":"text/html",a.innerHTML),n.dataTransfer.effectAllowed="copyMove",jn||n.dataTransfer.setData("text/plain",c),t.dragging=new $r(u,Xc(t,n),s)};we.dragend=t=>{let e=t.dragging;window.setTimeout(()=>{t.dragging==e&&(t.dragging=null)},50)};Se.dragover=Se.dragenter=(t,e)=>e.preventDefault();Se.drop=(t,e)=>{let n=e,r=t.dragging;if(t.dragging=null,!n.dataTransfer)return;let o=t.posAtCoords(Kr(n));if(!o)return;let i=t.state.doc.resolve(o.pos),s=r&&r.slice;s?t.someProp("transformPasted",p=>{s=p(s,t)}):s=$c(t,Yc(n.dataTransfer),jn?null:n.dataTransfer.getData("text/html"),!1,i);let l=!!(r&&Xc(t,n));if(t.someProp("handleDrop",p=>p(t,n,s||M.empty,l))){n.preventDefault();return}if(!s)return;n.preventDefault();let a=s?Nr(t.state.doc,i.pos,s):i.pos;a==null&&(a=i.pos);let c=t.state.tr;if(l){let{node:p}=r;p?p.replace(c):c.deleteSelection()}let u=c.mapping.map(a),d=s.openStart==0&&s.openEnd==0&&s.content.childCount==1,f=c.doc;if(d?c.replaceRangeWith(u,u,s.content.firstChild):c.replaceRange(u,u,s),c.doc.eq(f))return;let h=c.doc.resolve(u);if(d&&O.isSelectable(s.content.firstChild)&&h.nodeAfter&&h.nodeAfter.sameMarkup(s.content.firstChild))c.setSelection(new O(h));else{let p=c.mapping.map(a);c.mapping.maps[c.mapping.maps.length-1].forEach((m,g,y,b)=>p=b),c.setSelection(cs(t,h,c.doc.resolve(p)))}t.focus(),t.dispatch(c.setMeta("uiEvent","drop"))};we.focus=t=>{t.input.lastFocus=Date.now(),t.focused||(t.domObserver.stop(),t.dom.classList.add("ProseMirror-focused"),t.domObserver.start(),t.focused=!0,setTimeout(()=>{t.docView&&t.hasFocus()&&!t.domObserver.currentSelection.eq(t.domSelectionRange())&&ft(t)},20))};we.blur=(t,e)=>{let n=e;t.focused&&(t.domObserver.stop(),t.dom.classList.remove("ProseMirror-focused"),t.domObserver.start(),n.relatedTarget&&t.dom.contains(n.relatedTarget)&&t.domObserver.currentSelection.clear(),t.focused=!1)};we.beforeinput=(t,e)=>{if(ge&&dt&&e.inputType=="deleteContentBackward"){t.domObserver.flushSoon();let{domChangeCount:r}=t.input;setTimeout(()=>{if(t.input.domChangeCount!=r||(t.dom.blur(),t.focus(),t.someProp("handleKeyDown",i=>i(t,Vt(8,"Backspace")))))return;let{$cursor:o}=t.state.selection;o&&o.pos>0&&t.dispatch(t.state.tr.delete(o.pos-1,o.pos).scrollIntoView())},50)}};for(let t in Se)we[t]=Se[t];function Un(t,e){if(t==e)return!0;for(let n in t)if(t[n]!==e[n])return!1;for(let n in e)if(!(n in t))return!1;return!0}var Vr=class t{constructor(e,n){this.toDOM=e,this.spec=n||Kt,this.side=this.spec.side||0}map(e,n,r,o){let{pos:i,deleted:s}=e.mapResult(n.from+o,this.side<0?-1:1);return s?null:new Y(i-r,i-r,this)}valid(){return!0}eq(e){return this==e||e instanceof t&&(this.spec.key&&this.spec.key==e.spec.key||this.toDOM==e.toDOM&&Un(this.spec,e.spec))}destroy(e){this.spec.destroy&&this.spec.destroy(e)}},jt=class t{constructor(e,n){this.attrs=e,this.spec=n||Kt}map(e,n,r,o){let i=e.map(n.from+o,this.spec.inclusiveStart?-1:1)-r,s=e.map(n.to+o,this.spec.inclusiveEnd?1:-1)-r;return i>=s?null:new Y(i,s,this)}valid(e,n){return n.from=e&&(!i||i(l.spec))&&r.push(l.copy(l.from+o,l.to+o))}for(let s=0;se){let l=this.children[s]+1;this.children[s+2].findInner(e-l,n-l,r,o+l,i)}}map(e,n,r){return this==me||e.maps.length==0?this:this.mapInner(e,n,0,0,r||Kt)}mapInner(e,n,r,o,i){let s;for(let l=0;l{let c=a+r,u;if(u=Zc(n,l,c)){for(o||(o=this.children.slice());il&&d.to=e){this.children[l]==e&&(r=this.children[l+2]);break}let i=e+1,s=i+n.content.size;for(let l=0;li&&a.type instanceof jt){let c=Math.max(i,a.from)-i,u=Math.min(s,a.to)-i;co.map(e,n,Kt));return t.from(r)}forChild(e,n){if(n.isLeaf)return J.empty;let r=[];for(let o=0;on instanceof J)?e:e.reduce((n,r)=>n.concat(r instanceof J?r:r.members),[]))}}forEachSet(e){for(let n=0;n{let g=m-p-(h-f);for(let y=0;yb+u-d)continue;let x=l[y]+u-d;h>=x?l[y+1]=f<=x?-2:-1:f>=u&&g&&(l[y]+=g,l[y+1]+=g)}d+=g}),u=n.maps[c].map(u,-1)}let a=!1;for(let c=0;c=r.content.size){a=!0;continue}let f=n.map(t[c+1]+i,-1),h=f-o,{index:p,offset:m}=r.content.findIndex(d),g=r.maybeChild(p);if(g&&m==d&&m+g.nodeSize==h){let y=l[c+2].mapInner(n,g,u+1,t[c]+i+1,s);y!=me?(l[c]=d,l[c+1]=h,l[c+2]=y):(l[c+1]=-2,a=!0)}else a=!0}if(a){let c=Hm(l,t,e,n,o,i,s),u=_r(c,r,0,s);e=u.local;for(let d=0;dn&&s.to{let c=Zc(t,l,a+n);if(c){i=!0;let u=_r(c,l,n+a+1,r);u!=me&&o.push(a,a+l.nodeSize,u)}});let s=Qc(i?eu(t):t,-n).sort(Ut);for(let l=0;l0;)e++;t.splice(e,0,n)}function $i(t){let e=[];return t.someProp("decorations",n=>{let r=n(t.state);r&&r!=me&&e.push(r)}),t.cursorWrapper&&e.push(J.create(t.state.doc,[t.cursorWrapper.deco])),Wr.from(e)}var Fm={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},$m=ke&&Tt<=11,is=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}set(e){this.anchorNode=e.anchorNode,this.anchorOffset=e.anchorOffset,this.focusNode=e.focusNode,this.focusOffset=e.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(e){return e.anchorNode==this.anchorNode&&e.anchorOffset==this.anchorOffset&&e.focusNode==this.focusNode&&e.focusOffset==this.focusOffset}},ss=class{constructor(e,n){this.view=e,this.handleDOMChange=n,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new is,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.lastChangedTextNode=null,this.observer=window.MutationObserver&&new window.MutationObserver(r=>{for(let o=0;oo.type=="childList"&&o.removedNodes.length||o.type=="characterData"&&o.oldValue.length>o.target.nodeValue.length)?this.flushSoon():this.flush()}),$m&&(this.onCharData=r=>{this.queue.push({target:r.target,type:"characterData",oldValue:r.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){this.flushingSoon<0&&(this.flushingSoon=window.setTimeout(()=>{this.flushingSoon=-1,this.flush()},20))}forceFlush(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())}start(){this.observer&&(this.observer.takeRecords(),this.observer.observe(this.view.dom,Fm)),this.onCharData&&this.view.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.connectSelection()}stop(){if(this.observer){let e=this.observer.takeRecords();if(e.length){for(let n=0;nthis.flush(),20)}this.observer.disconnect()}this.onCharData&&this.view.dom.removeEventListener("DOMCharacterDataModified",this.onCharData),this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener("selectionchange",this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener("selectionchange",this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=!0,setTimeout(()=>this.suppressingSelectionUpdates=!1,50)}onSelectionChange(){if(sc(this.view)){if(this.suppressingSelectionUpdates)return ft(this.view);if(ke&&Tt<=11&&!this.view.state.selection.empty){let e=this.view.domSelectionRange();if(e.focusNode&&Jt(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset))return this.flushSoon()}this.flush()}}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(e){if(!e.focusNode)return!0;let n=new Set,r;for(let i=e.focusNode;i;i=gn(i))n.add(i);for(let i=e.anchorNode;i;i=gn(i))if(n.has(i)){r=i;break}let o=r&&this.view.docView.nearestDesc(r);if(o&&o.ignoreMutation({type:"selection",target:r.nodeType==3?r.parentNode:r}))return this.setCurSelection(),!0}pendingRecords(){if(this.observer)for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}flush(){let{view:e}=this;if(!e.docView||this.flushingSoon>-1)return;let n=this.pendingRecords();n.length&&(this.queue=[]);let r=e.domSelectionRange(),o=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(r)&&sc(e)&&!this.ignoreSelectionChange(r),i=-1,s=-1,l=!1,a=[];if(e.editable)for(let u=0;ud.nodeName=="BR");if(u.length==2){let[d,f]=u;d.parentNode&&d.parentNode.parentNode==f.parentNode?f.remove():d.remove()}else{let{focusNode:d}=this.currentSelection;for(let f of u){let h=f.parentNode;h&&h.nodeName=="LI"&&(!d||_m(e,d)!=h)&&f.remove()}}}let c=null;i<0&&o&&e.input.lastFocus>Date.now()-200&&Math.max(e.input.lastTouch,e.input.lastClick.time)-1||o)&&(i>-1&&(e.docView.markDirty(i,s),Vm(e)),this.handleDOMChange(i,s,l,a),e.docView&&e.docView.dirty?e.updateState(e.state):this.currentSelection.eq(r)||ft(e),this.currentSelection.set(r))}registerMutation(e,n){if(n.indexOf(e.target)>-1)return null;let r=this.view.docView.nearestDesc(e.target);if(e.type=="attributes"&&(r==this.view.docView||e.attributeName=="contenteditable"||e.attributeName=="style"&&!e.oldValue&&!e.target.getAttribute("style"))||!r||r.ignoreMutation(e))return null;if(e.type=="childList"){for(let u=0;uo;g--){let y=r.childNodes[g-1],b=y.pmViewDesc;if(y.nodeName=="BR"&&!b){i=g;break}if(!b||b.size)break}let d=t.state.doc,f=t.someProp("domParser")||Ue.fromSchema(t.state.schema),h=d.resolve(s),p=null,m=f.parse(r,{topNode:h.parent,topMatch:h.parent.contentMatchAt(h.index()),topOpen:!0,from:o,to:i,preserveWhitespace:h.parent.type.whitespace=="pre"?"full":!0,findPositions:c,ruleFromNode:Km,context:h});if(c&&c[0].pos!=null){let g=c[0].pos,y=c[1]&&c[1].pos;y==null&&(y=g),p={anchor:g+s,head:y+s}}return{doc:m,sel:p,from:s,to:l}}function Km(t){let e=t.pmViewDesc;if(e)return e.parseRule();if(t.nodeName=="BR"&&t.parentNode){if(xe&&/^(ul|ol)$/i.test(t.parentNode.nodeName)){let n=document.createElement("div");return n.appendChild(document.createElement("li")),{skip:n}}else if(t.parentNode.lastChild==t||xe&&/^(tr|table)$/i.test(t.parentNode.nodeName))return{ignore:!0}}else if(t.nodeName=="IMG"&&t.getAttribute("mark-placeholder"))return{ignore:!0};return null}var Um=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function Jm(t,e,n,r,o){let i=t.input.compositionPendingChanges||(t.composing?t.input.compositionID:0);if(t.input.compositionPendingChanges=0,e<0){let v=t.input.lastSelectionTime>Date.now()-50?t.input.lastSelectionOrigin:null,B=as(t,v);if(B&&!t.state.selection.eq(B)){if(ge&&dt&&t.input.lastKeyCode===13&&Date.now()-100_(t,Vt(13,"Enter"))))return;let D=t.state.tr.setSelection(B);v=="pointer"?D.setMeta("pointer",!0):v=="key"&&D.scrollIntoView(),i&&D.setMeta("composition",i),t.dispatch(D)}return}let s=t.state.doc.resolve(e),l=s.sharedDepth(n);e=s.before(l+1),n=t.state.doc.resolve(n).after(l+1);let a=t.state.selection,c=jm(t,e,n),u=t.state.doc,d=u.slice(c.from,c.to),f,h;t.input.lastKeyCode===8&&Date.now()-100Date.now()-225||dt)&&o.some(v=>v.nodeType==1&&!Um.test(v.nodeName))&&(!p||p.endA>=p.endB)&&t.someProp("handleKeyDown",v=>v(t,Vt(13,"Enter")))){t.input.lastIOSEnter=0;return}if(!p)if(r&&a instanceof A&&!a.empty&&a.$head.sameParent(a.$anchor)&&!t.composing&&!(c.sel&&c.sel.anchor!=c.sel.head))p={start:a.from,endA:a.to,endB:a.to};else{if(c.sel){let v=bc(t,t.state.doc,c.sel);if(v&&!v.eq(t.state.selection)){let B=t.state.tr.setSelection(v);i&&B.setMeta("composition",i),t.dispatch(B)}}return}t.state.selection.fromt.state.selection.from&&p.start<=t.state.selection.from+2&&t.state.selection.from>=c.from?p.start=t.state.selection.from:p.endA=t.state.selection.to-2&&t.state.selection.to<=c.to&&(p.endB+=t.state.selection.to-p.endA,p.endA=t.state.selection.to)),ke&&Tt<=11&&p.endB==p.start+1&&p.endA==p.start&&p.start>c.from&&c.doc.textBetween(p.start-c.from-1,p.start-c.from+1)==" \xA0"&&(p.start--,p.endA--,p.endB--);let m=c.doc.resolveNoCache(p.start-c.from),g=c.doc.resolveNoCache(p.endB-c.from),y=u.resolve(p.start),b=m.sameParent(g)&&m.parent.inlineContent&&y.end()>=p.endA,x;if((yn&&t.input.lastIOSEnter>Date.now()-225&&(!b||o.some(v=>v.nodeName=="DIV"||v.nodeName=="P"))||!b&&m.posm.pos)&&t.someProp("handleKeyDown",v=>v(t,Vt(13,"Enter")))){t.input.lastIOSEnter=0;return}if(t.state.selection.anchor>p.start&&Gm(u,p.start,p.endA,m,g)&&t.someProp("handleKeyDown",v=>v(t,Vt(8,"Backspace")))){dt&&ge&&t.domObserver.suppressSelectionUpdates();return}ge&&p.endB==p.start&&(t.input.lastChromeDelete=Date.now()),dt&&!b&&m.start()!=g.start()&&g.parentOffset==0&&m.depth==g.depth&&c.sel&&c.sel.anchor==c.sel.head&&c.sel.head==p.endA&&(p.endB-=2,g=c.doc.resolveNoCache(p.endB-c.from),setTimeout(()=>{t.someProp("handleKeyDown",function(v){return v(t,Vt(13,"Enter"))})},20));let C=p.start,S=p.endA,R=v=>{let B=v||t.state.tr.replace(C,S,c.doc.slice(p.start-c.from,p.endB-c.from));if(c.sel){let D=bc(t,B.doc,c.sel);D&&!(ge&&t.composing&&D.empty&&(p.start!=p.endB||t.input.lastChromeDeleteft(t),20));let v=R(t.state.tr.delete(C,S)),B=u.resolve(p.start).marksAcross(u.resolve(p.endA));B&&v.ensureMarks(B),t.dispatch(v)}else if(p.endA==p.endB&&(P=qm(m.parent.content.cut(m.parentOffset,g.parentOffset),y.parent.content.cut(y.parentOffset,p.endA-y.start())))){let v=R(t.state.tr);P.type=="add"?v.addMark(C,S,P.mark):v.removeMark(C,S,P.mark),t.dispatch(v)}else if(m.parent.child(m.index()).isText&&m.index()==g.index()-(g.textOffset?0:1)){let v=m.parent.textBetween(m.parentOffset,g.parentOffset),B=()=>R(t.state.tr.insertText(v,C,S));t.someProp("handleTextInput",D=>D(t,C,S,v,B))||t.dispatch(B())}}else t.dispatch(R())}function bc(t,e,n){return Math.max(n.anchor,n.head)>e.content.size?null:cs(t,e.resolve(n.anchor),e.resolve(n.head))}function qm(t,e){let n=t.firstChild.marks,r=e.firstChild.marks,o=n,i=r,s,l,a;for(let u=0;uu.mark(l.addToSet(u.marks));else if(o.length==0&&i.length==1)l=i[0],s="remove",a=u=>u.mark(l.removeFromSet(u.marks));else return null;let c=[];for(let u=0;un||Vi(s,!0,!1)0&&(e||t.indexAfter(r)==t.node(r).childCount);)r--,o++,e=!1;if(n){let i=t.node(r).maybeChild(t.indexAfter(r));for(;i&&!i.isLeaf;)i=i.firstChild,o++}return o}function Ym(t,e,n,r,o){let i=t.findDiffStart(e,n);if(i==null)return null;let{a:s,b:l}=t.findDiffEnd(e,n+t.size,n+e.size);if(o=="end"){let a=Math.max(0,i-Math.min(s,l));r-=s+a-i}if(s=s?i-r:0;i-=a,i&&i=l?i-r:0;i-=a,i&&i=56320&&e<=57343&&n>=55296&&n<=56319}var Jn=class{constructor(e,n){this._root=null,this.focused=!1,this.trackWrites=null,this.mounted=!1,this.markCursor=null,this.cursorWrapper=null,this.lastSelectedViewDesc=void 0,this.input=new es,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=n,this.state=n.state,this.directPlugins=n.plugins||[],this.directPlugins.forEach(Mc),this.dispatch=this.dispatch.bind(this),this.dom=e&&e.mount||document.createElement("div"),e&&(e.appendChild?e.appendChild(this.dom):typeof e=="function"?e(this.dom):e.mount&&(this.mounted=!0)),this.editable=kc(this),Sc(this),this.nodeViews=Cc(this),this.docView=ec(this.state.doc,wc(this),$i(this),this.dom,this),this.domObserver=new ss(this,(r,o,i,s)=>Jm(this,r,o,i,s)),this.domObserver.start(),xm(this),this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let e=this._props;this._props={};for(let n in e)this._props[n]=e[n];this._props.state=this.state}return this._props}update(e){e.handleDOMEvents!=this._props.handleDOMEvents&&ts(this);let n=this._props;this._props=e,e.plugins&&(e.plugins.forEach(Mc),this.directPlugins=e.plugins),this.updateStateInner(e.state,n)}setProps(e){let n={};for(let r in this._props)n[r]=this._props[r];n.state=this.state;for(let r in e)n[r]=e[r];this.update(n)}updateState(e){this.updateStateInner(e,this._props)}updateStateInner(e,n){var r;let o=this.state,i=!1,s=!1;e.storedMarks&&this.composing&&(Gc(this),s=!0),this.state=e;let l=o.plugins!=e.plugins||this._props.plugins!=n.plugins;if(l||this._props.plugins!=n.plugins||this._props.nodeViews!=n.nodeViews){let h=Cc(this);Qm(h,this.nodeViews)&&(this.nodeViews=h,i=!0)}(l||n.handleDOMEvents!=this._props.handleDOMEvents)&&ts(this),this.editable=kc(this),Sc(this);let a=$i(this),c=wc(this),u=o.plugins!=e.plugins&&!o.doc.eq(e.doc)?"reset":e.scrollToSelection>o.scrollToSelection?"to selection":"preserve",d=i||!this.docView.matchesNode(e.doc,c,a);(d||!e.selection.eq(o.selection))&&(s=!0);let f=u=="preserve"&&s&&this.dom.style.overflowAnchor==null&&zp(this);if(s){this.domObserver.stop();let h=d&&(ke||ge)&&!this.composing&&!o.selection.empty&&!e.selection.empty&&Xm(o.selection,e.selection);if(d){let p=ge?this.trackWrites=this.domSelectionRange().focusNode:null;this.composing&&(this.input.compositionNode=Rm(this)),(i||!this.docView.update(e.doc,c,a,this))&&(this.docView.updateOuterDeco(c),this.docView.destroy(),this.docView=ec(e.doc,c,a,this.dom,this)),p&&!this.trackWrites&&(h=!0)}h||!(this.input.mouseDown&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&om(this))?ft(this,h):(zc(this,e.selection),this.domObserver.setCurSelection()),this.domObserver.start()}this.updatePluginViews(o),!((r=this.dragging)===null||r===void 0)&&r.node&&!o.doc.eq(e.doc)&&this.updateDraggedNode(this.dragging,o),u=="reset"?this.dom.scrollTop=0:u=="to selection"?this.scrollToSelection():f&&Hp(f)}scrollToSelection(){let e=this.domSelectionRange().focusNode;if(!(!e||!this.dom.contains(e.nodeType==1?e:e.parentNode))){if(!this.someProp("handleScrollToSelection",n=>n(this)))if(this.state.selection instanceof O){let n=this.docView.domAfterPos(this.state.selection.from);n.nodeType==1&&qa(this,n.getBoundingClientRect(),e)}else qa(this,this.coordsAtPos(this.state.selection.head,1),e)}}destroyPluginViews(){let e;for(;e=this.pluginViews.pop();)e.destroy&&e.destroy()}updatePluginViews(e){if(!e||e.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let n=0;n0&&this.state.doc.nodeAt(i))==r.node&&(o=i)}this.dragging=new $r(e.slice,e.move,o<0?void 0:O.create(this.state.doc,o))}someProp(e,n){let r=this._props&&this._props[e],o;if(r!=null&&(o=n?n(r):r))return o;for(let s=0;sn.ownerDocument.getSelection()),this._root=n}return e||document}updateRoot(){this._root=null}posAtCoords(e){return jp(this,e)}coordsAtPos(e,n=1){return Rc(this,e,n)}domAtPos(e,n=0){return this.docView.domFromPos(e,n)}nodeDOM(e){let n=this.docView.descAt(e);return n?n.nodeDOM:null}posAtDOM(e,n,r=-1){let o=this.docView.posFromDOM(e,n,r);if(o==null)throw new RangeError("DOM position not inside the editor");return o}endOfTextblock(e,n){return Gp(this,n||this.state,e)}pasteHTML(e,n){return Kn(this,"",e,!1,n||new ClipboardEvent("paste"))}pasteText(e,n){return Kn(this,e,null,!0,n||new ClipboardEvent("paste"))}serializeForClipboard(e){return us(this,e)}destroy(){this.docView&&(wm(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],$i(this),this),this.dom.textContent=""):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null,Tp())}get isDestroyed(){return this.docView==null}dispatchEvent(e){return km(this,e)}domSelectionRange(){let e=this.domSelection();return e?xe&&this.root.nodeType===11&&Rp(this.dom.ownerDocument)==this.dom&&Wm(this,e)||e:{focusNode:null,focusOffset:0,anchorNode:null,anchorOffset:0}}domSelection(){return this.root.getSelection()}};Jn.prototype.dispatch=function(t){let e=this._props.dispatchTransaction;e?e.call(this,t):this.updateState(this.state.apply(t))};function wc(t){let e=Object.create(null);return e.class="ProseMirror",e.contenteditable=String(t.editable),t.someProp("attributes",n=>{if(typeof n=="function"&&(n=n(t.state)),n)for(let r in n)r=="class"?e.class+=" "+n[r]:r=="style"?e.style=(e.style?e.style+";":"")+n[r]:!e[r]&&r!="contenteditable"&&r!="nodeName"&&(e[r]=String(n[r]))}),e.translate||(e.translate="no"),[Y.node(0,t.state.doc.content.size,e)]}function Sc(t){if(t.markCursor){let e=document.createElement("img");e.className="ProseMirror-separator",e.setAttribute("mark-placeholder","true"),e.setAttribute("alt",""),t.cursorWrapper={dom:e,deco:Y.widget(t.state.selection.from,e,{raw:!0,marks:t.markCursor})}}else t.cursorWrapper=null}function kc(t){return!t.someProp("editable",e=>e(t.state)===!1)}function Xm(t,e){let n=Math.min(t.$anchor.sharedDepth(t.head),e.$anchor.sharedDepth(e.head));return t.$anchor.start(n)!=e.$anchor.start(n)}function Cc(t){let e=Object.create(null);function n(r){for(let o in r)Object.prototype.hasOwnProperty.call(e,o)||(e[o]=r[o])}return t.someProp("nodeViews",n),t.someProp("markViews",n),e}function Qm(t,e){let n=0,r=0;for(let o in t){if(t[o]!=e[o])return!0;n++}for(let o in e)r++;return n!=r}function Mc(t){if(t.spec.state||t.spec.filterTransaction||t.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}var ht={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Jr={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Zm=typeof navigator<"u"&&/Mac/.test(navigator.platform),eg=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(re=0;re<10;re++)ht[48+re]=ht[96+re]=String(re);var re;for(re=1;re<=24;re++)ht[re+111]="F"+re;var re;for(re=65;re<=90;re++)ht[re]=String.fromCharCode(re+32),Jr[re]=String.fromCharCode(re);var re;for(Ur in ht)Jr.hasOwnProperty(Ur)||(Jr[Ur]=ht[Ur]);var Ur;function tu(t){var e=Zm&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||eg&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",n=!e&&t.key||(t.shiftKey?Jr:ht)[t.keyCode]||t.key||"Unidentified";return n=="Esc"&&(n="Escape"),n=="Del"&&(n="Delete"),n=="Left"&&(n="ArrowLeft"),n=="Up"&&(n="ArrowUp"),n=="Right"&&(n="ArrowRight"),n=="Down"&&(n="ArrowDown"),n}var tg=typeof navigator<"u"&&/Mac|iP(hone|[oa]d)/.test(navigator.platform),ng=typeof navigator<"u"&&/Win/.test(navigator.platform);function rg(t){let e=t.split(/-(?!$)/),n=e[e.length-1];n=="Space"&&(n=" ");let r,o,i,s;for(let l=0;lt.selection.empty?!1:(e&&e(t.tr.deleteSelection().scrollIntoView()),!0);function ou(t,e){let{$cursor:n}=t.selection;return!n||(e?!e.endOfTextblock("backward",t):n.parentOffset>0)?null:n}var ys=(t,e,n)=>{let r=ou(t,n);if(!r)return!1;let o=xs(r);if(!o){let s=r.blockRange(),l=s&&at(s);return l==null?!1:(e&&e(t.tr.lift(s,l).scrollIntoView()),!0)}let i=o.nodeBefore;if(hu(t,o,e,-1))return!0;if(r.parent.content.size==0&&(xn(i,"end")||O.isSelectable(i)))for(let s=r.depth;;s--){let l=Fn(t.doc,r.before(s),r.after(s),M.empty);if(l&&l.slice.size1)break}return i.isAtom&&o.depth==r.depth-1?(e&&e(t.tr.delete(o.pos-i.nodeSize,o.pos).scrollIntoView()),!0):!1},iu=(t,e,n)=>{let r=ou(t,n);if(!r)return!1;let o=xs(r);return o?lu(t,o,e):!1},su=(t,e,n)=>{let r=au(t,n);if(!r)return!1;let o=ks(r);return o?lu(t,o,e):!1};function lu(t,e,n){let r=e.nodeBefore,o=r,i=e.pos-1;for(;!o.isTextblock;i--){if(o.type.spec.isolating)return!1;let u=o.lastChild;if(!u)return!1;o=u}let s=e.nodeAfter,l=s,a=e.pos+1;for(;!l.isTextblock;a++){if(l.type.spec.isolating)return!1;let u=l.firstChild;if(!u)return!1;l=u}let c=Fn(t.doc,i,a,M.empty);if(!c||c.from!=i||c instanceof pe&&c.slice.size>=a-i)return!1;if(n){let u=t.tr.step(c);u.setSelection(A.create(u.doc,i)),n(u.scrollIntoView())}return!0}function xn(t,e,n=!1){for(let r=t;r;r=e=="start"?r.firstChild:r.lastChild){if(r.isTextblock)return!0;if(n&&r.childCount!=1)return!1}return!1}var bs=(t,e,n)=>{let{$head:r,empty:o}=t.selection,i=r;if(!o)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock("backward",t):r.parentOffset>0)return!1;i=xs(r)}let s=i&&i.nodeBefore;return!s||!O.isSelectable(s)?!1:(e&&e(t.tr.setSelection(O.create(t.doc,i.pos-s.nodeSize)).scrollIntoView()),!0)};function xs(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){if(t.index(e)>0)return t.doc.resolve(t.before(e+1));if(t.node(e).type.spec.isolating)break}return null}function au(t,e){let{$cursor:n}=t.selection;return!n||(e?!e.endOfTextblock("forward",t):n.parentOffset{let r=au(t,n);if(!r)return!1;let o=ks(r);if(!o)return!1;let i=o.nodeAfter;if(hu(t,o,e,1))return!0;if(r.parent.content.size==0&&(xn(i,"start")||O.isSelectable(i))){let s=Fn(t.doc,r.before(),r.after(),M.empty);if(s&&s.slice.size{let{$head:r,empty:o}=t.selection,i=r;if(!o)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock("forward",t):r.parentOffset=0;e--){let n=t.node(e);if(t.index(e)+1{let n=t.selection,r=n instanceof O,o;if(r){if(n.node.isTextblock||!Ne(t.doc,n.from))return!1;o=n.from}else if(o=Ft(t.doc,n.from,-1),o==null)return!1;if(e){let i=t.tr.join(o);r&&i.setSelection(O.create(i.doc,o-t.doc.resolve(o).nodeBefore.nodeSize)),e(i.scrollIntoView())}return!0},uu=(t,e)=>{let n=t.selection,r;if(n instanceof O){if(n.node.isTextblock||!Ne(t.doc,n.to))return!1;r=n.to}else if(r=Ft(t.doc,n.to,1),r==null)return!1;return e&&e(t.tr.join(r).scrollIntoView()),!0},du=(t,e)=>{let{$from:n,$to:r}=t.selection,o=n.blockRange(r),i=o&&at(o);return i==null?!1:(e&&e(t.tr.lift(o,i).scrollIntoView()),!0)},Cs=(t,e)=>{let{$head:n,$anchor:r}=t.selection;return!n.parent.type.spec.code||!n.sameParent(r)?!1:(e&&e(t.tr.insertText(` +`).scrollIntoView()),!0)};function Ms(t){for(let e=0;e{let{$head:n,$anchor:r}=t.selection;if(!n.parent.type.spec.code||!n.sameParent(r))return!1;let o=n.node(-1),i=n.indexAfter(-1),s=Ms(o.contentMatchAt(i));if(!s||!o.canReplaceWith(i,i,s))return!1;if(e){let l=n.after(),a=t.tr.replaceWith(l,l,s.createAndFill());a.setSelection(E.near(a.doc.resolve(l),1)),e(a.scrollIntoView())}return!0},Ts=(t,e)=>{let n=t.selection,{$from:r,$to:o}=n;if(n instanceof be||r.parent.inlineContent||o.parent.inlineContent)return!1;let i=Ms(o.parent.contentMatchAt(o.indexAfter()));if(!i||!i.isTextblock)return!1;if(e){let s=(!r.parentOffset&&o.index(){let{$cursor:n}=t.selection;if(!n||n.parent.content.size)return!1;if(n.depth>1&&n.after()!=n.end(-1)){let i=n.before();if(Ae(t.doc,i))return e&&e(t.tr.split(i).scrollIntoView()),!0}let r=n.blockRange(),o=r&&at(r);return o==null?!1:(e&&e(t.tr.lift(r,o).scrollIntoView()),!0)};function ig(t){return(e,n)=>{let{$from:r,$to:o}=e.selection;if(e.selection instanceof O&&e.selection.node.isBlock)return!r.parentOffset||!Ae(e.doc,r.pos)?!1:(n&&n(e.tr.split(r.pos).scrollIntoView()),!0);if(!r.depth)return!1;let i=[],s,l,a=!1,c=!1;for(let h=r.depth;;h--)if(r.node(h).isBlock){a=r.end(h)==r.pos+(r.depth-h),c=r.start(h)==r.pos-(r.depth-h),l=Ms(r.node(h-1).contentMatchAt(r.indexAfter(h-1)));let m=t&&t(o.parent,a,r);i.unshift(m||(a&&l?{type:l}:null)),s=h;break}else{if(h==1)return!1;i.unshift(null)}let u=e.tr;(e.selection instanceof A||e.selection instanceof be)&&u.deleteSelection();let d=u.mapping.map(r.pos),f=Ae(u.doc,d,i.length,i);if(f||(i[0]=l?{type:l}:null,f=Ae(u.doc,d,i.length,i)),!f)return!1;if(u.split(d,i.length,i),!a&&c&&r.node(s).type!=l){let h=u.mapping.map(r.before(s)),p=u.doc.resolve(h);l&&r.node(s-1).canReplaceWith(p.index(),p.index()+1,l)&&u.setNodeMarkup(u.mapping.map(r.before(s)),l)}return n&&n(u.scrollIntoView()),!0}}var sg=ig();var fu=(t,e)=>{let{$from:n,to:r}=t.selection,o,i=n.sharedDepth(r);return i==0?!1:(o=n.before(i),e&&e(t.tr.setSelection(O.create(t.doc,o))),!0)},lg=(t,e)=>(e&&e(t.tr.setSelection(new be(t.doc))),!0);function ag(t,e,n){let r=e.nodeBefore,o=e.nodeAfter,i=e.index();return!r||!o||!r.type.compatibleContent(o.type)?!1:!r.content.size&&e.parent.canReplace(i-1,i)?(n&&n(t.tr.delete(e.pos-r.nodeSize,e.pos).scrollIntoView()),!0):!e.parent.canReplace(i,i+1)||!(o.isTextblock||Ne(t.doc,e.pos))?!1:(n&&n(t.tr.join(e.pos).scrollIntoView()),!0)}function hu(t,e,n,r){let o=e.nodeBefore,i=e.nodeAfter,s,l,a=o.type.spec.isolating||i.type.spec.isolating;if(!a&&ag(t,e,n))return!0;let c=!a&&e.parent.canReplace(e.index(),e.index()+1);if(c&&(s=(l=o.contentMatchAt(o.childCount)).findWrapping(i.type))&&l.matchType(s[0]||i.type).validEnd){if(n){let h=e.pos+i.nodeSize,p=w.empty;for(let y=s.length-1;y>=0;y--)p=w.from(s[y].create(null,p));p=w.from(o.copy(p));let m=t.tr.step(new ne(e.pos-1,h,e.pos,h,new M(p,1,0),s.length,!0)),g=m.doc.resolve(h+2*s.length);g.nodeAfter&&g.nodeAfter.type==o.type&&Ne(m.doc,g.pos)&&m.join(g.pos),n(m.scrollIntoView())}return!0}let u=i.type.spec.isolating||r>0&&a?null:E.findFrom(e,1),d=u&&u.$from.blockRange(u.$to),f=d&&at(d);if(f!=null&&f>=e.depth)return n&&n(t.tr.lift(d,f).scrollIntoView()),!0;if(c&&xn(i,"start",!0)&&xn(o,"end")){let h=o,p=[];for(;p.push(h),!h.isTextblock;)h=h.lastChild;let m=i,g=1;for(;!m.isTextblock;m=m.firstChild)g++;if(h.canReplace(h.childCount,h.childCount,m.content)){if(n){let y=w.empty;for(let x=p.length-1;x>=0;x--)y=w.from(p[x].copy(y));let b=t.tr.step(new ne(e.pos-p.length,e.pos+i.nodeSize,e.pos+g,e.pos+i.nodeSize-g,new M(y,p.length,0),0,!0));n(b.scrollIntoView())}return!0}}return!1}function pu(t){return function(e,n){let r=e.selection,o=t<0?r.$from:r.$to,i=o.depth;for(;o.node(i).isInline;){if(!i)return!1;i--}return o.node(i).isTextblock?(n&&n(e.tr.setSelection(A.create(e.doc,t<0?o.start(i):o.end(i)))),!0):!1}}var Es=pu(-1),Os=pu(1);function mu(t,e=null){return function(n,r){let{$from:o,$to:i}=n.selection,s=o.blockRange(i),l=s&&cn(s,t,e);return l?(r&&r(n.tr.wrap(s,l).scrollIntoView()),!0):!1}}function Ns(t,e=null){return function(n,r){let o=!1;for(let i=0;i{if(o)return!1;if(!(!a.isTextblock||a.hasMarkup(t,e)))if(a.type==t)o=!0;else{let u=n.doc.resolve(c),d=u.index();o=u.parent.canReplaceWith(d,d+1,t)}})}if(!o)return!1;if(r){let i=n.tr;for(let s=0;s=2&&e.$from.node(e.depth-1).type.compatibleContent(n)&&e.startIndex==0){if(e.$from.index(e.depth-1)==0)return!1;let a=s.resolve(e.start-2);i=new zt(a,a,e.depth),e.endIndex=0;u--)i=w.from(n[u].type.create(n[u].attrs,i));t.step(new ne(e.start-(r?2:0),e.end,e.start,e.end,new M(i,0,0),n.length,!0));let s=0;for(let u=0;us.childCount>0&&s.firstChild.type==t);return i?n?r.node(i.depth-1).type==t?fg(e,n,t,i):hg(e,n,i):!0:!1}}function fg(t,e,n,r){let o=t.tr,i=r.end,s=r.$to.end(r.depth);im;p--)h-=o.child(p).nodeSize,r.delete(h-1,h+1);let i=r.doc.resolve(n.start),s=i.nodeAfter;if(r.mapping.map(n.end)!=n.start+i.nodeAfter.nodeSize)return!1;let l=n.startIndex==0,a=n.endIndex==o.childCount,c=i.node(-1),u=i.index(-1);if(!c.canReplace(u+(l?0:1),u+1,s.content.append(a?w.empty:w.from(o))))return!1;let d=i.pos,f=d+s.nodeSize;return r.step(new ne(d-(l?1:0),f+(a?1:0),d+1,f-1,new M((l?w.empty:w.from(o.copy(w.empty))).append(a?w.empty:w.from(o.copy(w.empty))),l?0:1,a?0:1),l?0:1)),e(r.scrollIntoView()),!0}function bu(t){return function(e,n){let{$from:r,$to:o}=e.selection,i=r.blockRange(o,c=>c.childCount>0&&c.firstChild.type==t);if(!i)return!1;let s=i.startIndex;if(s==0)return!1;let l=i.parent,a=l.child(s-1);if(a.type!=t)return!1;if(n){let c=a.lastChild&&a.lastChild.type==l.type,u=w.from(c?t.create():null),d=new M(w.from(t.create(null,w.from(l.type.create(null,u)))),c?3:1,0),f=i.start,h=i.end;n(e.tr.step(new ne(f-(c?3:1),h,f,h,d,1,!0)).scrollIntoView())}return!0}}var pg=Object.defineProperty,Tu=(t,e)=>{for(var n in e)pg(t,n,{get:e[n],enumerable:!0})};function no(t){let{state:e,transaction:n}=t,{selection:r}=n,{doc:o}=n,{storedMarks:i}=n;return{...e,apply:e.apply.bind(e),applyTransaction:e.applyTransaction.bind(e),plugins:e.plugins,schema:e.schema,reconfigure:e.reconfigure.bind(e),toJSON:e.toJSON.bind(e),get storedMarks(){return i},get selection(){return r},get doc(){return o},get tr(){return r=n.selection,o=n.doc,i=n.storedMarks,n}}}var ro=class{constructor(t){this.editor=t.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=t.state}get hasCustomState(){return!!this.customState}get state(){return this.customState||this.editor.state}get commands(){let{rawCommands:t,editor:e,state:n}=this,{view:r}=e,{tr:o}=n,i=this.buildProps(o);return Object.fromEntries(Object.entries(t).map(([s,l])=>[s,(...c)=>{let u=l(...c)(i);return!o.getMeta("preventDispatch")&&!this.hasCustomState&&r.dispatch(o),u}]))}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(t,e=!0){let{rawCommands:n,editor:r,state:o}=this,{view:i}=r,s=[],l=!!t,a=t||o.tr,c=()=>(!l&&e&&!a.getMeta("preventDispatch")&&!this.hasCustomState&&i.dispatch(a),s.every(d=>d===!0)),u={...Object.fromEntries(Object.entries(n).map(([d,f])=>[d,(...p)=>{let m=this.buildProps(a,e),g=f(...p)(m);return s.push(g),u}])),run:c};return u}createCan(t){let{rawCommands:e,state:n}=this,r=!1,o=t||n.tr,i=this.buildProps(o,r);return{...Object.fromEntries(Object.entries(e).map(([l,a])=>[l,(...c)=>a(...c)({...i,dispatch:void 0})])),chain:()=>this.createChain(o,r)}}buildProps(t,e=!0){let{rawCommands:n,editor:r,state:o}=this,{view:i}=r,s={tr:t,editor:r,view:i,state:no({state:o,transaction:t}),dispatch:e?()=>{}:void 0,chain:()=>this.createChain(t,e),can:()=>this.createCan(t),get commands(){return Object.fromEntries(Object.entries(n).map(([l,a])=>[l,(...c)=>a(...c)(s)]))}};return s}},mg=class{constructor(){this.callbacks={}}on(t,e){return this.callbacks[t]||(this.callbacks[t]=[]),this.callbacks[t].push(e),this}emit(t,...e){let n=this.callbacks[t];return n&&n.forEach(r=>r.apply(this,e)),this}off(t,e){let n=this.callbacks[t];return n&&(e?this.callbacks[t]=n.filter(r=>r!==e):delete this.callbacks[t]),this}once(t,e){let n=(...r)=>{this.off(t,n),e.apply(this,r)};return this.on(t,n)}removeAllListeners(){this.callbacks={}}};function zs(t,e){let n=new kt(t);return e.forEach(r=>{r.steps.forEach(o=>{n.step(o)})}),n}var Au=t=>{let e=t.childNodes;for(let n=e.length-1;n>=0;n-=1){let r=e[n];r.nodeType===3&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?t.removeChild(r):r.nodeType===1&&Au(r)}return t};function Gr(t){if(typeof window>"u")throw new Error("[tiptap error]: there is no window object available, so this function cannot be used");let e=`${t}`,n=new window.DOMParser().parseFromString(e,"text/html").body;return Au(n)}function Xn(t,e,n){if(t instanceof le||t instanceof w)return t;n={slice:!0,parseOptions:{},...n};let r=typeof t=="object"&&t!==null,o=typeof t=="string";if(r)try{if(Array.isArray(t)&&t.length>0)return w.fromArray(t.map(l=>e.nodeFromJSON(l)));let s=e.nodeFromJSON(t);return n.errorOnInvalidContent&&s.check(),s}catch(i){if(n.errorOnInvalidContent)throw new Error("[tiptap error]: Invalid JSON content",{cause:i});return console.warn("[tiptap warn]: Invalid content.","Passed value:",t,"Error:",i),Xn("",e,n)}if(o){if(n.errorOnInvalidContent){let s=!1,l="",a=new sn({topNode:e.spec.topNode,marks:e.spec.marks,nodes:e.spec.nodes.append({__tiptap__private__unknown__catch__all__node:{content:"inline*",group:"block",parseDOM:[{tag:"*",getAttrs:c=>(s=!0,l=typeof c=="string"?c:c.outerHTML,null)}]}})});if(n.slice?Ue.fromSchema(a).parseSlice(Gr(t),n.parseOptions):Ue.fromSchema(a).parse(Gr(t),n.parseOptions),n.errorOnInvalidContent&&s)throw new Error("[tiptap error]: Invalid HTML content",{cause:new Error(`Invalid element found: ${l}`)})}let i=Ue.fromSchema(e);return n.slice?i.parseSlice(Gr(t),n.parseOptions).content:i.parse(Gr(t),n.parseOptions)}return Xn("",e,n)}function Ls(t,e,n={},r={}){return Xn(t,e,{slice:!1,parseOptions:n,errorOnInvalidContent:r.errorOnInvalidContent})}function Zn(t){for(let e=0;e{e(r)&&n.push({node:r,pos:o})}),n}function Eu(t,e,n){let r=[];return t.nodesBetween(e.from,e.to,(o,i)=>{n(o)&&r.push({node:o,pos:i})}),r}function Hs(t,e){for(let n=t.depth;n>0;n-=1){let r=t.node(n);if(e(r))return{pos:n>0?t.before(n):0,start:t.start(n),depth:n,node:r}}}function Ye(t){return e=>Hs(e.$from,t)}function I(t,e,n){return t.config[e]===void 0&&t.parent?I(t.parent,e,n):typeof t.config[e]=="function"?t.config[e].bind({...n,parent:t.parent?I(t.parent,e,n):null}):t.config[e]}function Fs(t){return t.map(e=>{let n={name:e.name,options:e.options,storage:e.storage},r=I(e,"addExtensions",n);return r?[e,...Fs(r())]:e}).flat(10)}function $s(t,e){let n=it.fromSchema(e).serializeFragment(t),o=document.implementation.createHTMLDocument().createElement("div");return o.appendChild(n),o.innerHTML}function Ou(t){return typeof t=="function"}function W(t,e=void 0,...n){return Ou(t)?e?t.bind(e)(...n):t(...n):t}function gg(t={}){return Object.keys(t).length===0&&t.constructor===Object}function Qn(t){let e=t.filter(o=>o.type==="extension"),n=t.filter(o=>o.type==="node"),r=t.filter(o=>o.type==="mark");return{baseExtensions:e,nodeExtensions:n,markExtensions:r}}function Nu(t){let e=[],{nodeExtensions:n,markExtensions:r}=Qn(t),o=[...n,...r],i={default:null,validate:void 0,rendered:!0,renderHTML:null,parseHTML:null,keepOnSplit:!0,isRequired:!1};return t.forEach(s=>{let l={name:s.name,options:s.options,storage:s.storage,extensions:o},a=I(s,"addGlobalAttributes",l);if(!a)return;a().forEach(u=>{u.types.forEach(d=>{Object.entries(u.attributes).forEach(([f,h])=>{e.push({type:d,name:f,attribute:{...i,...h}})})})})}),o.forEach(s=>{let l={name:s.name,options:s.options,storage:s.storage},a=I(s,"addAttributes",l);if(!a)return;let c=a();Object.entries(c).forEach(([u,d])=>{let f={...i,...d};typeof f?.default=="function"&&(f.default=f.default()),f?.isRequired&&f?.default===void 0&&delete f.default,e.push({type:s.name,name:u,attribute:f})})}),e}function T(...t){return t.filter(e=>!!e).reduce((e,n)=>{let r={...e};return Object.entries(n).forEach(([o,i])=>{if(!r[o]){r[o]=i;return}if(o==="class"){let l=i?String(i).split(" "):[],a=r[o]?r[o].split(" "):[],c=l.filter(u=>!a.includes(u));r[o]=[...a,...c].join(" ")}else if(o==="style"){let l=i?i.split(";").map(u=>u.trim()).filter(Boolean):[],a=r[o]?r[o].split(";").map(u=>u.trim()).filter(Boolean):[],c=new Map;a.forEach(u=>{let[d,f]=u.split(":").map(h=>h.trim());c.set(d,f)}),l.forEach(u=>{let[d,f]=u.split(":").map(h=>h.trim());c.set(d,f)}),r[o]=Array.from(c.entries()).map(([u,d])=>`${u}: ${d}`).join("; ")}else r[o]=i}),r},{})}function eo(t,e){return e.filter(n=>n.type===t.type.name).filter(n=>n.attribute.rendered).map(n=>n.attribute.renderHTML?n.attribute.renderHTML(t.attrs)||{}:{[n.name]:t.attrs[n.name]}).reduce((n,r)=>T(n,r),{})}function yg(t){return typeof t!="string"?t:t.match(/^[+-]?(?:\d*\.)?\d+$/)?Number(t):t==="true"?!0:t==="false"?!1:t}function xu(t,e){return"style"in t?t:{...t,getAttrs:n=>{let r=t.getAttrs?t.getAttrs(n):t.attrs;if(r===!1)return!1;let o=e.reduce((i,s)=>{let l=s.attribute.parseHTML?s.attribute.parseHTML(n):yg(n.getAttribute(s.name));return l==null?i:{...i,[s.name]:l}},{});return{...r,...o}}}}function wu(t){return Object.fromEntries(Object.entries(t).filter(([e,n])=>e==="attrs"&&gg(n)?!1:n!=null))}function bg(t,e){var n;let r=Nu(t),{nodeExtensions:o,markExtensions:i}=Qn(t),s=(n=o.find(c=>I(c,"topNode")))==null?void 0:n.name,l=Object.fromEntries(o.map(c=>{let u=r.filter(y=>y.type===c.name),d={name:c.name,options:c.options,storage:c.storage,editor:e},f=t.reduce((y,b)=>{let x=I(b,"extendNodeSchema",d);return{...y,...x?x(c):{}}},{}),h=wu({...f,content:W(I(c,"content",d)),marks:W(I(c,"marks",d)),group:W(I(c,"group",d)),inline:W(I(c,"inline",d)),atom:W(I(c,"atom",d)),selectable:W(I(c,"selectable",d)),draggable:W(I(c,"draggable",d)),code:W(I(c,"code",d)),whitespace:W(I(c,"whitespace",d)),linebreakReplacement:W(I(c,"linebreakReplacement",d)),defining:W(I(c,"defining",d)),isolating:W(I(c,"isolating",d)),attrs:Object.fromEntries(u.map(y=>{var b,x;return[y.name,{default:(b=y?.attribute)==null?void 0:b.default,validate:(x=y?.attribute)==null?void 0:x.validate}]}))}),p=W(I(c,"parseHTML",d));p&&(h.parseDOM=p.map(y=>xu(y,u)));let m=I(c,"renderHTML",d);m&&(h.toDOM=y=>m({node:y,HTMLAttributes:eo(y,u)}));let g=I(c,"renderText",d);return g&&(h.toText=g),[c.name,h]})),a=Object.fromEntries(i.map(c=>{let u=r.filter(g=>g.type===c.name),d={name:c.name,options:c.options,storage:c.storage,editor:e},f=t.reduce((g,y)=>{let b=I(y,"extendMarkSchema",d);return{...g,...b?b(c):{}}},{}),h=wu({...f,inclusive:W(I(c,"inclusive",d)),excludes:W(I(c,"excludes",d)),group:W(I(c,"group",d)),spanning:W(I(c,"spanning",d)),code:W(I(c,"code",d)),attrs:Object.fromEntries(u.map(g=>{var y,b;return[g.name,{default:(y=g?.attribute)==null?void 0:y.default,validate:(b=g?.attribute)==null?void 0:b.validate}]}))}),p=W(I(c,"parseHTML",d));p&&(h.parseDOM=p.map(g=>xu(g,u)));let m=I(c,"renderHTML",d);return m&&(h.toDOM=g=>m({mark:g,HTMLAttributes:eo(g,u)})),[c.name,h]}));return new sn({topNode:s,nodes:l,marks:a})}function xg(t){let e=t.filter((n,r)=>t.indexOf(n)!==r);return Array.from(new Set(e))}function Vs(t){return t.sort((n,r)=>{let o=I(n,"priority")||100,i=I(r,"priority")||100;return o>i?-1:or.name));return n.length&&console.warn(`[tiptap warn]: Duplicate extension names found: [${n.map(r=>`'${r}'`).join(", ")}]. This can lead to issues.`),e}function Du(t,e,n){let{from:r,to:o}=e,{blockSeparator:i=` + +`,textSerializers:s={}}=n||{},l="";return t.nodesBetween(r,o,(a,c,u,d)=>{var f;a.isBlock&&c>r&&(l+=i);let h=s?.[a.type.name];if(h)return u&&(l+=h({node:a,pos:c,parent:u,index:d,range:e})),!1;a.isText&&(l+=(f=a?.text)==null?void 0:f.slice(Math.max(r,c)-c,o-c))}),l}function wg(t,e){let n={from:0,to:t.content.size};return Du(t,n,e)}function Pu(t){return Object.fromEntries(Object.entries(t.nodes).filter(([,e])=>e.spec.toText).map(([e,n])=>[e,n.spec.toText]))}function mt(t,e){if(typeof t=="string"){if(!e.marks[t])throw Error(`There is no mark type named '${t}'. Maybe you forgot to add the extension?`);return e.marks[t]}return t}function Iu(t,e){let n=mt(e,t.schema),{from:r,to:o,empty:i}=t.selection,s=[];i?(t.storedMarks&&s.push(...t.storedMarks),s.push(...t.selection.$head.marks())):t.doc.nodesBetween(r,o,a=>{s.push(...a.marks)});let l=s.find(a=>a.type.name===n.name);return l?{...l.attrs}:{}}function Q(t,e){if(typeof t=="string"){if(!e.nodes[t])throw Error(`There is no node type named '${t}'. Maybe you forgot to add the extension?`);return e.nodes[t]}return t}function Sg(t,e){let n=Q(e,t.schema),{from:r,to:o}=t.selection,i=[];t.doc.nodesBetween(r,o,l=>{i.push(l)});let s=i.reverse().find(l=>l.type.name===n.name);return s?{...s.attrs}:{}}function oo(t,e){return e.nodes[t]?"node":e.marks[t]?"mark":null}function Ws(t,e){let n=oo(typeof e=="string"?e:e.name,t.schema);return n==="node"?Sg(t,e):n==="mark"?Iu(t,e):{}}function kg(t,e=JSON.stringify){let n={};return t.filter(r=>{let o=e(r);return Object.prototype.hasOwnProperty.call(n,o)?!1:n[o]=!0})}function Cg(t){let e=kg(t);return e.length===1?e:e.filter((n,r)=>!e.filter((i,s)=>s!==r).some(i=>n.oldRange.from>=i.oldRange.from&&n.oldRange.to<=i.oldRange.to&&n.newRange.from>=i.newRange.from&&n.newRange.to<=i.newRange.to))}function _s(t){let{mapping:e,steps:n}=t,r=[];return e.maps.forEach((o,i)=>{let s=[];if(o.ranges.length)o.forEach((l,a)=>{s.push({from:l,to:a})});else{let{from:l,to:a}=n[i];if(l===void 0||a===void 0)return;s.push({from:l,to:a})}s.forEach(({from:l,to:a})=>{let c=e.slice(i).map(l,-1),u=e.slice(i).map(a),d=e.invert().map(c,-1),f=e.invert().map(u);r.push({oldRange:{from:d,to:f},newRange:{from:c,to:u}})})}),Cg(r)}function js(t){return Object.prototype.toString.call(t)==="[object RegExp]"}function to(t,e,n={strict:!0}){let r=Object.keys(e);return r.length?r.every(o=>n.strict?e[o]===t[o]:js(e[o])?e[o].test(t[o]):e[o]===t[o]):!0}function Lu(t,e,n={}){return t.find(r=>r.type===e&&to(Object.fromEntries(Object.keys(n).map(o=>[o,r.attrs[o]])),n))}function Su(t,e,n={}){return!!Lu(t,e,n)}function Ks(t,e,n){var r;if(!t||!e)return;let o=t.parent.childAfter(t.parentOffset);if((!o.node||!o.node.marks.some(u=>u.type===e))&&(o=t.parent.childBefore(t.parentOffset)),!o.node||!o.node.marks.some(u=>u.type===e)||(n=n||((r=o.node.marks[0])==null?void 0:r.attrs),!Lu([...o.node.marks],e,n)))return;let s=o.index,l=t.start()+o.offset,a=s+1,c=l+o.node.nodeSize;for(;s>0&&Su([...t.parent.child(s-1).marks],e,n);)s-=1,l-=t.parent.child(s).nodeSize;for(;a{let i=n.resolve(t),s=Ks(i,o.type);s&&r.push({mark:o,...s})}):n.nodesBetween(t,e,(o,i)=>{!o||o?.nodeSize===void 0||r.push(...o.marks.map(s=>({from:i,to:i+o.nodeSize,mark:s})))}),r}var Bu=(t,e,n,r=20)=>{let o=t.doc.resolve(n),i=r,s=null;for(;i>0&&s===null;){let l=o.node(i);l?.type.name===e?s=l:i-=1}return[s,i]};function Ds(t,e){return e.nodes[t]||e.marks[t]||null}function Zr(t,e,n){return Object.fromEntries(Object.entries(n).filter(([r])=>{let o=t.find(i=>i.type===e&&i.name===r);return o?o.attribute.keepOnSplit:!1}))}var Mg=(t,e=500)=>{let n="",r=t.parentOffset;return t.parent.nodesBetween(Math.max(0,r-e),r,(o,i,s,l)=>{var a,c;let u=((c=(a=o.type.spec).toText)==null?void 0:c.call(a,{node:o,pos:i,parent:s,index:l}))||o.textContent||"%leaf%";n+=o.isAtom&&!o.isText?u:u.slice(0,Math.max(0,r-i))}),n};function Bs(t,e,n={}){let{empty:r,ranges:o}=t.selection,i=e?mt(e,t.schema):null;if(r)return!!(t.storedMarks||t.selection.$from.marks()).filter(d=>i?i.name===d.type.name:!0).find(d=>to(d.attrs,n,{strict:!1}));let s=0,l=[];if(o.forEach(({$from:d,$to:f})=>{let h=d.pos,p=f.pos;t.doc.nodesBetween(h,p,(m,g)=>{if(!m.isText&&!m.marks.length)return;let y=Math.max(h,g),b=Math.min(p,g+m.nodeSize),x=b-y;s+=x,l.push(...m.marks.map(C=>({mark:C,from:y,to:b})))})}),s===0)return!1;let a=l.filter(d=>i?i.name===d.mark.type.name:!0).filter(d=>to(d.mark.attrs,n,{strict:!1})).reduce((d,f)=>d+f.to-f.from,0),c=l.filter(d=>i?d.mark.type!==i&&d.mark.type.excludes(i):!0).reduce((d,f)=>d+f.to-f.from,0);return(a>0?a+c:a)>=s}function Ge(t,e,n={}){let{from:r,to:o,empty:i}=t.selection,s=e?Q(e,t.schema):null,l=[];t.doc.nodesBetween(r,o,(d,f)=>{if(d.isText)return;let h=Math.max(r,f),p=Math.min(o,f+d.nodeSize);l.push({node:d,from:h,to:p})});let a=o-r,c=l.filter(d=>s?s.name===d.node.type.name:!0).filter(d=>to(d.node.attrs,n,{strict:!1}));return i?!!c.length:c.reduce((d,f)=>d+f.to-f.from,0)>=a}function Us(t,e,n={}){if(!e)return Ge(t,null,n)||Bs(t,null,n);let r=oo(e,t.schema);return r==="node"?Ge(t,e,n):r==="mark"?Bs(t,e,n):!1}var zu=(t,e)=>{let{$from:n,$to:r,$anchor:o}=t.selection;if(e){let i=Ye(l=>l.type.name===e)(t.selection);if(!i)return!1;let s=t.doc.resolve(i.pos+1);return o.pos+1===s.end()}return!(r.parentOffset{let{$from:e,$to:n}=t.selection;return!(e.parentOffset>0||e.pos!==n.pos)};function ku(t,e){return Array.isArray(e)?e.some(n=>(typeof n=="string"?n:n.name)===t.name):e}function Cu(t,e){let{nodeExtensions:n}=Qn(e),r=n.find(s=>s.name===t);if(!r)return!1;let o={name:r.name,options:r.options,storage:r.storage},i=W(I(r,"group",o));return typeof i!="string"?!1:i.split(" ").includes("list")}function er(t,{checkChildren:e=!0,ignoreWhitespace:n=!1}={}){var r;if(n){if(t.type.name==="hardBreak")return!0;if(t.isText)return/^\s*$/m.test((r=t.text)!=null?r:"")}if(t.isText)return!t.text;if(t.isAtom||t.isLeaf)return!1;if(t.content.childCount===0)return!0;if(e){let o=!0;return t.content.forEach(i=>{o!==!1&&(er(i,{ignoreWhitespace:n,checkChildren:e})||(o=!1))}),o}return!1}function so(t){return t instanceof O}function lo(t){return t instanceof A}function pt(t=0,e=0,n=0){return Math.min(Math.max(t,e),n)}function Fu(t,e,n){let o=t.state.doc.content.size,i=pt(e,0,o),s=pt(n,0,o),l=t.coordsAtPos(i),a=t.coordsAtPos(s,-1),c=Math.min(l.top,a.top),u=Math.max(l.bottom,a.bottom),d=Math.min(l.left,a.left),f=Math.max(l.right,a.right),h=f-d,p=u-c,y={top:c,bottom:u,left:d,right:f,width:h,height:p,x:d,y:c};return{...y,toJSON:()=>y}}function $u(t,e=null){if(!e)return null;let n=E.atStart(t),r=E.atEnd(t);if(e==="start"||e===!0)return n;if(e==="end")return r;let o=n.from,i=r.to;return e==="all"?A.create(t,pt(0,o,i),pt(t.content.size,o,i)):A.create(t,pt(e,o,i),pt(e,o,i))}function vg(t,e,n){let r=t.steps.length-1;if(r{s===0&&(s=u)}),t.setSelection(E.near(t.doc.resolve(s),n))}var ao=class{constructor(t){this.find=t.find,this.handler=t.handler}},Tg=(t,e)=>{if(js(e))return e.exec(t);let n=e(t);if(!n)return null;let r=[n.text];return r.index=n.index,r.input=t,r.data=n.data,n.replaceWith&&(n.text.includes(n.replaceWith)||console.warn('[tiptap warn]: "inputRuleMatch.replaceWith" must be part of "inputRuleMatch.text".'),r.push(n.replaceWith)),r};function Yr(t){var e;let{editor:n,from:r,to:o,text:i,rules:s,plugin:l}=t,{view:a}=n;if(a.composing)return!1;let c=a.state.doc.resolve(r);if(c.parent.type.spec.code||(e=c.nodeBefore||c.nodeAfter)!=null&&e.marks.find(f=>f.type.spec.code))return!1;let u=!1,d=Mg(c)+i;return s.forEach(f=>{if(u)return;let h=Tg(d,f.find);if(!h)return;let p=a.state.tr,m=no({state:a.state,transaction:p}),g={from:r-(h[0].length-i.length),to:o},{commands:y,chain:b,can:x}=new ro({editor:n,state:m});f.handler({state:m,range:g,match:h,commands:y,chain:b,can:x})===null||!p.steps.length||(p.setMeta(l,{transform:p,from:r,to:o,text:i}),a.dispatch(p),u=!0)}),u}function Ag(t){let{editor:e,rules:n}=t,r=new N({state:{init(){return null},apply(o,i,s){let l=o.getMeta(r);if(l)return l;let a=o.getMeta("applyInputRules");return!!a&&setTimeout(()=>{let{text:u}=a;typeof u=="string"?u=u:u=$s(w.from(u),s.schema);let{from:d}=a,f=d+u.length;Yr({editor:e,from:d,to:f,text:u,rules:n,plugin:r})}),o.selectionSet||o.docChanged?null:i}},props:{handleTextInput(o,i,s,l){return Yr({editor:e,from:i,to:s,text:l,rules:n,plugin:r})},handleDOMEvents:{compositionend:o=>(setTimeout(()=>{let{$cursor:i}=o.state.selection;i&&Yr({editor:e,from:i.pos,to:i.pos,text:"",rules:n,plugin:r})}),!1)},handleKeyDown(o,i){if(i.key!=="Enter")return!1;let{$cursor:s}=o.state.selection;return s?Yr({editor:e,from:s.pos,to:s.pos,text:` +`,rules:n,plugin:r}):!1}},isInputRules:!0});return r}function Eg(t){return Object.prototype.toString.call(t).slice(8,-1)}function Xr(t){return Eg(t)!=="Object"?!1:t.constructor===Object&&Object.getPrototypeOf(t)===Object.prototype}function Vu(t,e){let n={...t};return Xr(t)&&Xr(e)&&Object.keys(e).forEach(r=>{Xr(e[r])&&Xr(t[r])?n[r]=Vu(t[r],e[r]):n[r]=e[r]}),n}var Js=class{constructor(t={}){this.type="extendable",this.parent=null,this.child=null,this.name="",this.config={name:this.name},this.config={...this.config,...t},this.name=this.config.name}get options(){return{...W(I(this,"addOptions",{name:this.name}))||{}}}get storage(){return{...W(I(this,"addStorage",{name:this.name,options:this.options}))||{}}}configure(t={}){let e=this.extend({...this.config,addOptions:()=>Vu(this.options,t)});return e.name=this.name,e.parent=this.parent,e}extend(t={}){let e=new this.constructor({...this.config,...t});return e.parent=this,this.child=e,e.name="name"in t?t.name:e.parent.name,e}},te=class Wu extends Js{constructor(){super(...arguments),this.type="mark"}static create(e={}){let n=typeof e=="function"?e():e;return new Wu(n)}static handleExit({editor:e,mark:n}){let{tr:r}=e.state,o=e.state.selection.$from;if(o.pos===o.end()){let s=o.marks();if(!!!s.find(c=>c?.type.name===n.name))return!1;let a=s.find(c=>c?.type.name===n.name);return a&&r.removeStoredMark(a),r.insertText(" ",o.pos),e.view.dispatch(r),!0}return!1}configure(e){return super.configure(e)}extend(e){let n=typeof e=="function"?e():e;return super.extend(n)}};function Og(t){return typeof t=="number"}var Ng=class{constructor(t){this.find=t.find,this.handler=t.handler}},Rg=(t,e,n)=>{if(js(e))return[...t.matchAll(e)];let r=e(t,n);return r?r.map(o=>{let i=[o.text];return i.index=o.index,i.input=t,i.data=o.data,o.replaceWith&&(o.text.includes(o.replaceWith)||console.warn('[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".'),i.push(o.replaceWith)),i}):[]};function Dg(t){let{editor:e,state:n,from:r,to:o,rule:i,pasteEvent:s,dropEvent:l}=t,{commands:a,chain:c,can:u}=new ro({editor:e,state:n}),d=[];return n.doc.nodesBetween(r,o,(h,p)=>{if(!h.isTextblock||h.type.spec.code)return;let m=Math.max(r,p),g=Math.min(o,p+h.content.size),y=h.textBetween(m-p,g-p,void 0,"\uFFFC");Rg(y,i.find,s).forEach(x=>{if(x.index===void 0)return;let C=m+x.index+1,S=C+x[0].length,R={from:n.tr.mapping.map(C),to:n.tr.mapping.map(S)},P=i.handler({state:n,range:R,match:x,commands:a,chain:c,can:u,pasteEvent:s,dropEvent:l});d.push(P)})}),d.every(h=>h!==null)}var Qr=null,Pg=t=>{var e;let n=new ClipboardEvent("paste",{clipboardData:new DataTransfer});return(e=n.clipboardData)==null||e.setData("text/html",t),n};function Ig(t){let{editor:e,rules:n}=t,r=null,o=!1,i=!1,s=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,l;try{l=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{l=null}let a=({state:u,from:d,to:f,rule:h,pasteEvt:p})=>{let m=u.tr,g=no({state:u,transaction:m});if(!(!Dg({editor:e,state:g,from:Math.max(d-1,0),to:f.b-1,rule:h,pasteEvent:p,dropEvent:l})||!m.steps.length)){try{l=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{l=null}return s=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,m}};return n.map(u=>new N({view(d){let f=p=>{var m;r=(m=d.dom.parentElement)!=null&&m.contains(p.target)?d.dom.parentElement:null,r&&(Qr=e)},h=()=>{Qr&&(Qr=null)};return window.addEventListener("dragstart",f),window.addEventListener("dragend",h),{destroy(){window.removeEventListener("dragstart",f),window.removeEventListener("dragend",h)}}},props:{handleDOMEvents:{drop:(d,f)=>{if(i=r===d.dom.parentElement,l=f,!i){let h=Qr;h?.isEditable&&setTimeout(()=>{let p=h.state.selection;p&&h.commands.deleteRange({from:p.from,to:p.to})},10)}return!1},paste:(d,f)=>{var h;let p=(h=f.clipboardData)==null?void 0:h.getData("text/html");return s=f,o=!!p?.includes("data-pm-slice"),!1}}},appendTransaction:(d,f,h)=>{let p=d[0],m=p.getMeta("uiEvent")==="paste"&&!o,g=p.getMeta("uiEvent")==="drop"&&!i,y=p.getMeta("applyPasteRules"),b=!!y;if(!m&&!g&&!b)return;if(b){let{text:S}=y;typeof S=="string"?S=S:S=$s(w.from(S),h.schema);let{from:R}=y,P=R+S.length,v=Pg(S);return a({rule:u,state:h,from:R,to:{b:P},pasteEvt:v})}let x=f.doc.content.findDiffStart(h.doc.content),C=f.doc.content.findDiffEnd(h.doc.content);if(!(!Og(x)||!C||x===C.b))return a({rule:u,state:h,from:x,to:C,pasteEvt:s})}}))}var co=class{constructor(t,e){this.splittableMarks=[],this.editor=e,this.extensions=Ru(t),this.schema=bg(this.extensions,e),this.setupExtensions()}get commands(){return this.extensions.reduce((t,e)=>{let n={name:e.name,options:e.options,storage:this.editor.extensionStorage[e.name],editor:this.editor,type:Ds(e.name,this.schema)},r=I(e,"addCommands",n);return r?{...t,...r()}:t},{})}get plugins(){let{editor:t}=this,e=Vs([...this.extensions].reverse()),n=[],r=[],o=e.map(i=>{let s={name:i.name,options:i.options,storage:this.editor.extensionStorage[i.name],editor:t,type:Ds(i.name,this.schema)},l=[],a=I(i,"addKeyboardShortcuts",s),c={};if(i.type==="mark"&&I(i,"exitable",s)&&(c.ArrowRight=()=>te.handleExit({editor:t,mark:i})),a){let p=Object.fromEntries(Object.entries(a()).map(([m,g])=>[m,()=>g({editor:t})]));c={...c,...p}}let u=nu(c);l.push(u);let d=I(i,"addInputRules",s);ku(i,t.options.enableInputRules)&&d&&n.push(...d());let f=I(i,"addPasteRules",s);ku(i,t.options.enablePasteRules)&&f&&r.push(...f());let h=I(i,"addProseMirrorPlugins",s);if(h){let p=h();l.push(...p)}return l}).flat();return[Ag({editor:t,rules:n}),...Ig({editor:t,rules:r}),...o]}get attributes(){return Nu(this.extensions)}get nodeViews(){let{editor:t}=this,{nodeExtensions:e}=Qn(this.extensions);return Object.fromEntries(e.filter(n=>!!I(n,"addNodeView")).map(n=>{let r=this.attributes.filter(l=>l.type===n.name),o={name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:t,type:Q(n.name,this.schema)},i=I(n,"addNodeView",o);if(!i)return[];let s=(l,a,c,u,d)=>{let f=eo(l,r);return i()({node:l,view:a,getPos:c,decorations:u,innerDecorations:d,editor:t,extension:n,HTMLAttributes:f})};return[n.name,s]}))}get markViews(){let{editor:t}=this,{markExtensions:e}=Qn(this.extensions);return Object.fromEntries(e.filter(n=>!!I(n,"addMarkView")).map(n=>{let r=this.attributes.filter(l=>l.type===n.name),o={name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:t,type:mt(n.name,this.schema)},i=I(n,"addMarkView",o);if(!i)return[];let s=(l,a,c)=>{let u=eo(l,r);return i()({mark:l,view:a,inline:c,editor:t,extension:n,HTMLAttributes:u,updateAttributes:d=>{Jy(l,t,d)}})};return[n.name,s]}))}setupExtensions(){let t=this.extensions;this.editor.extensionStorage=Object.fromEntries(t.map(e=>[e.name,e.storage])),t.forEach(e=>{var n;let r={name:e.name,options:e.options,storage:this.editor.extensionStorage[e.name],editor:this.editor,type:Ds(e.name,this.schema)};e.type==="mark"&&((n=W(I(e,"keepOnSplit",r)))==null||n)&&this.splittableMarks.push(e.name);let o=I(e,"onBeforeCreate",r),i=I(e,"onCreate",r),s=I(e,"onUpdate",r),l=I(e,"onSelectionUpdate",r),a=I(e,"onTransaction",r),c=I(e,"onFocus",r),u=I(e,"onBlur",r),d=I(e,"onDestroy",r);o&&this.editor.on("beforeCreate",o),i&&this.editor.on("create",i),s&&this.editor.on("update",s),l&&this.editor.on("selectionUpdate",l),a&&this.editor.on("transaction",a),c&&this.editor.on("focus",c),u&&this.editor.on("blur",u),d&&this.editor.on("destroy",d)})}};co.resolve=Ru;co.sort=Vs;co.flatten=Fs;var Lg={};Tu(Lg,{ClipboardTextSerializer:()=>ju,Commands:()=>Ju,Delete:()=>qu,Drop:()=>Gu,Editable:()=>Yu,FocusEvents:()=>Qu,Keymap:()=>Zu,Paste:()=>ed,Tabindex:()=>td,focusEventsPluginKey:()=>Xu});var $=class _u extends Js{constructor(){super(...arguments),this.type="extension"}static create(e={}){let n=typeof e=="function"?e():e;return new _u(n)}configure(e){return super.configure(e)}extend(e){let n=typeof e=="function"?e():e;return super.extend(n)}},ju=$.create({name:"clipboardTextSerializer",addOptions(){return{blockSeparator:void 0}},addProseMirrorPlugins(){return[new N({key:new L("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{let{editor:t}=this,{state:e,schema:n}=t,{doc:r,selection:o}=e,{ranges:i}=o,s=Math.min(...i.map(u=>u.$from.pos)),l=Math.max(...i.map(u=>u.$to.pos)),a=Pu(n);return Du(r,{from:s,to:l},{...this.options.blockSeparator!==void 0?{blockSeparator:this.options.blockSeparator}:{},textSerializers:a})}}})]}}),Ku={};Tu(Ku,{blur:()=>Bg,clearContent:()=>zg,clearNodes:()=>Hg,command:()=>Fg,createParagraphNear:()=>$g,cut:()=>Vg,deleteCurrentNode:()=>Wg,deleteNode:()=>_g,deleteRange:()=>jg,deleteSelection:()=>Kg,enter:()=>Ug,exitCode:()=>Jg,extendMarkRange:()=>qg,first:()=>Gg,focus:()=>Xg,forEach:()=>Qg,insertContent:()=>Zg,insertContentAt:()=>ty,joinBackward:()=>oy,joinDown:()=>ry,joinForward:()=>iy,joinItemBackward:()=>sy,joinItemForward:()=>ly,joinTextblockBackward:()=>ay,joinTextblockForward:()=>cy,joinUp:()=>ny,keyboardShortcut:()=>dy,lift:()=>fy,liftEmptyBlock:()=>hy,liftListItem:()=>py,newlineInCode:()=>my,resetAttributes:()=>gy,scrollIntoView:()=>yy,selectAll:()=>by,selectNodeBackward:()=>xy,selectNodeForward:()=>wy,selectParentNode:()=>Sy,selectTextblockEnd:()=>ky,selectTextblockStart:()=>Cy,setContent:()=>My,setMark:()=>Ty,setMeta:()=>Ay,setNode:()=>Ey,setNodeSelection:()=>Oy,setTextSelection:()=>Ny,sinkListItem:()=>Ry,splitBlock:()=>Dy,splitListItem:()=>Py,toggleList:()=>Iy,toggleMark:()=>Ly,toggleNode:()=>By,toggleWrap:()=>zy,undoInputRule:()=>Hy,unsetAllMarks:()=>Fy,unsetMark:()=>$y,updateAttributes:()=>Vy,wrapIn:()=>Wy,wrapInList:()=>_y});var Bg=()=>({editor:t,view:e})=>(requestAnimationFrame(()=>{var n;t.isDestroyed||(e.dom.blur(),(n=window?.getSelection())==null||n.removeAllRanges())}),!0),zg=(t=!0)=>({commands:e})=>e.setContent("",{emitUpdate:t}),Hg=()=>({state:t,tr:e,dispatch:n})=>{let{selection:r}=e,{ranges:o}=r;return n&&o.forEach(({$from:i,$to:s})=>{t.doc.nodesBetween(i.pos,s.pos,(l,a)=>{if(l.type.isText)return;let{doc:c,mapping:u}=e,d=c.resolve(u.map(a)),f=c.resolve(u.map(a+l.nodeSize)),h=d.blockRange(f);if(!h)return;let p=at(h);if(l.type.isTextblock){let{defaultType:m}=d.parent.contentMatchAt(d.index());e.setNodeMarkup(h.start,m)}(p||p===0)&&e.lift(h,p)})}),!0},Fg=t=>e=>t(e),$g=()=>({state:t,dispatch:e})=>Ts(t,e),Vg=(t,e)=>({editor:n,tr:r})=>{let{state:o}=n,i=o.doc.slice(t.from,t.to);r.deleteRange(t.from,t.to);let s=r.mapping.map(e);return r.insert(s,i.content),r.setSelection(new A(r.doc.resolve(Math.max(s-1,0)))),!0},Wg=()=>({tr:t,dispatch:e})=>{let{selection:n}=t,r=n.$anchor.node();if(r.content.size>0)return!1;let o=t.selection.$anchor;for(let i=o.depth;i>0;i-=1)if(o.node(i).type===r.type){if(e){let l=o.before(i),a=o.after(i);t.delete(l,a).scrollIntoView()}return!0}return!1},_g=t=>({tr:e,state:n,dispatch:r})=>{let o=Q(t,n.schema),i=e.selection.$anchor;for(let s=i.depth;s>0;s-=1)if(i.node(s).type===o){if(r){let a=i.before(s),c=i.after(s);e.delete(a,c).scrollIntoView()}return!0}return!1},jg=t=>({tr:e,dispatch:n})=>{let{from:r,to:o}=t;return n&&e.delete(r,o),!0},Kg=()=>({state:t,dispatch:e})=>qr(t,e),Ug=()=>({commands:t})=>t.keyboardShortcut("Enter"),Jg=()=>({state:t,dispatch:e})=>vs(t,e),qg=(t,e={})=>({tr:n,state:r,dispatch:o})=>{let i=mt(t,r.schema),{doc:s,selection:l}=n,{$from:a,from:c,to:u}=l;if(o){let d=Ks(a,i,e);if(d&&d.from<=c&&d.to>=u){let f=A.create(s,d.from,d.to);n.setSelection(f)}}return!0},Gg=t=>e=>{let n=typeof t=="function"?t(e):t;for(let r=0;r({editor:n,view:r,tr:o,dispatch:i})=>{e={scrollIntoView:!0,...e};let s=()=>{(qs()||Yg())&&r.dom.focus(),requestAnimationFrame(()=>{n.isDestroyed||(r.focus(),e?.scrollIntoView&&n.commands.scrollIntoView())})};if(r.hasFocus()&&t===null||t===!1)return!0;if(i&&t===null&&!lo(n.state.selection))return s(),!0;let l=$u(o.doc,t)||n.state.selection,a=n.state.selection.eq(l);return i&&(a||o.setSelection(l),a&&o.storedMarks&&o.setStoredMarks(o.storedMarks),s()),!0},Qg=(t,e)=>n=>t.every((r,o)=>e(r,{...n,index:o})),Zg=(t,e)=>({tr:n,commands:r})=>r.insertContentAt({from:n.selection.from,to:n.selection.to},t,e),ey=t=>!("type"in t),ty=(t,e,n)=>({tr:r,dispatch:o,editor:i})=>{var s;if(o){n={parseOptions:i.options.parseOptions,updateSelection:!0,applyInputRules:!1,applyPasteRules:!1,...n};let l,{selection:a}=i.state,c=y=>{i.emit("contentError",{editor:i,error:y,disableCollaboration:()=>{"collaboration"in i.storage&&typeof i.storage.collaboration=="object"&&i.storage.collaboration&&(i.storage.collaboration.isDisabled=!0)}})},u={preserveWhitespace:"full",...n.parseOptions};if(!n.errorOnInvalidContent&&!i.options.enableContentCheck&&i.options.emitContentError)try{Xn(e,i.schema,{parseOptions:u,errorOnInvalidContent:!0})}catch(y){c(y)}try{l=Xn(e,i.schema,{parseOptions:u,errorOnInvalidContent:(s=n.errorOnInvalidContent)!=null?s:i.options.enableContentCheck})}catch(y){return c(y),!1}let{from:d,to:f}=typeof t=="number"?{from:t,to:t}:{from:t.from,to:t.to},h=!0,p=!0;if((ey(l)?l:[l]).forEach(y=>{y.check(),h=h?y.isText&&y.marks.length===0:!1,p=p?y.isBlock:!1}),d===f&&p){let{parent:y}=r.doc.resolve(d);y.isTextblock&&!y.type.spec.code&&!y.childCount&&(d-=1,f+=1)}let g;if(h){if(Array.isArray(e))g=e.map(y=>y.text||"").join("");else if(e instanceof w){let y="";e.forEach(b=>{b.text&&(y+=b.text)}),g=y}else typeof e=="object"&&e&&e.text?g=e.text:g=e;r.insertText(g,d,f)}else{g=l;let y=a.$from.parentOffset===0,b=a.$from.node().isText||a.$from.node().isTextblock,x=a.$from.node().content.size>0;y&&b&&x&&(d=Math.max(0,d-1)),r.replaceWith(d,f,g)}n.updateSelection&&vg(r,r.steps.length-1,-1),n.applyInputRules&&r.setMeta("applyInputRules",{from:d,text:g}),n.applyPasteRules&&r.setMeta("applyPasteRules",{from:d,text:g})}return!0},ny=()=>({state:t,dispatch:e})=>cu(t,e),ry=()=>({state:t,dispatch:e})=>uu(t,e),oy=()=>({state:t,dispatch:e})=>ys(t,e),iy=()=>({state:t,dispatch:e})=>ws(t,e),sy=()=>({state:t,dispatch:e,tr:n})=>{try{let r=Ft(t.doc,t.selection.$from.pos,-1);return r==null?!1:(n.join(r,2),e&&e(n),!0)}catch{return!1}},ly=()=>({state:t,dispatch:e,tr:n})=>{try{let r=Ft(t.doc,t.selection.$from.pos,1);return r==null?!1:(n.join(r,2),e&&e(n),!0)}catch{return!1}},ay=()=>({state:t,dispatch:e})=>iu(t,e),cy=()=>({state:t,dispatch:e})=>su(t,e);function Uu(){return typeof navigator<"u"?/Mac/.test(navigator.platform):!1}function uy(t){let e=t.split(/-(?!$)/),n=e[e.length-1];n==="Space"&&(n=" ");let r,o,i,s;for(let l=0;l({editor:e,view:n,tr:r,dispatch:o})=>{let i=uy(t).split(/-(?!$)/),s=i.find(c=>!["Alt","Ctrl","Meta","Shift"].includes(c)),l=new KeyboardEvent("keydown",{key:s==="Space"?" ":s,altKey:i.includes("Alt"),ctrlKey:i.includes("Ctrl"),metaKey:i.includes("Meta"),shiftKey:i.includes("Shift"),bubbles:!0,cancelable:!0}),a=e.captureTransaction(()=>{n.someProp("handleKeyDown",c=>c(n,l))});return a?.steps.forEach(c=>{let u=c.map(r.mapping);u&&o&&r.maybeStep(u)}),!0},fy=(t,e={})=>({state:n,dispatch:r})=>{let o=Q(t,n.schema);return Ge(n,o,e)?du(n,r):!1},hy=()=>({state:t,dispatch:e})=>As(t,e),py=t=>({state:e,dispatch:n})=>{let r=Q(t,e.schema);return yu(r)(e,n)},my=()=>({state:t,dispatch:e})=>Cs(t,e);function Mu(t,e){let n=typeof e=="string"?[e]:e;return Object.keys(t).reduce((r,o)=>(n.includes(o)||(r[o]=t[o]),r),{})}var gy=(t,e)=>({tr:n,state:r,dispatch:o})=>{let i=null,s=null,l=oo(typeof t=="string"?t:t.name,r.schema);return l?(l==="node"&&(i=Q(t,r.schema)),l==="mark"&&(s=mt(t,r.schema)),o&&n.selection.ranges.forEach(a=>{r.doc.nodesBetween(a.$from.pos,a.$to.pos,(c,u)=>{i&&i===c.type&&n.setNodeMarkup(u,void 0,Mu(c.attrs,e)),s&&c.marks.length&&c.marks.forEach(d=>{s===d.type&&n.addMark(u,u+c.nodeSize,s.create(Mu(d.attrs,e)))})})}),!0):!1},yy=()=>({tr:t,dispatch:e})=>(e&&t.scrollIntoView(),!0),by=()=>({tr:t,dispatch:e})=>{if(e){let n=new be(t.doc);t.setSelection(n)}return!0},xy=()=>({state:t,dispatch:e})=>bs(t,e),wy=()=>({state:t,dispatch:e})=>Ss(t,e),Sy=()=>({state:t,dispatch:e})=>fu(t,e),ky=()=>({state:t,dispatch:e})=>Os(t,e),Cy=()=>({state:t,dispatch:e})=>Es(t,e),My=(t,{errorOnInvalidContent:e,emitUpdate:n=!0,parseOptions:r={}}={})=>({editor:o,tr:i,dispatch:s,commands:l})=>{let{doc:a}=i;if(r.preserveWhitespace!=="full"){let c=Ls(t,o.schema,r,{errorOnInvalidContent:e??o.options.enableContentCheck});return s&&i.replaceWith(0,a.content.size,c).setMeta("preventUpdate",!n),!0}return s&&i.setMeta("preventUpdate",!n),l.insertContentAt({from:0,to:a.content.size},t,{parseOptions:r,errorOnInvalidContent:e??o.options.enableContentCheck})};function vy(t,e,n){var r;let{selection:o}=e,i=null;if(lo(o)&&(i=o.$cursor),i){let l=(r=t.storedMarks)!=null?r:i.marks();return!!n.isInSet(l)||!l.some(a=>a.type.excludes(n))}let{ranges:s}=o;return s.some(({$from:l,$to:a})=>{let c=l.depth===0?t.doc.inlineContent&&t.doc.type.allowsMarkType(n):!1;return t.doc.nodesBetween(l.pos,a.pos,(u,d,f)=>{if(c)return!1;if(u.isInline){let h=!f||f.type.allowsMarkType(n),p=!!n.isInSet(u.marks)||!u.marks.some(m=>m.type.excludes(n));c=h&&p}return!c}),c})}var Ty=(t,e={})=>({tr:n,state:r,dispatch:o})=>{let{selection:i}=n,{empty:s,ranges:l}=i,a=mt(t,r.schema);if(o)if(s){let c=Iu(r,a);n.addStoredMark(a.create({...c,...e}))}else l.forEach(c=>{let u=c.$from.pos,d=c.$to.pos;r.doc.nodesBetween(u,d,(f,h)=>{let p=Math.max(h,u),m=Math.min(h+f.nodeSize,d);f.marks.find(y=>y.type===a)?f.marks.forEach(y=>{a===y.type&&n.addMark(p,m,a.create({...y.attrs,...e}))}):n.addMark(p,m,a.create(e))})});return vy(r,n,a)},Ay=(t,e)=>({tr:n})=>(n.setMeta(t,e),!0),Ey=(t,e={})=>({state:n,dispatch:r,chain:o})=>{let i=Q(t,n.schema),s;return n.selection.$anchor.sameParent(n.selection.$head)&&(s=n.selection.$anchor.parent.attrs),i.isTextblock?o().command(({commands:l})=>Ns(i,{...s,...e})(n)?!0:l.clearNodes()).command(({state:l})=>Ns(i,{...s,...e})(l,r)).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),!1)},Oy=t=>({tr:e,dispatch:n})=>{if(n){let{doc:r}=e,o=pt(t,0,r.content.size),i=O.create(r,o);e.setSelection(i)}return!0},Ny=t=>({tr:e,dispatch:n})=>{if(n){let{doc:r}=e,{from:o,to:i}=typeof t=="number"?{from:t,to:t}:t,s=A.atStart(r).from,l=A.atEnd(r).to,a=pt(o,s,l),c=pt(i,s,l),u=A.create(r,a,c);e.setSelection(u)}return!0},Ry=t=>({state:e,dispatch:n})=>{let r=Q(t,e.schema);return bu(r)(e,n)};function vu(t,e){let n=t.storedMarks||t.selection.$to.parentOffset&&t.selection.$from.marks();if(n){let r=n.filter(o=>e?.includes(o.type.name));t.tr.ensureMarks(r)}}var Dy=({keepMarks:t=!0}={})=>({tr:e,state:n,dispatch:r,editor:o})=>{let{selection:i,doc:s}=e,{$from:l,$to:a}=i,c=o.extensionManager.attributes,u=Zr(c,l.node().type.name,l.node().attrs);if(i instanceof O&&i.node.isBlock)return!l.parentOffset||!Ae(s,l.pos)?!1:(r&&(t&&vu(n,o.extensionManager.splittableMarks),e.split(l.pos).scrollIntoView()),!0);if(!l.parent.isBlock)return!1;let d=a.parentOffset===a.parent.content.size,f=l.depth===0?void 0:Zn(l.node(-1).contentMatchAt(l.indexAfter(-1))),h=d&&f?[{type:f,attrs:u}]:void 0,p=Ae(e.doc,e.mapping.map(l.pos),1,h);if(!h&&!p&&Ae(e.doc,e.mapping.map(l.pos),1,f?[{type:f}]:void 0)&&(p=!0,h=f?[{type:f,attrs:u}]:void 0),r){if(p&&(i instanceof A&&e.deleteSelection(),e.split(e.mapping.map(l.pos),1,h),f&&!d&&!l.parentOffset&&l.parent.type!==f)){let m=e.mapping.map(l.before()),g=e.doc.resolve(m);l.node(-1).canReplaceWith(g.index(),g.index()+1,f)&&e.setNodeMarkup(e.mapping.map(l.before()),f)}t&&vu(n,o.extensionManager.splittableMarks),e.scrollIntoView()}return p},Py=(t,e={})=>({tr:n,state:r,dispatch:o,editor:i})=>{var s;let l=Q(t,r.schema),{$from:a,$to:c}=r.selection,u=r.selection.node;if(u&&u.isBlock||a.depth<2||!a.sameParent(c))return!1;let d=a.node(-1);if(d.type!==l)return!1;let f=i.extensionManager.attributes;if(a.parent.content.size===0&&a.node(-1).childCount===a.indexAfter(-1)){if(a.depth===2||a.node(-3).type!==l||a.index(-2)!==a.node(-2).childCount-1)return!1;if(o){let y=w.empty,b=a.index(-1)?1:a.index(-2)?2:3;for(let v=a.depth-b;v>=a.depth-3;v-=1)y=w.from(a.node(v).copy(y));let x=a.indexAfter(-1){if(P>-1)return!1;v.isTextblock&&v.content.size===0&&(P=B+1)}),P>-1&&n.setSelection(A.near(n.doc.resolve(P))),n.scrollIntoView()}return!0}let h=c.pos===a.end()?d.contentMatchAt(0).defaultType:null,p={...Zr(f,d.type.name,d.attrs),...e},m={...Zr(f,a.node().type.name,a.node().attrs),...e};n.delete(a.pos,c.pos);let g=h?[{type:l,attrs:p},{type:h,attrs:m}]:[{type:l,attrs:p}];if(!Ae(n.doc,a.pos,2))return!1;if(o){let{selection:y,storedMarks:b}=r,{splittableMarks:x}=i.extensionManager,C=b||y.$to.parentOffset&&y.$from.marks();if(n.split(a.pos,2,g).scrollIntoView(),!C||!o)return!0;let S=C.filter(R=>x.includes(R.type.name));n.ensureMarks(S)}return!0},Ps=(t,e)=>{let n=Ye(s=>s.type===e)(t.selection);if(!n)return!0;let r=t.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(r===void 0)return!0;let o=t.doc.nodeAt(r);return n.node.type===o?.type&&Ne(t.doc,n.pos)&&t.join(n.pos),!0},Is=(t,e)=>{let n=Ye(s=>s.type===e)(t.selection);if(!n)return!0;let r=t.doc.resolve(n.start).after(n.depth);if(r===void 0)return!0;let o=t.doc.nodeAt(r);return n.node.type===o?.type&&Ne(t.doc,r)&&t.join(r),!0},Iy=(t,e,n,r={})=>({editor:o,tr:i,state:s,dispatch:l,chain:a,commands:c,can:u})=>{let{extensions:d,splittableMarks:f}=o.extensionManager,h=Q(t,s.schema),p=Q(e,s.schema),{selection:m,storedMarks:g}=s,{$from:y,$to:b}=m,x=y.blockRange(b),C=g||m.$to.parentOffset&&m.$from.marks();if(!x)return!1;let S=Ye(R=>Cu(R.type.name,d))(m);if(x.depth>=1&&S&&x.depth-S.depth<=1){if(S.node.type===h)return c.liftListItem(p);if(Cu(S.node.type.name,d)&&h.validContent(S.node.content)&&l)return a().command(()=>(i.setNodeMarkup(S.pos,h),!0)).command(()=>Ps(i,h)).command(()=>Is(i,h)).run()}return!n||!C||!l?a().command(()=>u().wrapInList(h,r)?!0:c.clearNodes()).wrapInList(h,r).command(()=>Ps(i,h)).command(()=>Is(i,h)).run():a().command(()=>{let R=u().wrapInList(h,r),P=C.filter(v=>f.includes(v.type.name));return i.ensureMarks(P),R?!0:c.clearNodes()}).wrapInList(h,r).command(()=>Ps(i,h)).command(()=>Is(i,h)).run()},Ly=(t,e={},n={})=>({state:r,commands:o})=>{let{extendEmptyMarkRange:i=!1}=n,s=mt(t,r.schema);return Bs(r,s,e)?o.unsetMark(s,{extendEmptyMarkRange:i}):o.setMark(s,e)},By=(t,e,n={})=>({state:r,commands:o})=>{let i=Q(t,r.schema),s=Q(e,r.schema),l=Ge(r,i,n),a;return r.selection.$anchor.sameParent(r.selection.$head)&&(a=r.selection.$anchor.parent.attrs),l?o.setNode(s,a):o.setNode(i,{...a,...n})},zy=(t,e={})=>({state:n,commands:r})=>{let o=Q(t,n.schema);return Ge(n,o,e)?r.lift(o):r.wrapIn(o,e)},Hy=()=>({state:t,dispatch:e})=>{let n=t.plugins;for(let r=0;r=0;a-=1)s.step(l.steps[a].invert(l.docs[a]));if(i.text){let a=s.doc.resolve(i.from).marks();s.replaceWith(i.from,i.to,t.schema.text(i.text,a))}else s.delete(i.from,i.to)}return!0}}return!1},Fy=()=>({tr:t,dispatch:e})=>{let{selection:n}=t,{empty:r,ranges:o}=n;return r||e&&o.forEach(i=>{t.removeMark(i.$from.pos,i.$to.pos)}),!0},$y=(t,e={})=>({tr:n,state:r,dispatch:o})=>{var i;let{extendEmptyMarkRange:s=!1}=e,{selection:l}=n,a=mt(t,r.schema),{$from:c,empty:u,ranges:d}=l;if(!o)return!0;if(u&&s){let{from:f,to:h}=l,p=(i=c.marks().find(g=>g.type===a))==null?void 0:i.attrs,m=Ks(c,a,p);m&&(f=m.from,h=m.to),n.removeMark(f,h,a)}else d.forEach(f=>{n.removeMark(f.$from.pos,f.$to.pos,a)});return n.removeStoredMark(a),!0},Vy=(t,e={})=>({tr:n,state:r,dispatch:o})=>{let i=null,s=null,l=oo(typeof t=="string"?t:t.name,r.schema);return l?(l==="node"&&(i=Q(t,r.schema)),l==="mark"&&(s=mt(t,r.schema)),o&&n.selection.ranges.forEach(a=>{let c=a.$from.pos,u=a.$to.pos,d,f,h,p;n.selection.empty?r.doc.nodesBetween(c,u,(m,g)=>{i&&i===m.type&&(h=Math.max(g,c),p=Math.min(g+m.nodeSize,u),d=g,f=m)}):r.doc.nodesBetween(c,u,(m,g)=>{g=c&&g<=u&&(i&&i===m.type&&n.setNodeMarkup(g,void 0,{...m.attrs,...e}),s&&m.marks.length&&m.marks.forEach(y=>{if(s===y.type){let b=Math.max(g,c),x=Math.min(g+m.nodeSize,u);n.addMark(b,x,s.create({...y.attrs,...e}))}}))}),f&&(d!==void 0&&n.setNodeMarkup(d,void 0,{...f.attrs,...e}),s&&f.marks.length&&f.marks.forEach(m=>{s===m.type&&n.addMark(h,p,s.create({...m.attrs,...e}))}))}),!0):!1},Wy=(t,e={})=>({state:n,dispatch:r})=>{let o=Q(t,n.schema);return mu(o,e)(n,r)},_y=(t,e={})=>({state:n,dispatch:r})=>{let o=Q(t,n.schema);return gu(o,e)(n,r)},Ju=$.create({name:"commands",addCommands(){return{...Ku}}}),qu=$.create({name:"delete",onUpdate({transaction:t,appendedTransactions:e}){var n,r,o;let i=()=>{var s,l,a,c;if((c=(a=(l=(s=this.editor.options.coreExtensionOptions)==null?void 0:s.delete)==null?void 0:l.filterTransaction)==null?void 0:a.call(l,t))!=null?c:t.getMeta("y-sync$"))return;let u=zs(t.before,[t,...e]);_s(u).forEach(h=>{u.mapping.mapResult(h.oldRange.from).deletedAfter&&u.mapping.mapResult(h.oldRange.to).deletedBefore&&u.before.nodesBetween(h.oldRange.from,h.oldRange.to,(p,m)=>{let g=m+p.nodeSize-2,y=h.oldRange.from<=m&&g<=h.oldRange.to;this.editor.emit("delete",{type:"node",node:p,from:m,to:g,newFrom:u.mapping.map(m),newTo:u.mapping.map(g),deletedRange:h.oldRange,newRange:h.newRange,partial:!y,editor:this.editor,transaction:t,combinedTransform:u})})});let f=u.mapping;u.steps.forEach((h,p)=>{var m,g;if(h instanceof lt){let y=f.slice(p).map(h.from,-1),b=f.slice(p).map(h.to),x=f.invert().map(y,-1),C=f.invert().map(b),S=(m=u.doc.nodeAt(y-1))==null?void 0:m.marks.some(P=>P.eq(h.mark)),R=(g=u.doc.nodeAt(b))==null?void 0:g.marks.some(P=>P.eq(h.mark));this.editor.emit("delete",{type:"mark",mark:h.mark,from:h.from,to:h.to,deletedRange:{from:x,to:C},newRange:{from:y,to:b},partial:!!(R||S),editor:this.editor,transaction:t,combinedTransform:u})}})};(o=(r=(n=this.editor.options.coreExtensionOptions)==null?void 0:n.delete)==null?void 0:r.async)==null||o?setTimeout(i,0):i()}}),Gu=$.create({name:"drop",addProseMirrorPlugins(){return[new N({key:new L("tiptapDrop"),props:{handleDrop:(t,e,n,r)=>{this.editor.emit("drop",{editor:this.editor,event:e,slice:n,moved:r})}}})]}}),Yu=$.create({name:"editable",addProseMirrorPlugins(){return[new N({key:new L("editable"),props:{editable:()=>this.editor.options.editable}})]}}),Xu=new L("focusEvents"),Qu=$.create({name:"focusEvents",addProseMirrorPlugins(){let{editor:t}=this;return[new N({key:Xu,props:{handleDOMEvents:{focus:(e,n)=>{t.isFocused=!0;let r=t.state.tr.setMeta("focus",{event:n}).setMeta("addToHistory",!1);return e.dispatch(r),!1},blur:(e,n)=>{t.isFocused=!1;let r=t.state.tr.setMeta("blur",{event:n}).setMeta("addToHistory",!1);return e.dispatch(r),!1}}}})]}}),Zu=$.create({name:"keymap",addKeyboardShortcuts(){let t=()=>this.editor.commands.first(({commands:s})=>[()=>s.undoInputRule(),()=>s.command(({tr:l})=>{let{selection:a,doc:c}=l,{empty:u,$anchor:d}=a,{pos:f,parent:h}=d,p=d.parent.isTextblock&&f>0?l.doc.resolve(f-1):d,m=p.parent.type.spec.isolating,g=d.pos-d.parentOffset,y=m&&p.parent.childCount===1?g===d.pos:E.atStart(c).from===f;return!u||!h.type.isTextblock||h.textContent.length||!y||y&&d.parent.type.name==="paragraph"?!1:s.clearNodes()}),()=>s.deleteSelection(),()=>s.joinBackward(),()=>s.selectNodeBackward()]),e=()=>this.editor.commands.first(({commands:s})=>[()=>s.deleteSelection(),()=>s.deleteCurrentNode(),()=>s.joinForward(),()=>s.selectNodeForward()]),r={Enter:()=>this.editor.commands.first(({commands:s})=>[()=>s.newlineInCode(),()=>s.createParagraphNear(),()=>s.liftEmptyBlock(),()=>s.splitBlock()]),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:t,"Mod-Backspace":t,"Shift-Backspace":t,Delete:e,"Mod-Delete":e,"Mod-a":()=>this.editor.commands.selectAll()},o={...r},i={...r,"Ctrl-h":t,"Alt-Backspace":t,"Ctrl-d":e,"Ctrl-Alt-Backspace":e,"Alt-Delete":e,"Alt-d":e,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return qs()||Uu()?i:o},addProseMirrorPlugins(){return[new N({key:new L("clearDocument"),appendTransaction:(t,e,n)=>{if(t.some(m=>m.getMeta("composition")))return;let r=t.some(m=>m.docChanged)&&!e.doc.eq(n.doc),o=t.some(m=>m.getMeta("preventClearDocument"));if(!r||o)return;let{empty:i,from:s,to:l}=e.selection,a=E.atStart(e.doc).from,c=E.atEnd(e.doc).to;if(i||!(s===a&&l===c)||!er(n.doc))return;let f=n.tr,h=no({state:n,transaction:f}),{commands:p}=new ro({editor:this.editor,state:h});if(p.clearNodes(),!!f.steps.length)return f}})]}}),ed=$.create({name:"paste",addProseMirrorPlugins(){return[new N({key:new L("tiptapPaste"),props:{handlePaste:(t,e,n)=>{this.editor.emit("paste",{editor:this.editor,event:e,slice:n})}}})]}}),td=$.create({name:"tabindex",addProseMirrorPlugins(){return[new N({key:new L("tabindex"),props:{attributes:()=>this.editor.isEditable?{tabindex:"0"}:{}}})]}}),jy=class wn{constructor(e,n,r=!1,o=null){this.currentNode=null,this.actualDepth=null,this.isBlock=r,this.resolvedPos=e,this.editor=n,this.currentNode=o}get name(){return this.node.type.name}get node(){return this.currentNode||this.resolvedPos.node()}get element(){return this.editor.view.domAtPos(this.pos).node}get depth(){var e;return(e=this.actualDepth)!=null?e:this.resolvedPos.depth}get pos(){return this.resolvedPos.pos}get content(){return this.node.content}set content(e){let n=this.from,r=this.to;if(this.isBlock){if(this.content.size===0){console.error(`You can\u2019t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`);return}n=this.from+1,r=this.to-1}this.editor.commands.insertContentAt({from:n,to:r},e)}get attributes(){return this.node.attrs}get textContent(){return this.node.textContent}get size(){return this.node.nodeSize}get from(){return this.isBlock?this.pos:this.resolvedPos.start(this.resolvedPos.depth)}get range(){return{from:this.from,to:this.to}}get to(){return this.isBlock?this.pos+this.size:this.resolvedPos.end(this.resolvedPos.depth)+(this.node.isText?0:1)}get parent(){if(this.depth===0)return null;let e=this.resolvedPos.start(this.resolvedPos.depth-1),n=this.resolvedPos.doc.resolve(e);return new wn(n,this.editor)}get before(){let e=this.resolvedPos.doc.resolve(this.from-(this.isBlock?1:2));return e.depth!==this.depth&&(e=this.resolvedPos.doc.resolve(this.from-3)),new wn(e,this.editor)}get after(){let e=this.resolvedPos.doc.resolve(this.to+(this.isBlock?2:1));return e.depth!==this.depth&&(e=this.resolvedPos.doc.resolve(this.to+3)),new wn(e,this.editor)}get children(){let e=[];return this.node.content.forEach((n,r)=>{let o=n.isBlock&&!n.isTextblock,i=n.isAtom&&!n.isText,s=this.pos+r+(i?0:1);if(s<0||s>this.resolvedPos.doc.nodeSize-2)return;let l=this.resolvedPos.doc.resolve(s);if(!o&&l.depth<=this.depth)return;let a=new wn(l,this.editor,o,o?n:null);o&&(a.actualDepth=this.depth+1),e.push(new wn(l,this.editor,o,o?n:null))}),e}get firstChild(){return this.children[0]||null}get lastChild(){let e=this.children;return e[e.length-1]||null}closest(e,n={}){let r=null,o=this.parent;for(;o&&!r;){if(o.node.type.name===e)if(Object.keys(n).length>0){let i=o.node.attrs,s=Object.keys(n);for(let l=0;l{r&&o.length>0||(s.node.type.name===e&&i.every(a=>n[a]===s.node.attrs[a])&&o.push(s),!(r&&o.length>0)&&(o=o.concat(s.querySelectorAll(e,n,r))))}),o}setAttribute(e){let{tr:n}=this.editor.state;n.setNodeMarkup(this.from,void 0,{...this.node.attrs,...e}),this.editor.view.dispatch(n)}},Ky=`.ProseMirror { + position: relative; +} + +.ProseMirror { + word-wrap: break-word; + white-space: pre-wrap; + white-space: break-spaces; + -webkit-font-variant-ligatures: none; + font-variant-ligatures: none; + font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */ +} + +.ProseMirror [contenteditable="false"] { + white-space: normal; +} + +.ProseMirror [contenteditable="false"] [contenteditable="true"] { + white-space: pre-wrap; +} + +.ProseMirror pre { + white-space: pre-wrap; +} + +img.ProseMirror-separator { + display: inline !important; + border: none !important; + margin: 0 !important; + width: 0 !important; + height: 0 !important; +} + +.ProseMirror-gapcursor { + display: none; + pointer-events: none; + position: absolute; + margin: 0; +} + +.ProseMirror-gapcursor:after { + content: ""; + display: block; + position: absolute; + top: -2px; + width: 20px; + border-top: 1px solid black; + animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite; +} + +@keyframes ProseMirror-cursor-blink { + to { + visibility: hidden; + } +} + +.ProseMirror-hideselection *::selection { + background: transparent; +} + +.ProseMirror-hideselection *::-moz-selection { + background: transparent; +} + +.ProseMirror-hideselection * { + caret-color: transparent; +} + +.ProseMirror-focused .ProseMirror-gapcursor { + display: block; +}`;function Uy(t,e,n){let r=document.querySelector(`style[data-tiptap-style${n?`-${n}`:""}]`);if(r!==null)return r;let o=document.createElement("style");return e&&o.setAttribute("nonce",e),o.setAttribute(`data-tiptap-style${n?`-${n}`:""}`,""),o.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(o),o}var nd=class extends mg{constructor(t={}){super(),this.css=null,this.editorView=null,this.isFocused=!1,this.isInitialized=!1,this.extensionStorage={},this.instanceId=Math.random().toString(36).slice(2,9),this.options={element:typeof document<"u"?document.createElement("div"):null,content:"",injectCSS:!0,injectNonce:void 0,extensions:[],autofocus:!1,editable:!0,editorProps:{},parseOptions:{},coreExtensionOptions:{},enableInputRules:!0,enablePasteRules:!0,enableCoreExtensions:!0,enableContentCheck:!1,emitContentError:!1,onBeforeCreate:()=>null,onCreate:()=>null,onUpdate:()=>null,onSelectionUpdate:()=>null,onTransaction:()=>null,onFocus:()=>null,onBlur:()=>null,onDestroy:()=>null,onContentError:({error:r})=>{throw r},onPaste:()=>null,onDrop:()=>null,onDelete:()=>null},this.isCapturingTransaction=!1,this.capturedTransaction=null,this.setOptions(t),this.createExtensionManager(),this.createCommandManager(),this.createSchema(),this.on("beforeCreate",this.options.onBeforeCreate),this.emit("beforeCreate",{editor:this}),this.on("contentError",this.options.onContentError),this.on("create",this.options.onCreate),this.on("update",this.options.onUpdate),this.on("selectionUpdate",this.options.onSelectionUpdate),this.on("transaction",this.options.onTransaction),this.on("focus",this.options.onFocus),this.on("blur",this.options.onBlur),this.on("destroy",this.options.onDestroy),this.on("drop",({event:r,slice:o,moved:i})=>this.options.onDrop(r,o,i)),this.on("paste",({event:r,slice:o})=>this.options.onPaste(r,o)),this.on("delete",this.options.onDelete);let e=this.createDoc(),n=$u(e,this.options.autofocus);this.editorState=Pr.create({doc:e,schema:this.schema,selection:n||void 0}),this.options.element&&this.mount(this.options.element)}mount(t){if(typeof document>"u")throw new Error("[tiptap error]: The editor cannot be mounted because there is no 'document' defined in this environment.");this.createView(t),window.setTimeout(()=>{this.isDestroyed||(this.commands.focus(this.options.autofocus),this.emit("create",{editor:this}),this.isInitialized=!0)},0)}unmount(){var t;if(this.editorView){let e=this.editorView.dom;e?.editor&&delete e.editor,this.editorView.destroy()}this.editorView=null,this.isInitialized=!1,(t=this.css)==null||t.remove(),this.css=null}get storage(){return this.extensionStorage}get commands(){return this.commandManager.commands}chain(){return this.commandManager.chain()}can(){return this.commandManager.can()}injectCSS(){this.options.injectCSS&&typeof document<"u"&&(this.css=Uy(Ky,this.options.injectNonce))}setOptions(t={}){this.options={...this.options,...t},!(!this.editorView||!this.state||this.isDestroyed)&&(this.options.editorProps&&this.view.setProps(this.options.editorProps),this.view.updateState(this.state))}setEditable(t,e=!0){this.setOptions({editable:t}),e&&this.emit("update",{editor:this,transaction:this.state.tr,appendedTransactions:[]})}get isEditable(){return this.options.editable&&this.view&&this.view.editable}get view(){return this.editorView?this.editorView:new Proxy({state:this.editorState,updateState:t=>{this.editorState=t},dispatch:t=>{this.editorState=this.state.apply(t)},composing:!1,dragging:null,editable:!0,isDestroyed:!1},{get:(t,e)=>{if(e==="state")return this.editorState;if(e in t)return Reflect.get(t,e);throw new Error(`[tiptap error]: The editor view is not available. Cannot access view['${e}']. The editor may not be mounted yet.`)}})}get state(){return this.editorView&&(this.editorState=this.view.state),this.editorState}registerPlugin(t,e){let n=Ou(e)?e(t,[...this.state.plugins]):[...this.state.plugins,t],r=this.state.reconfigure({plugins:n});return this.view.updateState(r),r}unregisterPlugin(t){if(this.isDestroyed)return;let e=this.state.plugins,n=e;if([].concat(t).forEach(o=>{let i=typeof o=="string"?`${o}$`:o.key;n=n.filter(s=>!s.key.startsWith(i))}),e.length===n.length)return;let r=this.state.reconfigure({plugins:n});return this.view.updateState(r),r}createExtensionManager(){var t,e;let r=[...this.options.enableCoreExtensions?[Yu,ju.configure({blockSeparator:(e=(t=this.options.coreExtensionOptions)==null?void 0:t.clipboardTextSerializer)==null?void 0:e.blockSeparator}),Ju,Qu,Zu,td,Gu,ed,qu].filter(o=>typeof this.options.enableCoreExtensions=="object"?this.options.enableCoreExtensions[o.name]!==!1:!0):[],...this.options.extensions].filter(o=>["extension","node","mark"].includes(o?.type));this.extensionManager=new co(r,this)}createCommandManager(){this.commandManager=new ro({editor:this})}createSchema(){this.schema=this.extensionManager.schema}createDoc(){let t;try{t=Ls(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:this.options.enableContentCheck})}catch(e){if(!(e instanceof Error)||!["[tiptap error]: Invalid JSON content","[tiptap error]: Invalid HTML content"].includes(e.message))throw e;this.emit("contentError",{editor:this,error:e,disableCollaboration:()=>{"collaboration"in this.storage&&typeof this.storage.collaboration=="object"&&this.storage.collaboration&&(this.storage.collaboration.isDisabled=!0),this.options.extensions=this.options.extensions.filter(n=>n.name!=="collaboration"),this.createExtensionManager()}}),t=Ls(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:!1})}return t}createView(t){var e;this.editorView=new Jn(t,{...this.options.editorProps,attributes:{role:"textbox",...(e=this.options.editorProps)==null?void 0:e.attributes},dispatchTransaction:this.dispatchTransaction.bind(this),state:this.editorState});let n=this.state.reconfigure({plugins:this.extensionManager.plugins});this.view.updateState(n),this.createNodeViews(),this.prependClass(),this.injectCSS();let r=this.view.dom;r.editor=this}createNodeViews(){this.view.isDestroyed||this.view.setProps({markViews:this.extensionManager.markViews,nodeViews:this.extensionManager.nodeViews})}prependClass(){this.view.dom.className=`tiptap ${this.view.dom.className}`}captureTransaction(t){this.isCapturingTransaction=!0,t(),this.isCapturingTransaction=!1;let e=this.capturedTransaction;return this.capturedTransaction=null,e}dispatchTransaction(t){if(this.view.isDestroyed)return;if(this.isCapturingTransaction){if(!this.capturedTransaction){this.capturedTransaction=t;return}t.steps.forEach(c=>{var u;return(u=this.capturedTransaction)==null?void 0:u.step(c)});return}let{state:e,transactions:n}=this.state.applyTransaction(t),r=!this.state.selection.eq(e.selection),o=n.includes(t),i=this.state;if(this.emit("beforeTransaction",{editor:this,transaction:t,nextState:e}),!o)return;this.view.updateState(e),this.emit("transaction",{editor:this,transaction:t,appendedTransactions:n.slice(1)}),r&&this.emit("selectionUpdate",{editor:this,transaction:t});let s=n.findLast(c=>c.getMeta("focus")||c.getMeta("blur")),l=s?.getMeta("focus"),a=s?.getMeta("blur");l&&this.emit("focus",{editor:this,event:l.event,transaction:s}),a&&this.emit("blur",{editor:this,event:a.event,transaction:s}),!(t.getMeta("preventUpdate")||!n.some(c=>c.docChanged)||i.doc.eq(e.doc))&&this.emit("update",{editor:this,transaction:t,appendedTransactions:n.slice(1)})}getAttributes(t){return Ws(this.state,t)}isActive(t,e){let n=typeof t=="string"?t:null,r=typeof t=="string"?e:t;return Us(this.state,n,r)}getJSON(){return this.state.doc.toJSON()}getHTML(){return $s(this.state.doc.content,this.schema)}getText(t){let{blockSeparator:e=` + +`,textSerializers:n={}}=t||{};return wg(this.state.doc,{blockSeparator:e,textSerializers:{...Pu(this.schema),...n}})}get isEmpty(){return er(this.state.doc)}destroy(){this.emit("destroy"),this.unmount(),this.removeAllListeners()}get isDestroyed(){var t,e;return(e=(t=this.editorView)==null?void 0:t.isDestroyed)!=null?e:!0}$node(t,e){var n;return((n=this.$doc)==null?void 0:n.querySelector(t,e))||null}$nodes(t,e){var n;return((n=this.$doc)==null?void 0:n.querySelectorAll(t,e))||null}$pos(t){let e=this.state.doc.resolve(t);return new jy(e,this)}get $doc(){return this.$pos(0)}};function Ie(t){return new ao({find:t.find,handler:({state:e,range:n,match:r})=>{let o=W(t.getAttributes,void 0,r);if(o===!1||o===null)return null;let{tr:i}=e,s=r[r.length-1],l=r[0];if(s){let a=l.search(/\S/),c=n.from+l.indexOf(s),u=c+s.length;if(io(n.from,n.to,e.doc).filter(h=>h.mark.type.excluded.find(m=>m===t.type&&m!==h.mark.type)).filter(h=>h.to>c).length)return null;un.from&&i.delete(n.from+a,c);let f=n.from+a+s.length;i.addMark(n.from+a,f,t.type.create(o||{})),i.removeStoredMark(t.type)}}})}function uo(t){return new ao({find:t.find,handler:({state:e,range:n,match:r})=>{let o=W(t.getAttributes,void 0,r)||{},{tr:i}=e,s=n.from,l=n.to,a=t.type.create(o);if(r[1]){let c=r[0].lastIndexOf(r[1]),u=s+c;u>l?u=l:l=u+r[1].length;let d=r[0][r[0].length-1];i.insertText(d,s+r[0].length-1),i.replaceWith(u,l,a)}else if(r[0]){let c=t.type.isInline?s:s-1;i.insert(c,t.type.create(o)).delete(i.mapping.map(s),i.mapping.map(l))}i.scrollIntoView()}})}function tr(t){return new ao({find:t.find,handler:({state:e,range:n,match:r})=>{let o=e.doc.resolve(n.from),i=W(t.getAttributes,void 0,r)||{};if(!o.node(-1).canReplaceWith(o.index(-1),o.indexAfter(-1),t.type))return null;e.tr.delete(n.from,n.to).setBlockType(n.from,n.from,t.type,i)}})}function Xe(t){return new ao({find:t.find,handler:({state:e,range:n,match:r,chain:o})=>{let i=W(t.getAttributes,void 0,r)||{},s=e.tr.delete(n.from,n.to),a=s.doc.resolve(n.from).blockRange(),c=a&&cn(a,t.type,i);if(!c)return null;if(s.wrap(a,c),t.keepMarks&&t.editor){let{selection:d,storedMarks:f}=e,{splittableMarks:h}=t.editor.extensionManager,p=f||d.$to.parentOffset&&d.$from.marks();if(p){let m=p.filter(g=>h.includes(g.type.name));s.ensureMarks(m)}}if(t.keepAttributes){let d=t.type.name==="bulletList"||t.type.name==="orderedList"?"listItem":"taskList";o().updateAttributes(d,i).run()}let u=s.doc.resolve(n.from-1).nodeBefore;u&&u.type===t.type&&Ne(s.doc,n.from-1)&&(!t.joinPredicate||t.joinPredicate(r,u))&&s.join(n.from-1)}})}function rd(t,e){let{selection:n}=t,{$from:r}=n;if(n instanceof O){let i=r.index();return r.parent.canReplaceWith(i,i+1,e)}let o=r.depth;for(;o>=0;){let i=r.index(o);if(r.node(o).contentMatchAt(i).matchType(e))return!0;o-=1}return!1}function od(t){return t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}function Jy(t,e,n={}){let{state:r}=e,{doc:o,tr:i}=r,s=t;o.descendants((l,a)=>{let c=i.mapping.map(a),u=i.mapping.map(a)+l.nodeSize,d=null;if(l.marks.forEach(h=>{if(h!==s)return!1;d=h}),!d)return;let f=!1;if(Object.keys(n).forEach(h=>{n[h]!==d.attrs[h]&&(f=!0)}),f){let h=t.type.create({...t.attrs,...n});i.removeMark(c,u,t.type),i.addMark(c,u,h)}}),i.docChanged&&e.view.dispatch(i)}var z=class id extends Js{constructor(){super(...arguments),this.type="node"}static create(e={}){let n=typeof e=="function"?e():e;return new id(n)}configure(e){return super.configure(e)}extend(e){let n=typeof e=="function"?e():e;return super.extend(n)}};function Ce(t){return new Ng({find:t.find,handler:({state:e,range:n,match:r,pasteEvent:o})=>{let i=W(t.getAttributes,void 0,r,o);if(i===!1||i===null)return null;let{tr:s}=e,l=r[r.length-1],a=r[0],c=n.to;if(l){let u=a.search(/\S/),d=n.from+a.indexOf(l),f=d+l.length;if(io(n.from,n.to,e.doc).filter(p=>p.mark.type.excluded.find(g=>g===t.type&&g!==p.mark.type)).filter(p=>p.to>d).length)return null;fn.from&&s.delete(n.from+u,d),c=n.from+u+l.length,s.addMark(n.from+u,c,t.type.create(i||{})),s.removeStoredMark(t.type)}}})}function sd(t={}){return new N({view(e){return new Gs(e,t)}})}var Gs=class{constructor(e,n){var r;this.editorView=e,this.cursorPos=null,this.element=null,this.timeout=-1,this.width=(r=n.width)!==null&&r!==void 0?r:1,this.color=n.color===!1?void 0:n.color||"black",this.class=n.class,this.handlers=["dragover","dragend","drop","dragleave"].map(o=>{let i=s=>{this[o](s)};return e.dom.addEventListener(o,i),{name:o,handler:i}})}destroy(){this.handlers.forEach(({name:e,handler:n})=>this.editorView.dom.removeEventListener(e,n))}update(e,n){this.cursorPos!=null&&n.doc!=e.state.doc&&(this.cursorPos>e.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(e){e!=this.cursorPos&&(this.cursorPos=e,e==null?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let e=this.editorView.state.doc.resolve(this.cursorPos),n=!e.parent.inlineContent,r,o=this.editorView.dom,i=o.getBoundingClientRect(),s=i.width/o.offsetWidth,l=i.height/o.offsetHeight;if(n){let d=e.nodeBefore,f=e.nodeAfter;if(d||f){let h=this.editorView.nodeDOM(this.cursorPos-(d?d.nodeSize:0));if(h){let p=h.getBoundingClientRect(),m=d?p.bottom:p.top;d&&f&&(m=(m+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2);let g=this.width/2*l;r={left:p.left,right:p.right,top:m-g,bottom:m+g}}}}if(!r){let d=this.editorView.coordsAtPos(this.cursorPos),f=this.width/2*s;r={left:d.left-f,right:d.left+f,top:d.top,bottom:d.bottom}}let a=this.editorView.dom.offsetParent;this.element||(this.element=a.appendChild(document.createElement("div")),this.class&&(this.element.className=this.class),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;",this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle("prosemirror-dropcursor-block",n),this.element.classList.toggle("prosemirror-dropcursor-inline",!n);let c,u;if(!a||a==document.body&&getComputedStyle(a).position=="static")c=-pageXOffset,u=-pageYOffset;else{let d=a.getBoundingClientRect(),f=d.width/a.offsetWidth,h=d.height/a.offsetHeight;c=d.left-a.scrollLeft*f,u=d.top-a.scrollTop*h}this.element.style.left=(r.left-c)/s+"px",this.element.style.top=(r.top-u)/l+"px",this.element.style.width=(r.right-r.left)/s+"px",this.element.style.height=(r.bottom-r.top)/l+"px"}scheduleRemoval(e){clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.setCursor(null),e)}dragover(e){if(!this.editorView.editable)return;let n=this.editorView.posAtCoords({left:e.clientX,top:e.clientY}),r=n&&n.inside>=0&&this.editorView.state.doc.nodeAt(n.inside),o=r&&r.type.spec.disableDropCursor,i=typeof o=="function"?o(this.editorView,n,e):o;if(n&&!i){let s=n.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let l=Nr(this.editorView.state.doc,s,this.editorView.dragging.slice);l!=null&&(s=l)}this.setCursor(s),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(e){this.editorView.dom.contains(e.relatedTarget)||this.setCursor(null)}};var se=class t extends E{constructor(e){super(e,e)}map(e,n){let r=e.resolve(n.map(this.head));return t.valid(r)?new t(r):E.near(r)}content(){return M.empty}eq(e){return e instanceof t&&e.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(e,n){if(typeof n.pos!="number")throw new RangeError("Invalid input for GapCursor.fromJSON");return new t(e.resolve(n.pos))}getBookmark(){return new Ys(this.anchor)}static valid(e){let n=e.parent;if(n.isTextblock||!qy(e)||!Gy(e))return!1;let r=n.type.spec.allowGapCursor;if(r!=null)return r;let o=n.contentMatchAt(e.index()).defaultType;return o&&o.isTextblock}static findGapCursorFrom(e,n,r=!1){e:for(;;){if(!r&&t.valid(e))return e;let o=e.pos,i=null;for(let s=e.depth;;s--){let l=e.node(s);if(n>0?e.indexAfter(s)0){i=l.child(n>0?e.indexAfter(s):e.index(s)-1);break}else if(s==0)return null;o+=n;let a=e.doc.resolve(o);if(t.valid(a))return a}for(;;){let s=n>0?i.firstChild:i.lastChild;if(!s){if(i.isAtom&&!i.isText&&!O.isSelectable(i)){e=e.doc.resolve(o+i.nodeSize*n),r=!1;continue e}break}i=s,o+=n;let l=e.doc.resolve(o);if(t.valid(l))return l}return null}}};se.prototype.visible=!1;se.findFrom=se.findGapCursorFrom;E.jsonID("gapcursor",se);var Ys=class t{constructor(e){this.pos=e}map(e){return new t(e.map(this.pos))}resolve(e){let n=e.resolve(this.pos);return se.valid(n)?new se(n):E.near(n)}};function qy(t){for(let e=t.depth;e>=0;e--){let n=t.index(e),r=t.node(e);if(n==0){if(r.type.spec.isolating)return!0;continue}for(let o=r.child(n-1);;o=o.lastChild){if(o.childCount==0&&!o.inlineContent||o.isAtom||o.type.spec.isolating)return!0;if(o.inlineContent)return!1}}return!0}function Gy(t){for(let e=t.depth;e>=0;e--){let n=t.indexAfter(e),r=t.node(e);if(n==r.childCount){if(r.type.spec.isolating)return!0;continue}for(let o=r.child(n);;o=o.firstChild){if(o.childCount==0&&!o.inlineContent||o.isAtom||o.type.spec.isolating)return!0;if(o.inlineContent)return!1}}return!0}function ld(){return new N({props:{decorations:Zy,createSelectionBetween(t,e,n){return e.pos==n.pos&&se.valid(n)?new se(n):null},handleClick:Xy,handleKeyDown:Yy,handleDOMEvents:{beforeinput:Qy}}})}var Yy=Yn({ArrowLeft:fo("horiz",-1),ArrowRight:fo("horiz",1),ArrowUp:fo("vert",-1),ArrowDown:fo("vert",1)});function fo(t,e){let n=t=="vert"?e>0?"down":"up":e>0?"right":"left";return function(r,o,i){let s=r.selection,l=e>0?s.$to:s.$from,a=s.empty;if(s instanceof A){if(!i.endOfTextblock(n)||l.depth==0)return!1;a=!1,l=r.doc.resolve(e>0?l.after():l.before())}let c=se.findGapCursorFrom(l,e,a);return c?(o&&o(r.tr.setSelection(new se(c))),!0):!1}}function Xy(t,e,n){if(!t||!t.editable)return!1;let r=t.state.doc.resolve(e);if(!se.valid(r))return!1;let o=t.posAtCoords({left:n.clientX,top:n.clientY});return o&&o.inside>-1&&O.isSelectable(t.state.doc.nodeAt(o.inside))?!1:(t.dispatch(t.state.tr.setSelection(new se(r))),!0)}function Qy(t,e){if(e.inputType!="insertCompositionText"||!(t.state.selection instanceof se))return!1;let{$from:n}=t.state.selection,r=n.parent.contentMatchAt(n.index()).findWrapping(t.state.schema.nodes.text);if(!r)return!1;let o=w.empty;for(let s=r.length-1;s>=0;s--)o=w.from(r[s].createAndFill(null,o));let i=t.state.tr.replace(n.pos,n.pos,new M(o,0,0));return i.setSelection(A.near(i.doc.resolve(n.pos+1))),t.dispatch(i),!1}function Zy(t){if(!(t.selection instanceof se))return null;let e=document.createElement("div");return e.className="ProseMirror-gapcursor",J.create(t.doc,[Y.widget(t.selection.head,e,{key:"gapcursor"})])}var ho=200,de=function(){};de.prototype.append=function(e){return e.length?(e=de.from(e),!this.length&&e||e.length=n?de.empty:this.sliceInner(Math.max(0,e),Math.min(this.length,n))};de.prototype.get=function(e){if(!(e<0||e>=this.length))return this.getInner(e)};de.prototype.forEach=function(e,n,r){n===void 0&&(n=0),r===void 0&&(r=this.length),n<=r?this.forEachInner(e,n,r,0):this.forEachInvertedInner(e,n,r,0)};de.prototype.map=function(e,n,r){n===void 0&&(n=0),r===void 0&&(r=this.length);var o=[];return this.forEach(function(i,s){return o.push(e(i,s))},n,r),o};de.from=function(e){return e instanceof de?e:e&&e.length?new ad(e):de.empty};var ad=function(t){function e(r){t.call(this),this.values=r}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={length:{configurable:!0},depth:{configurable:!0}};return e.prototype.flatten=function(){return this.values},e.prototype.sliceInner=function(o,i){return o==0&&i==this.length?this:new e(this.values.slice(o,i))},e.prototype.getInner=function(o){return this.values[o]},e.prototype.forEachInner=function(o,i,s,l){for(var a=i;a=s;a--)if(o(this.values[a],l+a)===!1)return!1},e.prototype.leafAppend=function(o){if(this.length+o.length<=ho)return new e(this.values.concat(o.flatten()))},e.prototype.leafPrepend=function(o){if(this.length+o.length<=ho)return new e(o.flatten().concat(this.values))},n.length.get=function(){return this.values.length},n.depth.get=function(){return 0},Object.defineProperties(e.prototype,n),e}(de);de.empty=new ad([]);var e0=function(t){function e(n,r){t.call(this),this.left=n,this.right=r,this.length=n.length+r.length,this.depth=Math.max(n.depth,r.depth)+1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},e.prototype.getInner=function(r){return rl&&this.right.forEachInner(r,Math.max(o-l,0),Math.min(this.length,i)-l,s+l)===!1)return!1},e.prototype.forEachInvertedInner=function(r,o,i,s){var l=this.left.length;if(o>l&&this.right.forEachInvertedInner(r,o-l,Math.max(i,l)-l,s+l)===!1||i=i?this.right.slice(r-i,o-i):this.left.slice(r,i).append(this.right.slice(0,o-i))},e.prototype.leafAppend=function(r){var o=this.right.leafAppend(r);if(o)return new e(this.left,o)},e.prototype.leafPrepend=function(r){var o=this.left.leafPrepend(r);if(o)return new e(o,this.right)},e.prototype.appendInner=function(r){return this.left.depth>=Math.max(this.right.depth,r.depth)+1?new e(this.left,new e(this.right,r)):new e(this,r)},e}(de),Xs=de;var t0=500,Yt=class t{constructor(e,n){this.items=e,this.eventCount=n}popEvent(e,n){if(this.eventCount==0)return null;let r=this.items.length;for(;;r--)if(this.items.get(r-1).selection){--r;break}let o,i;n&&(o=this.remapping(r,this.items.length),i=o.maps.length);let s=e.tr,l,a,c=[],u=[];return this.items.forEach((d,f)=>{if(!d.step){o||(o=this.remapping(r,f+1),i=o.maps.length),i--,u.push(d);return}if(o){u.push(new Qe(d.map));let h=d.step.map(o.slice(i)),p;h&&s.maybeStep(h).doc&&(p=s.mapping.maps[s.mapping.maps.length-1],c.push(new Qe(p,void 0,void 0,c.length+u.length))),i--,p&&o.appendMap(p,i)}else s.maybeStep(d.step);if(d.selection)return l=o?d.selection.map(o.slice(i)):d.selection,a=new t(this.items.slice(0,r).append(u.reverse().concat(c)),this.eventCount-1),!1},this.items.length,0),{remaining:a,transform:s,selection:l}}addTransform(e,n,r,o){let i=[],s=this.eventCount,l=this.items,a=!o&&l.length?l.get(l.length-1):null;for(let u=0;ur0&&(l=n0(l,c),s-=c),new t(l.append(i),s)}remapping(e,n){let r=new Bn;return this.items.forEach((o,i)=>{let s=o.mirrorOffset!=null&&i-o.mirrorOffset>=e?r.maps.length-o.mirrorOffset:void 0;r.appendMap(o.map,s)},e,n),r}addMaps(e){return this.eventCount==0?this:new t(this.items.append(e.map(n=>new Qe(n))),this.eventCount)}rebased(e,n){if(!this.eventCount)return this;let r=[],o=Math.max(0,this.items.length-n),i=e.mapping,s=e.steps.length,l=this.eventCount;this.items.forEach(f=>{f.selection&&l--},o);let a=n;this.items.forEach(f=>{let h=i.getMirror(--a);if(h==null)return;s=Math.min(s,h);let p=i.maps[h];if(f.step){let m=e.steps[h].invert(e.docs[h]),g=f.selection&&f.selection.map(i.slice(a+1,h));g&&l++,r.push(new Qe(p,m,g))}else r.push(new Qe(p))},o);let c=[];for(let f=n;ft0&&(d=d.compress(this.items.length-r.length)),d}emptyItemCount(){let e=0;return this.items.forEach(n=>{n.step||e++}),e}compress(e=this.items.length){let n=this.remapping(0,e),r=n.maps.length,o=[],i=0;return this.items.forEach((s,l)=>{if(l>=e)o.push(s),s.selection&&i++;else if(s.step){let a=s.step.map(n.slice(r)),c=a&&a.getMap();if(r--,c&&n.appendMap(c,r),a){let u=s.selection&&s.selection.map(n.slice(r));u&&i++;let d=new Qe(c.invert(),a,u),f,h=o.length-1;(f=o.length&&o[h].merge(d))?o[h]=f:o.push(d)}}else s.map&&r--},this.items.length,0),new t(Xs.from(o.reverse()),i)}};Yt.empty=new Yt(Xs.empty,0);function n0(t,e){let n;return t.forEach((r,o)=>{if(r.selection&&e--==0)return n=o,!1}),t.slice(n)}var Qe=class t{constructor(e,n,r,o){this.map=e,this.step=n,this.selection=r,this.mirrorOffset=o}merge(e){if(this.step&&e.step&&!e.selection){let n=e.step.merge(this.step);if(n)return new t(n.getMap().invert(),n,this.selection)}}},Ze=class{constructor(e,n,r,o,i){this.done=e,this.undone=n,this.prevRanges=r,this.prevTime=o,this.prevComposition=i}},r0=20;function o0(t,e,n,r){let o=n.getMeta(Gt),i;if(o)return o.historyState;n.getMeta(l0)&&(t=new Ze(t.done,t.undone,null,0,-1));let s=n.getMeta("appendedTransaction");if(n.steps.length==0)return t;if(s&&s.getMeta(Gt))return s.getMeta(Gt).redo?new Ze(t.done.addTransform(n,void 0,r,po(e)),t.undone,cd(n.mapping.maps),t.prevTime,t.prevComposition):new Ze(t.done,t.undone.addTransform(n,void 0,r,po(e)),null,t.prevTime,t.prevComposition);if(n.getMeta("addToHistory")!==!1&&!(s&&s.getMeta("addToHistory")===!1)){let l=n.getMeta("composition"),a=t.prevTime==0||!s&&t.prevComposition!=l&&(t.prevTime<(n.time||0)-r.newGroupDelay||!i0(n,t.prevRanges)),c=s?Qs(t.prevRanges,n.mapping):cd(n.mapping.maps);return new Ze(t.done.addTransform(n,a?e.selection.getBookmark():void 0,r,po(e)),Yt.empty,c,n.time,l??t.prevComposition)}else return(i=n.getMeta("rebased"))?new Ze(t.done.rebased(n,i),t.undone.rebased(n,i),Qs(t.prevRanges,n.mapping),t.prevTime,t.prevComposition):new Ze(t.done.addMaps(n.mapping.maps),t.undone.addMaps(n.mapping.maps),Qs(t.prevRanges,n.mapping),t.prevTime,t.prevComposition)}function i0(t,e){if(!e)return!1;if(!t.docChanged)return!0;let n=!1;return t.mapping.maps[0].forEach((r,o)=>{for(let i=0;i=e[i]&&(n=!0)}),n}function cd(t){let e=[];for(let n=t.length-1;n>=0&&e.length==0;n--)t[n].forEach((r,o,i,s)=>e.push(i,s));return e}function Qs(t,e){if(!t)return null;let n=[];for(let r=0;r{let o=Gt.getState(n);if(!o||(t?o.undone:o.done).eventCount==0)return!1;if(r){let i=s0(o,n,t);i&&r(e?i.scrollIntoView():i)}return!0}}var el=mo(!1,!0),tl=mo(!0,!0),T1=mo(!1,!1),A1=mo(!0,!1);var P1=$.create({name:"characterCount",addOptions(){return{limit:null,mode:"textSize",textCounter:t=>t.length,wordCounter:t=>t.split(" ").filter(e=>e!=="").length}},addStorage(){return{characters:()=>0,words:()=>0}},onBeforeCreate(){this.storage.characters=t=>{let e=t?.node||this.editor.state.doc;if((t?.mode||this.options.mode)==="textSize"){let r=e.textBetween(0,e.content.size,void 0," ");return this.options.textCounter(r)}return e.nodeSize},this.storage.words=t=>{let e=t?.node||this.editor.state.doc,n=e.textBetween(0,e.content.size," "," ");return this.options.wordCounter(n)}},addProseMirrorPlugins(){let t=!1;return[new N({key:new L("characterCount"),appendTransaction:(e,n,r)=>{if(t)return;let o=this.options.limit;if(o==null||o===0){t=!0;return}let i=this.storage.characters({node:r.doc});if(i>o){let s=i-o,l=0,a=s;console.warn(`[CharacterCount] Initial content exceeded limit of ${o} characters. Content was automatically trimmed.`);let c=r.tr.deleteRange(l,a);return t=!0,c}t=!0},filterTransaction:(e,n)=>{let r=this.options.limit;if(!e.docChanged||r===0||r===null||r===void 0)return!0;let o=this.storage.characters({node:n.doc}),i=this.storage.characters({node:e.doc});if(i<=r||o>r&&i>r&&i<=o)return!0;if(o>r&&i>r&&i>o||!e.getMeta("paste"))return!1;let l=e.selection.$head.pos,a=i-r,c=l-a,u=l;return e.deleteRange(c,u),!(this.storage.characters({node:e.doc})>r)}})]}}),hd=$.create({name:"dropCursor",addOptions(){return{color:"currentColor",width:1,class:void 0}},addProseMirrorPlugins(){return[sd(this.options)]}}),F1=$.create({name:"focus",addOptions(){return{className:"has-focus",mode:"all"}},addProseMirrorPlugins(){return[new N({key:new L("focus"),props:{decorations:({doc:t,selection:e})=>{let{isEditable:n,isFocused:r}=this.editor,{anchor:o}=e,i=[];if(!n||!r)return J.create(t,[]);let s=0;this.options.mode==="deepest"&&t.descendants((a,c)=>{if(a.isText)return;if(!(o>=c&&o<=c+a.nodeSize-1))return!1;s+=1});let l=0;return t.descendants((a,c)=>{if(a.isText||!(o>=c&&o<=c+a.nodeSize-1))return!1;if(l+=1,this.options.mode==="deepest"&&s-l>0||this.options.mode==="shallowest"&&l>1)return this.options.mode==="deepest";i.push(Y.node(c,c+a.nodeSize,{class:this.options.className}))}),J.create(t,i)}}})]}}),pd=$.create({name:"gapCursor",addProseMirrorPlugins(){return[ld()]},extendNodeSchema(t){var e;let n={name:t.name,options:t.options,storage:t.storage};return{allowGapCursor:(e=W(I(t,"allowGapCursor",n)))!=null?e:null}}}),nl=$.create({name:"placeholder",addOptions(){return{emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",placeholder:"Write something \u2026",showOnlyWhenEditable:!0,showOnlyCurrent:!0,includeChildren:!1}},addProseMirrorPlugins(){return[new N({key:new L("placeholder"),props:{decorations:({doc:t,selection:e})=>{let n=this.editor.isEditable||!this.options.showOnlyWhenEditable,{anchor:r}=e,o=[];if(!n)return null;let i=this.editor.isEmpty;return t.descendants((s,l)=>{let a=r>=l&&r<=l+s.nodeSize,c=!s.isLeaf&&er(s);if((a||!this.options.showOnlyCurrent)&&c){let u=[this.options.emptyNodeClass];i&&u.push(this.options.emptyEditorClass);let d=Y.node(l,l+s.nodeSize,{class:u.join(" "),"data-placeholder":typeof this.options.placeholder=="function"?this.options.placeholder({editor:this.editor,node:s,pos:l,hasAnchor:a}):this.options.placeholder});o.push(d)}return this.options.includeChildren}),J.create(t,o)}}})]}}),q1=$.create({name:"selection",addOptions(){return{className:"selection"}},addProseMirrorPlugins(){let{editor:t,options:e}=this;return[new N({key:new L("selection"),props:{decorations(n){return n.selection.empty||t.isFocused||!t.isEditable||so(n.selection)||t.view.dragging?null:J.create(n.doc,[Y.inline(n.selection.from,n.selection.to,{class:e.className})])}}})]}});function fd({types:t,node:e}){return e&&Array.isArray(t)&&t.includes(e.type)||e?.type===t}var X1=$.create({name:"trailingNode",addOptions(){return{node:"paragraph",notAfter:[]}},addProseMirrorPlugins(){let t=new L(this.name),e=Object.entries(this.editor.schema.nodes).map(([,n])=>n).filter(n=>(this.options.notAfter||[]).concat(this.options.node).includes(n.name));return[new N({key:t,appendTransaction:(n,r,o)=>{let{doc:i,tr:s,schema:l}=o,a=t.getState(o),c=i.content.size,u=l.nodes[this.options.node];if(a)return s.insert(c,u.create())},state:{init:(n,r)=>{let o=r.tr.doc.lastChild;return!fd({node:o,types:e})},apply:(n,r)=>{if(!n.docChanged)return r;let o=n.doc.lastChild;return!fd({node:o,types:e})}}})]}}),md=$.create({name:"undoRedo",addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:t,dispatch:e})=>el(t,e),redo:()=>({state:t,dispatch:e})=>tl(t,e)}},addProseMirrorPlugins(){return[dd(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-\u044F":()=>this.editor.commands.undo(),"Shift-Mod-\u044F":()=>this.editor.commands.redo()}}});var kn=(t,e)=>{if(t==="slot")return 0;if(t instanceof Function)return t(e);let{children:n,...r}=e??{};if(t==="svg")throw new Error("SVG elements are not supported in the JSX syntax, use the array syntax instead");return[t,r,n]};var a0=/^\s*>\s$/,c0=z.create({name:"blockquote",addOptions(){return{HTMLAttributes:{}}},content:"block+",group:"block",defining:!0,parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:t}){return kn("blockquote",{...T(this.options.HTMLAttributes,t),children:kn("slot",{})})},addCommands(){return{setBlockquote:()=>({commands:t})=>t.wrapIn(this.name),toggleBlockquote:()=>({commands:t})=>t.toggleWrap(this.name),unsetBlockquote:()=>({commands:t})=>t.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[Xe({find:a0,type:this.type})]}}),gd=c0;var u0=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,d0=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,f0=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,h0=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,p0=te.create({name:"bold",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"strong"},{tag:"b",getAttrs:t=>t.style.fontWeight!=="normal"&&null},{style:"font-weight=400",clearMark:t=>t.type.name===this.name},{style:"font-weight",getAttrs:t=>/^(bold(er)?|[5-9]\d{2,})$/.test(t)&&null}]},renderHTML({HTMLAttributes:t}){return kn("strong",{...T(this.options.HTMLAttributes,t),children:kn("slot",{})})},addCommands(){return{setBold:()=>({commands:t})=>t.setMark(this.name),toggleBold:()=>({commands:t})=>t.toggleMark(this.name),unsetBold:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[Ie({find:u0,type:this.type}),Ie({find:f0,type:this.type})]},addPasteRules(){return[Ce({find:d0,type:this.type}),Ce({find:h0,type:this.type})]}}),yd=p0;var m0=/(^|[^`])`([^`]+)`(?!`)/,g0=/(^|[^`])`([^`]+)`(?!`)/g,y0=te.create({name:"code",addOptions(){return{HTMLAttributes:{}}},excludes:"_",code:!0,exitable:!0,parseHTML(){return[{tag:"code"}]},renderHTML({HTMLAttributes:t}){return["code",T(this.options.HTMLAttributes,t),0]},addCommands(){return{setCode:()=>({commands:t})=>t.setMark(this.name),toggleCode:()=>({commands:t})=>t.toggleMark(this.name),unsetCode:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-e":()=>this.editor.commands.toggleCode()}},addInputRules(){return[Ie({find:m0,type:this.type})]},addPasteRules(){return[Ce({find:g0,type:this.type})]}}),bd=y0;var b0=/^```([a-z]+)?[\s\n]$/,x0=/^~~~([a-z]+)?[\s\n]$/,w0=z.create({name:"codeBlock",addOptions(){return{languageClassPrefix:"language-",exitOnTripleEnter:!0,exitOnArrowDown:!0,defaultLanguage:null,HTMLAttributes:{}}},content:"text*",marks:"",group:"block",code:!0,defining:!0,addAttributes(){return{language:{default:this.options.defaultLanguage,parseHTML:t=>{var e;let{languageClassPrefix:n}=this.options,i=[...((e=t.firstElementChild)==null?void 0:e.classList)||[]].filter(s=>s.startsWith(n)).map(s=>s.replace(n,""))[0];return i||null},rendered:!1}}},parseHTML(){return[{tag:"pre",preserveWhitespace:"full"}]},renderHTML({node:t,HTMLAttributes:e}){return["pre",T(this.options.HTMLAttributes,e),["code",{class:t.attrs.language?this.options.languageClassPrefix+t.attrs.language:null},0]]},addCommands(){return{setCodeBlock:t=>({commands:e})=>e.setNode(this.name,t),toggleCodeBlock:t=>({commands:e})=>e.toggleNode(this.name,"paragraph",t)}},addKeyboardShortcuts(){return{"Mod-Alt-c":()=>this.editor.commands.toggleCodeBlock(),Backspace:()=>{let{empty:t,$anchor:e}=this.editor.state.selection,n=e.pos===1;return!t||e.parent.type.name!==this.name?!1:n||!e.parent.textContent.length?this.editor.commands.clearNodes():!1},Enter:({editor:t})=>{if(!this.options.exitOnTripleEnter)return!1;let{state:e}=t,{selection:n}=e,{$from:r,empty:o}=n;if(!o||r.parent.type!==this.type)return!1;let i=r.parentOffset===r.parent.nodeSize-2,s=r.parent.textContent.endsWith(` + +`);return!i||!s?!1:t.chain().command(({tr:l})=>(l.delete(r.pos-2,r.pos),!0)).exitCode().run()},ArrowDown:({editor:t})=>{if(!this.options.exitOnArrowDown)return!1;let{state:e}=t,{selection:n,doc:r}=e,{$from:o,empty:i}=n;if(!i||o.parent.type!==this.type||!(o.parentOffset===o.parent.nodeSize-2))return!1;let l=o.after();return l===void 0?!1:r.nodeAt(l)?t.commands.command(({tr:c})=>(c.setSelection(E.near(r.resolve(l))),!0)):t.commands.exitCode()}}},addInputRules(){return[tr({find:b0,type:this.type,getAttributes:t=>({language:t[1]})}),tr({find:x0,type:this.type,getAttributes:t=>({language:t[1]})})]},addProseMirrorPlugins(){return[new N({key:new L("codeBlockVSCodeHandler"),props:{handlePaste:(t,e)=>{if(!e.clipboardData||this.editor.isActive(this.type.name))return!1;let n=e.clipboardData.getData("text/plain"),r=e.clipboardData.getData("vscode-editor-data"),o=r?JSON.parse(r):void 0,i=o?.mode;if(!n||!i)return!1;let{tr:s,schema:l}=t.state,a=l.text(n.replace(/\r\n?/g,` +`));return s.replaceSelectionWith(this.type.create({language:i},a)),s.selection.$from.parent.type!==this.type&&s.setSelection(A.near(s.doc.resolve(Math.max(0,s.selection.from-2)))),s.setMeta("paste",!0),t.dispatch(s),!0}}})]}}),xd=w0;var wd=z.create({name:"customBlock",group:"block",atom:!0,defining:!0,draggable:!0,selectable:!0,isolating:!0,allowGapCursor:!0,inline:!1,addNodeView(){return({editor:t,node:e,getPos:n,HTMLAttributes:r,decorations:o,extension:i})=>{let s=document.createElement("div");s.setAttribute("data-config",e.attrs.config),s.setAttribute("data-id",e.attrs.id),s.setAttribute("data-type","customBlock");let l=document.createElement("div");if(l.className="fi-fo-rich-editor-custom-block-header fi-not-prose",s.appendChild(l),t.isEditable&&typeof e.attrs.config=="object"&&e.attrs.config!==null&&Object.keys(e.attrs.config).length>0){let c=document.createElement("div");c.className="fi-fo-rich-editor-custom-block-edit-btn-ctn",l.appendChild(c);let u=document.createElement("button");u.className="fi-icon-btn",u.type="button",u.innerHTML=i.options.editCustomBlockButtonIconHtml,u.addEventListener("click",()=>i.options.editCustomBlockUsing(e.attrs.id,e.attrs.config)),c.appendChild(u)}let a=document.createElement("p");if(a.className="fi-fo-rich-editor-custom-block-heading",a.textContent=e.attrs.label,l.appendChild(a),t.isEditable){let c=document.createElement("div");c.className="fi-fo-rich-editor-custom-block-delete-btn-ctn",l.appendChild(c);let u=document.createElement("button");u.className="fi-icon-btn",u.type="button",u.innerHTML=i.options.deleteCustomBlockButtonIconHtml,u.addEventListener("click",()=>t.chain().setNodeSelection(n()).deleteSelection().run()),c.appendChild(u)}if(e.attrs.preview){let c=document.createElement("div");c.className="fi-fo-rich-editor-custom-block-preview fi-not-prose",c.innerHTML=new TextDecoder().decode(Uint8Array.from(atob(e.attrs.preview),u=>u.charCodeAt(0))),s.appendChild(c)}return{dom:s}}},addOptions(){return{deleteCustomBlockButtonIconHtml:null,editCustomBlockButtonIconHtml:null,editCustomBlockUsing:()=>{},insertCustomBlockUsing:()=>{}}},addAttributes(){return{config:{default:null,parseHTML:t=>JSON.parse(t.getAttribute("data-config"))},id:{default:null,parseHTML:t=>t.getAttribute("data-id"),renderHTML:t=>t.id?{"data-id":t.id}:{}},label:{default:null,parseHTML:t=>t.getAttribute("data-label"),rendered:!1},preview:{default:null,parseHTML:t=>t.getAttribute("data-preview"),rendered:!1}}},parseHTML(){return[{tag:`div[data-type="${this.name}"]`}]},renderHTML({HTMLAttributes:t}){return["div",T(t)]},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:t,state:e})=>{let n=!1,{selection:r}=e,{empty:o,anchor:i}=r;if(!o)return!1;let s=new le,l=0;return e.doc.nodesBetween(i-1,i,(a,c)=>{if(a.type.name===this.name)return n=!0,s=a,l=c,!1}),n})}},addProseMirrorPlugins(){let{insertCustomBlockUsing:t}=this.options;return[new N({props:{handleDrop(e,n){if(!n||(n.preventDefault(),!n.dataTransfer.getData("customBlock")))return!1;let r=n.dataTransfer.getData("customBlock");return t(r,e.posAtCoords({left:n.clientX,top:n.clientY}).pos),!1}}})]}});var go=(t,e)=>e.view.domAtPos(t).node.offsetParent!==null,S0=(t,e,n)=>{for(let r=t.depth;r>0;r-=1){let o=t.node(r),i=e(o),s=go(t.start(r),n);if(i&&s)return{pos:r>0?t.before(r):0,start:t.start(r),depth:r,node:o}}},Sd=(t,e)=>{let{state:n,view:r,extensionManager:o}=t,{schema:i,selection:s}=n,{empty:l,$anchor:a}=s,c=!!o.extensions.find(y=>y.name==="gapCursor");if(!l||a.parent.type!==i.nodes.detailsSummary||!c||e==="right"&&a.parentOffset!==a.parent.nodeSize-2)return!1;let u=Ye(y=>y.type===i.nodes.details)(s);if(!u)return!1;let d=Sn(u.node,y=>y.type===i.nodes.detailsContent);if(!d.length||go(u.start+d[0].pos+1,t))return!1;let h=n.doc.resolve(u.pos+u.node.nodeSize),p=se.findFrom(h,1,!1);if(!p)return!1;let{tr:m}=n,g=new se(p);return m.setSelection(g),m.scrollIntoView(),r.dispatch(m),!0},kd=z.create({name:"details",content:"detailsSummary detailsContent",group:"block",defining:!0,isolating:!0,allowGapCursor:!1,addOptions(){return{persist:!1,openClassName:"is-open",HTMLAttributes:{}}},addAttributes(){return this.options.persist?{open:{default:!1,parseHTML:t=>t.hasAttribute("open"),renderHTML:({open:t})=>t?{open:""}:{}}}:[]},parseHTML(){return[{tag:"details"}]},renderHTML({HTMLAttributes:t}){return["details",T(this.options.HTMLAttributes,t),0]},addNodeView(){return({editor:t,getPos:e,node:n,HTMLAttributes:r})=>{let o=document.createElement("div"),i=T(this.options.HTMLAttributes,r,{"data-type":this.name});Object.entries(i).forEach(([c,u])=>o.setAttribute(c,u));let s=document.createElement("button");s.type="button",o.append(s);let l=document.createElement("div");o.append(l);let a=c=>{if(c!==void 0)if(c){if(o.classList.contains(this.options.openClassName))return;o.classList.add(this.options.openClassName)}else{if(!o.classList.contains(this.options.openClassName))return;o.classList.remove(this.options.openClassName)}else o.classList.toggle(this.options.openClassName);let u=new Event("toggleDetailsContent"),d=l.querySelector(':scope > div[data-type="detailsContent"]');d?.dispatchEvent(u)};return n.attrs.open&&setTimeout(()=>a()),s.addEventListener("click",()=>{if(a(),!this.options.persist){t.commands.focus(void 0,{scrollIntoView:!1});return}if(t.isEditable&&typeof e=="function"){let{from:c,to:u}=t.state.selection;t.chain().command(({tr:d})=>{let f=e();if(!f)return!1;let h=d.doc.nodeAt(f);return h?.type!==this.type?!1:(d.setNodeMarkup(f,void 0,{open:!h.attrs.open}),!0)}).setTextSelection({from:c,to:u}).focus(void 0,{scrollIntoView:!1}).run()}}),{dom:o,contentDOM:l,ignoreMutation(c){return c.type==="selection"?!1:!o.contains(c.target)||o===c.target},update:c=>c.type!==this.type?!1:(c.attrs.open!==void 0&&a(c.attrs.open),!0)}}},addCommands(){return{setDetails:()=>({state:t,chain:e})=>{var n;let{schema:r,selection:o}=t,{$from:i,$to:s}=o,l=i.blockRange(s);if(!l)return!1;let a=t.doc.slice(l.start,l.end);if(!r.nodes.detailsContent.contentMatch.matchFragment(a.content))return!1;let u=((n=a.toJSON())==null?void 0:n.content)||[];return e().insertContentAt({from:l.start,to:l.end},{type:this.name,content:[{type:"detailsSummary"},{type:"detailsContent",content:u}]}).setTextSelection(l.start+2).run()},unsetDetails:()=>({state:t,chain:e})=>{let{selection:n,schema:r}=t,o=Ye(y=>y.type===this.type)(n);if(!o)return!1;let i=Sn(o.node,y=>y.type===r.nodes.detailsSummary),s=Sn(o.node,y=>y.type===r.nodes.detailsContent);if(!i.length||!s.length)return!1;let l=i[0],a=s[0],c=o.pos,u=t.doc.resolve(c),d=c+o.node.nodeSize,f={from:c,to:d},h=a.node.content.toJSON()||[],p=u.parent.type.contentMatch.defaultType,g=[p?.create(null,l.node.content).toJSON(),...h];return e().insertContentAt(f,g).setTextSelection(c+1).run()}}},addKeyboardShortcuts(){return{Backspace:()=>{let{schema:t,selection:e}=this.editor.state,{empty:n,$anchor:r}=e;return!n||r.parent.type!==t.nodes.detailsSummary?!1:r.parentOffset!==0?this.editor.commands.command(({tr:o})=>{let i=r.pos-1,s=r.pos;return o.delete(i,s),!0}):this.editor.commands.unsetDetails()},Enter:({editor:t})=>{let{state:e,view:n}=t,{schema:r,selection:o}=e,{$head:i}=o;if(i.parent.type!==r.nodes.detailsSummary)return!1;let s=go(i.after()+1,t),l=s?e.doc.nodeAt(i.after()):i.node(-2);if(!l)return!1;let a=s?0:i.indexAfter(-1),c=Zn(l.contentMatchAt(a));if(!c||!l.canReplaceWith(a,a,c))return!1;let u=c.createAndFill();if(!u)return!1;let d=s?i.after()+1:i.after(-1),f=e.tr.replaceWith(d,d,u),h=f.doc.resolve(d),p=E.near(h,1);return f.setSelection(p),f.scrollIntoView(),n.dispatch(f),!0},ArrowRight:({editor:t})=>Sd(t,"right"),ArrowDown:({editor:t})=>Sd(t,"down")}},addProseMirrorPlugins(){return[new N({key:new L("detailsSelection"),appendTransaction:(t,e,n)=>{let{editor:r,type:o}=this;if(!t.some(g=>g.selectionSet)||!e.selection.empty||!n.selection.empty||!Us(n,o.name))return;let{$from:l}=n.selection;if(go(l.pos,r))return;let c=S0(l,g=>g.type===o,r);if(!c)return;let u=Sn(c.node,g=>g.type===n.schema.nodes.detailsSummary);if(!u.length)return;let d=u[0],h=(e.selection.from{let e=document.createElement("div"),n=T(this.options.HTMLAttributes,t,{"data-type":this.name,hidden:"hidden"});return Object.entries(n).forEach(([r,o])=>e.setAttribute(r,o)),e.addEventListener("toggleDetailsContent",()=>{e.toggleAttribute("hidden")}),{dom:e,contentDOM:e,ignoreMutation(r){return r.type==="selection"?!1:!e.contains(r.target)||e===r.target},update:r=>r.type===this.type}}},addKeyboardShortcuts(){return{Enter:({editor:t})=>{let{state:e,view:n}=t,{selection:r}=e,{$from:o,empty:i}=r,s=Ye(_=>_.type===this.type)(r);if(!i||!s||!s.node.childCount)return!1;let l=o.index(s.depth),{childCount:a}=s.node;if(!(a===l+1))return!1;let u=s.node.type.contentMatch.defaultType,d=u?.createAndFill();if(!d)return!1;let f=e.doc.resolve(s.pos+1),h=a-1,p=s.node.child(h),m=f.posAtIndex(h,s.depth);if(!p.eq(d))return!1;let y=o.node(-3);if(!y)return!1;let b=o.indexAfter(-3),x=Zn(y.contentMatchAt(b));if(!x||!y.canReplaceWith(b,b,x))return!1;let C=x.createAndFill();if(!C)return!1;let{tr:S}=e,R=o.after(-2);S.replaceWith(R,R,C);let P=S.doc.resolve(R),v=E.near(P,1);S.setSelection(v);let B=m,D=m+p.nodeSize;return S.delete(B,D),S.scrollIntoView(),n.dispatch(S),!0}}}}),Md=z.create({name:"detailsSummary",content:"text*",defining:!0,selectable:!1,isolating:!0,addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"summary"}]},renderHTML({HTMLAttributes:t}){return["summary",T(this.options.HTMLAttributes,t),0]}});var k0=z.create({name:"doc",topNode:!0,content:"block+"}),vd=k0;var C0=z.create({name:"hardBreak",addOptions(){return{keepMarks:!0,HTMLAttributes:{}}},inline:!0,group:"inline",selectable:!1,linebreakReplacement:!0,parseHTML(){return[{tag:"br"}]},renderHTML({HTMLAttributes:t}){return["br",T(this.options.HTMLAttributes,t)]},renderText(){return` +`},addCommands(){return{setHardBreak:()=>({commands:t,chain:e,state:n,editor:r})=>t.first([()=>t.exitCode(),()=>t.command(()=>{let{selection:o,storedMarks:i}=n;if(o.$from.parent.type.spec.isolating)return!1;let{keepMarks:s}=this.options,{splittableMarks:l}=r.extensionManager,a=i||o.$to.parentOffset&&o.$from.marks();return e().insertContent({type:this.name}).command(({tr:c,dispatch:u})=>{if(u&&a&&s){let d=a.filter(f=>l.includes(f.type.name));c.ensureMarks(d)}return!0}).run()})])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),Td=C0;var M0=z.create({name:"heading",addOptions(){return{levels:[1,2,3,4,5,6],HTMLAttributes:{}}},content:"inline*",group:"block",defining:!0,addAttributes(){return{level:{default:1,rendered:!1}}},parseHTML(){return this.options.levels.map(t=>({tag:`h${t}`,attrs:{level:t}}))},renderHTML({node:t,HTMLAttributes:e}){return[`h${this.options.levels.includes(t.attrs.level)?t.attrs.level:this.options.levels[0]}`,T(this.options.HTMLAttributes,e),0]},addCommands(){return{setHeading:t=>({commands:e})=>this.options.levels.includes(t.level)?e.setNode(this.name,t):!1,toggleHeading:t=>({commands:e})=>this.options.levels.includes(t.level)?e.toggleNode(this.name,"paragraph",t):!1}},addKeyboardShortcuts(){return this.options.levels.reduce((t,e)=>({...t,[`Mod-Alt-${e}`]:()=>this.editor.commands.toggleHeading({level:e})}),{})},addInputRules(){return this.options.levels.map(t=>tr({find:new RegExp(`^(#{${Math.min(...this.options.levels)},${t}})\\s$`),type:this.type,getAttributes:{level:t}}))}}),Ad=M0;var v0=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/,T0=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))/g,A0=te.create({name:"highlight",addOptions(){return{multicolor:!1,HTMLAttributes:{}}},addAttributes(){return this.options.multicolor?{color:{default:null,parseHTML:t=>t.getAttribute("data-color")||t.style.backgroundColor,renderHTML:t=>t.color?{"data-color":t.color,style:`background-color: ${t.color}; color: inherit`}:{}}}:{}},parseHTML(){return[{tag:"mark"}]},renderHTML({HTMLAttributes:t}){return["mark",T(this.options.HTMLAttributes,t),0]},addCommands(){return{setHighlight:t=>({commands:e})=>e.setMark(this.name,t),toggleHighlight:t=>({commands:e})=>e.toggleMark(this.name,t),unsetHighlight:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-h":()=>this.editor.commands.toggleHighlight()}},addInputRules(){return[Ie({find:v0,type:this.type})]},addPasteRules(){return[Ce({find:T0,type:this.type})]}}),Ed=A0;var E0=z.create({name:"horizontalRule",addOptions(){return{HTMLAttributes:{}}},group:"block",parseHTML(){return[{tag:"hr"}]},renderHTML({HTMLAttributes:t}){return["hr",T(this.options.HTMLAttributes,t)]},addCommands(){return{setHorizontalRule:()=>({chain:t,state:e})=>{if(!rd(e,e.schema.nodes[this.name]))return!1;let{selection:n}=e,{$to:r}=n,o=t();return so(n)?o.insertContentAt(r.pos,{type:this.name}):o.insertContent({type:this.name}),o.command(({tr:i,dispatch:s})=>{var l;if(s){let{$to:a}=i.selection,c=a.end();if(a.nodeAfter)a.nodeAfter.isTextblock?i.setSelection(A.create(i.doc,a.pos+1)):a.nodeAfter.isBlock?i.setSelection(O.create(i.doc,a.pos)):i.setSelection(A.create(i.doc,a.pos));else{let u=(l=a.parent.type.contentMatch.defaultType)==null?void 0:l.create();u&&(i.insert(c,u),i.setSelection(A.create(i.doc,c+1)))}i.scrollIntoView()}return!0}).run()}}},addInputRules(){return[uo({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}}),Od=E0;var O0=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))$/,N0=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))/g,R0=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))$/,D0=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))/g,P0=te.create({name:"italic",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"em"},{tag:"i",getAttrs:t=>t.style.fontStyle!=="normal"&&null},{style:"font-style=normal",clearMark:t=>t.type.name===this.name},{style:"font-style=italic"}]},renderHTML({HTMLAttributes:t}){return["em",T(this.options.HTMLAttributes,t),0]},addCommands(){return{setItalic:()=>({commands:t})=>t.setMark(this.name),toggleItalic:()=>({commands:t})=>t.toggleMark(this.name),unsetItalic:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-i":()=>this.editor.commands.toggleItalic(),"Mod-I":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[Ie({find:O0,type:this.type}),Ie({find:R0,type:this.type})]},addPasteRules(){return[Ce({find:N0,type:this.type}),Ce({find:D0,type:this.type})]}}),Nd=P0;var I0=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,L0=z.create({name:"image",addOptions(){return{inline:!1,allowBase64:!1,HTMLAttributes:{}}},inline(){return this.options.inline},group(){return this.options.inline?"inline":"block"},draggable:!0,addAttributes(){return{src:{default:null},alt:{default:null},title:{default:null},width:{default:null},height:{default:null}}},parseHTML(){return[{tag:this.options.allowBase64?"img[src]":'img[src]:not([src^="data:"])'}]},renderHTML({HTMLAttributes:t}){return["img",T(this.options.HTMLAttributes,t)]},addCommands(){return{setImage:t=>({commands:e})=>e.insertContent({type:this.name,attrs:t})}},addInputRules(){return[uo({find:I0,type:this.type,getAttributes:t=>{let[,,e,n,r]=t;return{src:n,alt:e,title:r}}})]}}),Rd=L0;var Dd=Rd.extend({addAttributes(){return{...this.parent?.(),id:{default:null,parseHTML:t=>t.getAttribute("data-id"),renderHTML:t=>t.id?{"data-id":t.id}:{}}}}});var Pd=z.create({name:"lead",group:"block",content:"block+",addOptions(){return{HTMLAttributes:{class:"lead"}}},parseHTML(){return[{tag:"div",getAttrs:t=>t.classList.contains("lead")}]},renderHTML({HTMLAttributes:t}){return["div",T(this.options.HTMLAttributes,t),0]},addCommands(){return{toggleLead:()=>({commands:t})=>t.toggleWrap(this.name)}}});var B0="aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5m\xF6gensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",z0="\u03B5\u03BB1\u03C52\u0431\u04331\u0435\u043B3\u0434\u0435\u0442\u04384\u0435\u044E2\u043A\u0430\u0442\u043E\u043B\u0438\u043A6\u043E\u043C3\u043C\u043A\u04342\u043E\u043D1\u0441\u043A\u0432\u04306\u043E\u043D\u043B\u0430\u0439\u043D5\u0440\u04333\u0440\u0443\u04412\u04442\u0441\u0430\u0439\u04423\u0440\u04313\u0443\u043A\u04403\u049B\u0430\u04373\u0570\u0561\u05753\u05D9\u05E9\u05E8\u05D0\u05DC5\u05E7\u05D5\u05DD3\u0627\u0628\u0648\u0638\u0628\u064A5\u0631\u0627\u0645\u0643\u06485\u0644\u0627\u0631\u062F\u06464\u0628\u062D\u0631\u064A\u06465\u062C\u0632\u0627\u0626\u06315\u0633\u0639\u0648\u062F\u064A\u06296\u0639\u0644\u064A\u0627\u06465\u0645\u063A\u0631\u06285\u0645\u0627\u0631\u0627\u062A5\u06CC\u0631\u0627\u06465\u0628\u0627\u0631\u062A2\u0632\u0627\u06314\u064A\u062A\u06433\u06BE\u0627\u0631\u062A5\u062A\u0648\u0646\u06334\u0633\u0648\u062F\u0627\u06463\u0631\u064A\u06295\u0634\u0628\u0643\u06294\u0639\u0631\u0627\u06422\u06282\u0645\u0627\u06464\u0641\u0644\u0633\u0637\u064A\u06466\u0642\u0637\u06313\u0643\u0627\u062B\u0648\u0644\u064A\u06436\u0648\u06453\u0645\u0635\u06312\u0644\u064A\u0633\u064A\u06275\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u06277\u0642\u06394\u0647\u0645\u0631\u0627\u06475\u067E\u0627\u06A9\u0633\u062A\u0627\u06467\u0680\u0627\u0631\u062A4\u0915\u0949\u092E3\u0928\u0947\u091F3\u092D\u093E\u0930\u09240\u092E\u094D3\u094B\u09245\u0938\u0902\u0917\u0920\u09285\u09AC\u09BE\u0982\u09B2\u09BE5\u09AD\u09BE\u09B0\u09A42\u09F0\u09A44\u0A2D\u0A3E\u0A30\u0A244\u0AAD\u0ABE\u0AB0\u0AA44\u0B2D\u0B3E\u0B30\u0B244\u0B87\u0BA8\u0BCD\u0BA4\u0BBF\u0BAF\u0BBE6\u0BB2\u0B99\u0BCD\u0B95\u0BC86\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD11\u0C2D\u0C3E\u0C30\u0C24\u0C4D5\u0CAD\u0CBE\u0CB0\u0CA44\u0D2D\u0D3E\u0D30\u0D24\u0D025\u0DBD\u0D82\u0D9A\u0DCF4\u0E04\u0E2D\u0E213\u0E44\u0E17\u0E223\u0EA5\u0EB2\u0EA73\u10D2\u10D42\u307F\u3093\u306A3\u30A2\u30DE\u30BE\u30F34\u30AF\u30E9\u30A6\u30C94\u30B0\u30FC\u30B0\u30EB4\u30B3\u30E02\u30B9\u30C8\u30A23\u30BB\u30FC\u30EB3\u30D5\u30A1\u30C3\u30B7\u30E7\u30F36\u30DD\u30A4\u30F3\u30C84\u4E16\u754C2\u4E2D\u4FE11\u56FD1\u570B1\u6587\u7F513\u4E9A\u9A6C\u900A3\u4F01\u4E1A2\u4F5B\u5C712\u4FE1\u606F2\u5065\u5EB72\u516B\u53662\u516C\u53F81\u76CA2\u53F0\u6E7E1\u70632\u5546\u57CE1\u5E971\u68072\u5609\u91CC0\u5927\u9152\u5E975\u5728\u7EBF2\u5927\u62FF2\u5929\u4E3B\u65593\u5A31\u4E502\u5BB6\u96FB2\u5E7F\u4E1C2\u5FAE\u535A2\u6148\u55842\u6211\u7231\u4F603\u624B\u673A2\u62DB\u80582\u653F\u52A11\u5E9C2\u65B0\u52A0\u57612\u95FB2\u65F6\u5C1A2\u66F8\u7C4D2\u673A\u67842\u6DE1\u9A6C\u95213\u6E38\u620F2\u6FB3\u95802\u70B9\u770B2\u79FB\u52A82\u7EC4\u7EC7\u673A\u67844\u7F51\u57401\u5E971\u7AD91\u7EDC2\u8054\u901A2\u8C37\u6B4C2\u8D2D\u72692\u901A\u8CA92\u96C6\u56E22\u96FB\u8A0A\u76C8\u79D14\u98DE\u5229\u6D663\u98DF\u54C12\u9910\u53852\u9999\u683C\u91CC\u62C93\u6E2F2\uB2F7\uB1371\uCEF42\uC0BC\uC1312\uD55C\uAD6D2",cl="numeric",ul="ascii",dl="alpha",or="asciinumeric",rr="alphanumeric",fl="domain",$d="emoji",H0="scheme",F0="slashscheme",rl="whitespace";function $0(t,e){return t in e||(e[t]=[]),e[t]}function Xt(t,e,n){e[cl]&&(e[or]=!0,e[rr]=!0),e[ul]&&(e[or]=!0,e[dl]=!0),e[or]&&(e[rr]=!0),e[dl]&&(e[rr]=!0),e[rr]&&(e[fl]=!0),e[$d]&&(e[fl]=!0);for(let r in e){let o=$0(r,n);o.indexOf(t)<0&&o.push(t)}}function V0(t,e){let n={};for(let r in e)e[r].indexOf(t)>=0&&(n[r]=!0);return n}function Me(t=null){this.j={},this.jr=[],this.jd=null,this.t=t}Me.groups={};Me.prototype={accepts(){return!!this.t},go(t){let e=this,n=e.j[t];if(n)return n;for(let r=0;rt.ta(e,n,r,o),Z=(t,e,n,r,o)=>t.tr(e,n,r,o),Id=(t,e,n,r,o)=>t.ts(e,n,r,o),k=(t,e,n,r,o)=>t.tt(e,n,r,o),bt="WORD",hl="UWORD",Vd="ASCIINUMERICAL",Wd="ALPHANUMERICAL",ur="LOCALHOST",pl="TLD",ml="UTLD",wo="SCHEME",Cn="SLASH_SCHEME",yl="NUM",gl="WS",bl="NL",ir="OPENBRACE",sr="CLOSEBRACE",So="OPENBRACKET",ko="CLOSEBRACKET",Co="OPENPAREN",Mo="CLOSEPAREN",vo="OPENANGLEBRACKET",To="CLOSEANGLEBRACKET",Ao="FULLWIDTHLEFTPAREN",Eo="FULLWIDTHRIGHTPAREN",Oo="LEFTCORNERBRACKET",No="RIGHTCORNERBRACKET",Ro="LEFTWHITECORNERBRACKET",Do="RIGHTWHITECORNERBRACKET",Po="FULLWIDTHLESSTHAN",Io="FULLWIDTHGREATERTHAN",Lo="AMPERSAND",Bo="APOSTROPHE",zo="ASTERISK",Rt="AT",Ho="BACKSLASH",Fo="BACKTICK",$o="CARET",Dt="COLON",xl="COMMA",Vo="DOLLAR",et="DOT",Wo="EQUALS",wl="EXCLAMATION",Be="HYPHEN",lr="PERCENT",_o="PIPE",jo="PLUS",Ko="POUND",ar="QUERY",Sl="QUOTE",_d="FULLWIDTHMIDDLEDOT",kl="SEMI",tt="SLASH",cr="TILDE",Uo="UNDERSCORE",jd="EMOJI",Jo="SYM",Kd=Object.freeze({__proto__:null,ALPHANUMERICAL:Wd,AMPERSAND:Lo,APOSTROPHE:Bo,ASCIINUMERICAL:Vd,ASTERISK:zo,AT:Rt,BACKSLASH:Ho,BACKTICK:Fo,CARET:$o,CLOSEANGLEBRACKET:To,CLOSEBRACE:sr,CLOSEBRACKET:ko,CLOSEPAREN:Mo,COLON:Dt,COMMA:xl,DOLLAR:Vo,DOT:et,EMOJI:jd,EQUALS:Wo,EXCLAMATION:wl,FULLWIDTHGREATERTHAN:Io,FULLWIDTHLEFTPAREN:Ao,FULLWIDTHLESSTHAN:Po,FULLWIDTHMIDDLEDOT:_d,FULLWIDTHRIGHTPAREN:Eo,HYPHEN:Be,LEFTCORNERBRACKET:Oo,LEFTWHITECORNERBRACKET:Ro,LOCALHOST:ur,NL:bl,NUM:yl,OPENANGLEBRACKET:vo,OPENBRACE:ir,OPENBRACKET:So,OPENPAREN:Co,PERCENT:lr,PIPE:_o,PLUS:jo,POUND:Ko,QUERY:ar,QUOTE:Sl,RIGHTCORNERBRACKET:No,RIGHTWHITECORNERBRACKET:Do,SCHEME:wo,SEMI:kl,SLASH:tt,SLASH_SCHEME:Cn,SYM:Jo,TILDE:cr,TLD:pl,UNDERSCORE:Uo,UTLD:ml,UWORD:hl,WORD:bt,WS:gl}),gt=/[a-z]/,nr=/\p{L}/u,ol=/\p{Emoji}/u;var yt=/\d/,il=/\s/;var Ld="\r",sl=` +`,W0="\uFE0F",_0="\u200D",ll="\uFFFC",yo=null,bo=null;function j0(t=[]){let e={};Me.groups=e;let n=new Me;yo==null&&(yo=Bd(B0)),bo==null&&(bo=Bd(z0)),k(n,"'",Bo),k(n,"{",ir),k(n,"}",sr),k(n,"[",So),k(n,"]",ko),k(n,"(",Co),k(n,")",Mo),k(n,"<",vo),k(n,">",To),k(n,"\uFF08",Ao),k(n,"\uFF09",Eo),k(n,"\u300C",Oo),k(n,"\u300D",No),k(n,"\u300E",Ro),k(n,"\u300F",Do),k(n,"\uFF1C",Po),k(n,"\uFF1E",Io),k(n,"&",Lo),k(n,"*",zo),k(n,"@",Rt),k(n,"`",Fo),k(n,"^",$o),k(n,":",Dt),k(n,",",xl),k(n,"$",Vo),k(n,".",et),k(n,"=",Wo),k(n,"!",wl),k(n,"-",Be),k(n,"%",lr),k(n,"|",_o),k(n,"+",jo),k(n,"#",Ko),k(n,"?",ar),k(n,'"',Sl),k(n,"/",tt),k(n,";",kl),k(n,"~",cr),k(n,"_",Uo),k(n,"\\",Ho),k(n,"\u30FB",_d);let r=Z(n,yt,yl,{[cl]:!0});Z(r,yt,r);let o=Z(r,gt,Vd,{[or]:!0}),i=Z(r,nr,Wd,{[rr]:!0}),s=Z(n,gt,bt,{[ul]:!0});Z(s,yt,o),Z(s,gt,s),Z(o,yt,o),Z(o,gt,o);let l=Z(n,nr,hl,{[dl]:!0});Z(l,gt),Z(l,yt,i),Z(l,nr,l),Z(i,yt,i),Z(i,gt),Z(i,nr,i);let a=k(n,sl,bl,{[rl]:!0}),c=k(n,Ld,gl,{[rl]:!0}),u=Z(n,il,gl,{[rl]:!0});k(n,ll,u),k(c,sl,a),k(c,ll,u),Z(c,il,u),k(u,Ld),k(u,sl),Z(u,il,u),k(u,ll,u);let d=Z(n,ol,jd,{[$d]:!0});k(d,"#"),Z(d,ol,d),k(d,W0,d);let f=k(d,_0);k(f,"#"),Z(f,ol,d);let h=[[gt,s],[yt,o]],p=[[gt,null],[nr,l],[yt,i]];for(let m=0;mm[0]>g[0]?1:-1);for(let m=0;m=0?b[fl]=!0:gt.test(g)?yt.test(g)?b[or]=!0:b[ul]=!0:b[cl]=!0,Id(n,g,g,b)}return Id(n,"localhost",ur,{ascii:!0}),n.jd=new Me(Jo),{start:n,tokens:Object.assign({groups:e},Kd)}}function Ud(t,e){let n=K0(e.replace(/[A-Z]/g,l=>l.toLowerCase())),r=n.length,o=[],i=0,s=0;for(;s=0&&(d+=n[s].length,f++),c+=n[s].length,i+=n[s].length,s++;i-=d,s-=f,c-=d,o.push({t:u.t,v:e.slice(i-c,i),s:i-c,e:i})}return o}function K0(t){let e=[],n=t.length,r=0;for(;r56319||r+1===n||(i=t.charCodeAt(r+1))<56320||i>57343?t[r]:t.slice(r,r+2);e.push(s),r+=s.length}return e}function Nt(t,e,n,r,o){let i,s=e.length;for(let l=0;l=0;)i++;if(i>0){e.push(n.join(""));for(let s=parseInt(t.substring(r,r+i),10);s>0;s--)n.pop();r+=i}else n.push(t[r]),r++}return e}var dr={defaultProtocol:"http",events:null,format:zd,formatHref:zd,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function Cl(t,e=null){let n=Object.assign({},dr);t&&(n=Object.assign(n,t instanceof Cl?t.o:t));let r=n.ignoreTags,o=[];for(let i=0;in?r.substring(0,n)+"\u2026":r},toFormattedHref(t){return t.get("formatHref",this.toHref(t.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(t=dr.defaultProtocol){return{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(t),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(t){return{type:this.t,value:this.toFormattedString(t),isLink:this.isLink,href:this.toFormattedHref(t),start:this.startIndex(),end:this.endIndex()}},validate(t){return t.get("validate",this.toString(),this)},render(t){let e=this,n=this.toHref(t.get("defaultProtocol")),r=t.get("formatHref",n,this),o=t.get("tagName",n,e),i=this.toFormattedString(t),s={},l=t.get("className",n,e),a=t.get("target",n,e),c=t.get("rel",n,e),u=t.getObj("attributes",n,e),d=t.getObj("events",n,e);return s.href=r,l&&(s.class=l),a&&(s.target=a),c&&(s.rel=c),u&&Object.assign(s,u),{tagName:o,attributes:s,content:i,eventListeners:d}}};function qo(t,e){class n extends Jd{constructor(o,i){super(o,i),this.t=t}}for(let r in e)n.prototype[r]=e[r];return n.t=t,n}var Hd=qo("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),Fd=qo("text"),U0=qo("nl"),xo=qo("url",{isLink:!0,toHref(t=dr.defaultProtocol){return this.hasProtocol()?this.v:`${t}://${this.v}`},hasProtocol(){let t=this.tk;return t.length>=2&&t[0].t!==ur&&t[1].t===Dt}});var Le=t=>new Me(t);function J0({groups:t}){let e=t.domain.concat([Lo,zo,Rt,Ho,Fo,$o,Vo,Wo,Be,yl,lr,_o,jo,Ko,tt,Jo,cr,Uo]),n=[Bo,Dt,xl,et,wl,lr,ar,Sl,kl,vo,To,ir,sr,ko,So,Co,Mo,Ao,Eo,Oo,No,Ro,Do,Po,Io],r=[Lo,Bo,zo,Ho,Fo,$o,Vo,Wo,Be,ir,sr,lr,_o,jo,Ko,ar,tt,Jo,cr,Uo],o=Le(),i=k(o,cr);F(i,r,i),F(i,t.domain,i);let s=Le(),l=Le(),a=Le();F(o,t.domain,s),F(o,t.scheme,l),F(o,t.slashscheme,a),F(s,r,i),F(s,t.domain,s);let c=k(s,Rt);k(i,Rt,c),k(l,Rt,c),k(a,Rt,c);let u=k(i,et);F(u,r,i),F(u,t.domain,i);let d=Le();F(c,t.domain,d),F(d,t.domain,d);let f=k(d,et);F(f,t.domain,d);let h=Le(Hd);F(f,t.tld,h),F(f,t.utld,h),k(c,ur,h);let p=k(d,Be);k(p,Be,p),F(p,t.domain,d),F(h,t.domain,d),k(h,et,f),k(h,Be,p);let m=k(h,Dt);F(m,t.numeric,Hd);let g=k(s,Be),y=k(s,et);k(g,Be,g),F(g,t.domain,s),F(y,r,i),F(y,t.domain,s);let b=Le(xo);F(y,t.tld,b),F(y,t.utld,b),F(b,t.domain,s),F(b,r,i),k(b,et,y),k(b,Be,g),k(b,Rt,c);let x=k(b,Dt),C=Le(xo);F(x,t.numeric,C);let S=Le(xo),R=Le();F(S,e,S),F(S,n,R),F(R,e,S),F(R,n,R),k(b,tt,S),k(C,tt,S);let P=k(l,Dt),v=k(a,Dt),B=k(v,tt),D=k(B,tt);F(l,t.domain,s),k(l,et,y),k(l,Be,g),F(a,t.domain,s),k(a,et,y),k(a,Be,g),F(P,t.domain,S),k(P,tt,S),k(P,ar,S),F(D,t.domain,S),F(D,e,S),k(D,tt,S);let _=[[ir,sr],[So,ko],[Co,Mo],[vo,To],[Ao,Eo],[Oo,No],[Ro,Do],[Po,Io]];for(let H=0;H<_.length;H++){let[j,U]=_[H],oe=k(S,j);k(R,j,oe),k(oe,U,S);let X=Le(xo);F(oe,e,X);let G=Le();F(oe,n),F(X,e,X),F(X,n,G),F(G,e,X),F(G,n,G),k(X,U,S),k(G,U,S)}return k(o,ur,b),k(o,bl,U0),{start:o,tokens:Kd}}function q0(t,e,n){let r=n.length,o=0,i=[],s=[];for(;o=0&&f++,o++,u++;if(f<0)o-=u,o0&&(i.push(al(Fd,e,s)),s=[]),o-=f,u-=f;let h=d.t,p=n.slice(o-u,o);i.push(al(h,e,p))}}return s.length>0&&i.push(al(Fd,e,s)),i}function al(t,e,n){let r=n[0].s,o=n[n.length-1].e,i=e.slice(r,o);return new t(i,n)}var G0=typeof console<"u"&&console&&console.warn||(()=>{}),Y0="until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.",q={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function qd(){return Me.groups={},q.scanner=null,q.parser=null,q.tokenQueue=[],q.pluginQueue=[],q.customSchemes=[],q.initialized=!1,q}function Ml(t,e=!1){if(q.initialized&&G0(`linkifyjs: already initialized - will not register custom scheme "${t}" ${Y0}`),!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(t))throw new Error(`linkifyjs: incorrect scheme format. +1. Must only contain digits, lowercase ASCII letters or "-" +2. Cannot start or end with "-" +3. "-" cannot repeat`);q.customSchemes.push([t,e])}function X0(){q.scanner=j0(q.customSchemes);for(let t=0;t{let o=e.some(c=>c.docChanged)&&!n.doc.eq(r.doc),i=e.some(c=>c.getMeta("preventAutolink"));if(!o||i)return;let{tr:s}=r,l=zs(n.doc,[...e]);if(_s(l).forEach(({newRange:c})=>{let u=Eu(r.doc,c,h=>h.isTextblock),d,f;if(u.length>1)d=u[0],f=r.doc.textBetween(d.pos,d.pos+d.node.nodeSize,void 0," ");else if(u.length){let h=r.doc.textBetween(c.from,c.to," "," ");if(!Z0.test(h))return;d=u[0],f=r.doc.textBetween(d.pos,c.to,void 0," ")}if(d&&f){let h=f.split(Q0).filter(Boolean);if(h.length<=0)return!1;let p=h[h.length-1],m=d.pos+f.lastIndexOf(p);if(!p)return!1;let g=Go(p).map(y=>y.toObject(t.defaultProtocol));if(!tb(g))return!1;g.filter(y=>y.isLink).map(y=>({...y,from:m+y.start+1,to:m+y.end+1})).filter(y=>r.schema.marks.code?!r.doc.rangeHasMark(y.from,y.to,r.schema.marks.code):!0).filter(y=>t.validate(y.value)).filter(y=>t.shouldAutoLink(y.value)).forEach(y=>{io(y.from,y.to,r.doc).some(b=>b.mark.type===t.type)||s.addMark(y.from,y.to,t.type.create({href:y.href}))})}}),!!s.steps.length)return s}})}function rb(t){return new N({key:new L("handleClickLink"),props:{handleClick:(e,n,r)=>{var o,i;if(r.button!==0||!e.editable)return!1;let s=null;if(r.target instanceof HTMLAnchorElement)s=r.target;else{let u=r.target,d=[];for(;u.nodeName!=="DIV";)d.push(u),u=u.parentNode;s=d.find(f=>f.nodeName==="A")}if(!s)return!1;let l=Ws(e.state,t.type.name),a=(o=s?.href)!=null?o:l.href,c=(i=s?.target)!=null?i:l.target;return t.enableClickSelection&&t.editor.commands.extendMarkRange(t.type.name),s&&a?(window.open(a,c),!0):!1}}})}function ob(t){return new N({key:new L("handlePasteLink"),props:{handlePaste:(e,n,r)=>{let{state:o}=e,{selection:i}=o,{empty:s}=i;if(s)return!1;let l="";r.content.forEach(c=>{l+=c.textContent});let a=Yo(l,{defaultProtocol:t.defaultProtocol}).find(c=>c.isLink&&c.value===l);return!l||!a?!1:t.editor.commands.setMark(t.type,{href:a.href})}}})}function Qt(t,e){let n=["http","https","ftp","ftps","mailto","tel","callto","sms","cid","xmpp"];return e&&e.forEach(r=>{let o=typeof r=="string"?r:r.scheme;o&&n.push(o)}),!t||t.replace(eb,"").match(new RegExp(`^(?:(?:${n.join("|")}):|[^a-z]|[a-z0-9+.-]+(?:[^a-z+.-:]|$))`,"i"))}var ib=te.create({name:"link",priority:1e3,keepOnSplit:!1,exitable:!0,onCreate(){this.options.validate&&!this.options.shouldAutoLink&&(this.options.shouldAutoLink=this.options.validate,console.warn("The `validate` option is deprecated. Rename to the `shouldAutoLink` option instead.")),this.options.protocols.forEach(t=>{if(typeof t=="string"){Ml(t);return}Ml(t.scheme,t.optionalSlashes)})},onDestroy(){qd()},inclusive(){return this.options.autolink},addOptions(){return{openOnClick:!0,enableClickSelection:!1,linkOnPaste:!0,autolink:!0,protocols:[],defaultProtocol:"http",HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},isAllowedUri:(t,e)=>!!Qt(t,e.protocols),validate:t=>!!t,shouldAutoLink:t=>!!t}},addAttributes(){return{href:{default:null,parseHTML(t){return t.getAttribute("href")}},target:{default:this.options.HTMLAttributes.target},rel:{default:this.options.HTMLAttributes.rel},class:{default:this.options.HTMLAttributes.class}}},parseHTML(){return[{tag:"a[href]",getAttrs:t=>{let e=t.getAttribute("href");return!e||!this.options.isAllowedUri(e,{defaultValidate:n=>!!Qt(n,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?!1:null}}]},renderHTML({HTMLAttributes:t}){return this.options.isAllowedUri(t.href,{defaultValidate:e=>!!Qt(e,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?["a",T(this.options.HTMLAttributes,t),0]:["a",T(this.options.HTMLAttributes,{...t,href:""}),0]},addCommands(){return{setLink:t=>({chain:e})=>{let{href:n}=t;return this.options.isAllowedUri(n,{defaultValidate:r=>!!Qt(r,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?e().setMark(this.name,t).setMeta("preventAutolink",!0).run():!1},toggleLink:t=>({chain:e})=>{let{href:n}=t||{};return n&&!this.options.isAllowedUri(n,{defaultValidate:r=>!!Qt(r,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?!1:e().toggleMark(this.name,t,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()},unsetLink:()=>({chain:t})=>t().unsetMark(this.name,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()}},addPasteRules(){return[Ce({find:t=>{let e=[];if(t){let{protocols:n,defaultProtocol:r}=this.options,o=Yo(t).filter(i=>i.isLink&&this.options.isAllowedUri(i.value,{defaultValidate:s=>!!Qt(s,n),protocols:n,defaultProtocol:r}));o.length&&o.forEach(i=>e.push({text:i.value,data:{href:i.href},index:i.start}))}return e},type:this.type,getAttributes:t=>{var e;return{href:(e=t.data)==null?void 0:e.href}}})]},addProseMirrorPlugins(){let t=[],{protocols:e,defaultProtocol:n}=this.options;return this.options.autolink&&t.push(nb({type:this.type,defaultProtocol:this.options.defaultProtocol,validate:r=>this.options.isAllowedUri(r,{defaultValidate:o=>!!Qt(o,e),protocols:e,defaultProtocol:n}),shouldAutoLink:this.options.shouldAutoLink})),this.options.openOnClick===!0&&t.push(rb({type:this.type,editor:this.editor,enableClickSelection:this.options.enableClickSelection})),this.options.linkOnPaste&&t.push(ob({editor:this.editor,defaultProtocol:this.options.defaultProtocol,type:this.type})),t}}),Gd=ib;var sb=Object.defineProperty,lb=(t,e)=>{for(var n in e)sb(t,n,{get:e[n],enumerable:!0})},ab="listItem",Yd="textStyle",Xd=/^\s*([-+*])\s$/,El=z.create({name:"bulletList",addOptions(){return{itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}},group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML(){return[{tag:"ul"}]},renderHTML({HTMLAttributes:t}){return["ul",T(this.options.HTMLAttributes,t),0]},addCommands(){return{toggleBulletList:()=>({commands:t,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(ab,this.editor.getAttributes(Yd)).run():t.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-8":()=>this.editor.commands.toggleBulletList()}},addInputRules(){let t=Xe({find:Xd,type:this.type});return(this.options.keepMarks||this.options.keepAttributes)&&(t=Xe({find:Xd,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:()=>this.editor.getAttributes(Yd),editor:this.editor})),[t]}}),Ol=z.create({name:"listItem",addOptions(){return{HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}},content:"paragraph block*",defining:!0,parseHTML(){return[{tag:"li"}]},renderHTML({HTMLAttributes:t}){return["li",T(this.options.HTMLAttributes,t),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),cb={};lb(cb,{findListItemPos:()=>fr,getNextListDepth:()=>Nl,handleBackspace:()=>Tl,handleDelete:()=>Al,hasListBefore:()=>ef,hasListItemAfter:()=>ub,hasListItemBefore:()=>tf,listItemHasSubList:()=>nf,nextListIsDeeper:()=>rf,nextListIsHigher:()=>of});var fr=(t,e)=>{let{$from:n}=e.selection,r=Q(t,e.schema),o=null,i=n.depth,s=n.pos,l=null;for(;i>0&&l===null;)o=n.node(i),o.type===r?l=i:(i-=1,s-=1);return l===null?null:{$pos:e.doc.resolve(s),depth:l}},Nl=(t,e)=>{let n=fr(t,e);if(!n)return!1;let[,r]=Bu(e,t,n.$pos.pos+4);return r},ef=(t,e,n)=>{let{$anchor:r}=t.selection,o=Math.max(0,r.pos-2),i=t.doc.resolve(o).node();return!(!i||!n.includes(i.type.name))},tf=(t,e)=>{var n;let{$anchor:r}=e.selection,o=e.doc.resolve(r.pos-2);return!(o.index()===0||((n=o.nodeBefore)==null?void 0:n.type.name)!==t)},nf=(t,e,n)=>{if(!n)return!1;let r=Q(t,e.schema),o=!1;return n.descendants(i=>{i.type===r&&(o=!0)}),o},Tl=(t,e,n)=>{if(t.commands.undoInputRule())return!0;if(t.state.selection.from!==t.state.selection.to)return!1;if(!Ge(t.state,e)&&ef(t.state,e,n)){let{$anchor:l}=t.state.selection,a=t.state.doc.resolve(l.before()-1),c=[];a.node().descendants((f,h)=>{f.type.name===e&&c.push({node:f,pos:h})});let u=c.at(-1);if(!u)return!1;let d=t.state.doc.resolve(a.start()+u.pos+1);return t.chain().cut({from:l.start()-1,to:l.end()+1},d.end()).joinForward().run()}if(!Ge(t.state,e)||!Hu(t.state))return!1;let r=fr(e,t.state);if(!r)return!1;let i=t.state.doc.resolve(r.$pos.pos-2).node(r.depth),s=nf(e,t.state,i);return tf(e,t.state)&&!s?t.commands.joinItemBackward():t.chain().liftListItem(e).run()},rf=(t,e)=>{let n=Nl(t,e),r=fr(t,e);return!r||!n?!1:n>r.depth},of=(t,e)=>{let n=Nl(t,e),r=fr(t,e);return!r||!n?!1:n{if(!Ge(t.state,e)||!zu(t.state,e))return!1;let{selection:n}=t.state,{$from:r,$to:o}=n;return!n.empty&&r.sameParent(o)?!1:rf(e,t.state)?t.chain().focus(t.state.selection.from+4).lift(e).joinBackward().run():of(e,t.state)?t.chain().joinForward().joinBackward().run():t.commands.joinItemForward()},ub=(t,e)=>{var n;let{$anchor:r}=e.selection,o=e.doc.resolve(r.pos-r.parentOffset-2);return!(o.index()===o.parent.childCount-1||((n=o.nodeAfter)==null?void 0:n.type.name)!==t)},db=$.create({name:"listKeymap",addOptions(){return{listTypes:[{itemName:"listItem",wrapperNames:["bulletList","orderedList"]},{itemName:"taskItem",wrapperNames:["taskList"]}]}},addKeyboardShortcuts(){return{Delete:({editor:t})=>{let e=!1;return this.options.listTypes.forEach(({itemName:n})=>{t.state.schema.nodes[n]!==void 0&&Al(t,n)&&(e=!0)}),e},"Mod-Delete":({editor:t})=>{let e=!1;return this.options.listTypes.forEach(({itemName:n})=>{t.state.schema.nodes[n]!==void 0&&Al(t,n)&&(e=!0)}),e},Backspace:({editor:t})=>{let e=!1;return this.options.listTypes.forEach(({itemName:n,wrapperNames:r})=>{t.state.schema.nodes[n]!==void 0&&Tl(t,n,r)&&(e=!0)}),e},"Mod-Backspace":({editor:t})=>{let e=!1;return this.options.listTypes.forEach(({itemName:n,wrapperNames:r})=>{t.state.schema.nodes[n]!==void 0&&Tl(t,n,r)&&(e=!0)}),e}}}}),fb="listItem",Qd="textStyle",Zd=/^(\d+)\.\s$/,Rl=z.create({name:"orderedList",addOptions(){return{itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}},group:"block list",content(){return`${this.options.itemTypeName}+`},addAttributes(){return{start:{default:1,parseHTML:t=>t.hasAttribute("start")?parseInt(t.getAttribute("start")||"",10):1},type:{default:null,parseHTML:t=>t.getAttribute("type")}}},parseHTML(){return[{tag:"ol"}]},renderHTML({HTMLAttributes:t}){let{start:e,...n}=t;return e===1?["ol",T(this.options.HTMLAttributes,n),0]:["ol",T(this.options.HTMLAttributes,t),0]},addCommands(){return{toggleOrderedList:()=>({commands:t,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(fb,this.editor.getAttributes(Qd)).run():t.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-7":()=>this.editor.commands.toggleOrderedList()}},addInputRules(){let t=Xe({find:Zd,type:this.type,getAttributes:e=>({start:+e[1]}),joinPredicate:(e,n)=>n.childCount+n.attrs.start===+e[1]});return(this.options.keepMarks||this.options.keepAttributes)&&(t=Xe({find:Zd,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:e=>({start:+e[1],...this.editor.getAttributes(Qd)}),joinPredicate:(e,n)=>n.childCount+n.attrs.start===+e[1],editor:this.editor})),[t]}}),hb=/^\s*(\[([( |x])?\])\s$/,pb=z.create({name:"taskItem",addOptions(){return{nested:!1,HTMLAttributes:{},taskListTypeName:"taskList",a11y:void 0}},content(){return this.options.nested?"paragraph block*":"paragraph+"},defining:!0,addAttributes(){return{checked:{default:!1,keepOnSplit:!1,parseHTML:t=>{let e=t.getAttribute("data-checked");return e===""||e==="true"},renderHTML:t=>({"data-checked":t.checked})}}},parseHTML(){return[{tag:`li[data-type="${this.name}"]`,priority:51}]},renderHTML({node:t,HTMLAttributes:e}){return["li",T(this.options.HTMLAttributes,e,{"data-type":this.name}),["label",["input",{type:"checkbox",checked:t.attrs.checked?"checked":null}],["span"]],["div",0]]},addKeyboardShortcuts(){let t={Enter:()=>this.editor.commands.splitListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)};return this.options.nested?{...t,Tab:()=>this.editor.commands.sinkListItem(this.name)}:t},addNodeView(){return({node:t,HTMLAttributes:e,getPos:n,editor:r})=>{let o=document.createElement("li"),i=document.createElement("label"),s=document.createElement("span"),l=document.createElement("input"),a=document.createElement("div"),c=()=>{var u,d;l.ariaLabel=((d=(u=this.options.a11y)==null?void 0:u.checkboxLabel)==null?void 0:d.call(u,t,l.checked))||`Task item checkbox for ${t.textContent||"empty task item"}`};return c(),i.contentEditable="false",l.type="checkbox",l.addEventListener("mousedown",u=>u.preventDefault()),l.addEventListener("change",u=>{if(!r.isEditable&&!this.options.onReadOnlyChecked){l.checked=!l.checked;return}let{checked:d}=u.target;r.isEditable&&typeof n=="function"&&r.chain().focus(void 0,{scrollIntoView:!1}).command(({tr:f})=>{let h=n();if(typeof h!="number")return!1;let p=f.doc.nodeAt(h);return f.setNodeMarkup(h,void 0,{...p?.attrs,checked:d}),!0}).run(),!r.isEditable&&this.options.onReadOnlyChecked&&(this.options.onReadOnlyChecked(t,d)||(l.checked=!l.checked))}),Object.entries(this.options.HTMLAttributes).forEach(([u,d])=>{o.setAttribute(u,d)}),o.dataset.checked=t.attrs.checked,l.checked=t.attrs.checked,i.append(l,s),o.append(i,a),Object.entries(e).forEach(([u,d])=>{o.setAttribute(u,d)}),{dom:o,contentDOM:a,update:u=>u.type!==this.type?!1:(o.dataset.checked=u.attrs.checked,l.checked=u.attrs.checked,c(),!0)}}},addInputRules(){return[Xe({find:hb,type:this.type,getAttributes:t=>({checked:t[t.length-1]==="x"})})]}}),mb=z.create({name:"taskList",addOptions(){return{itemTypeName:"taskItem",HTMLAttributes:{}}},group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML(){return[{tag:`ul[data-type="${this.name}"]`,priority:51}]},renderHTML({HTMLAttributes:t}){return["ul",T(this.options.HTMLAttributes,t,{"data-type":this.name}),0]},addCommands(){return{toggleTaskList:()=>({commands:t})=>t.toggleList(this.name,this.options.itemTypeName)}},addKeyboardShortcuts(){return{"Mod-Shift-9":()=>this.editor.commands.toggleTaskList()}}}),mC=$.create({name:"listKit",addExtensions(){let t=[];return this.options.bulletList!==!1&&t.push(El.configure(this.options.bulletList)),this.options.listItem!==!1&&t.push(Ol.configure(this.options.listItem)),this.options.listKeymap!==!1&&t.push(db.configure(this.options.listKeymap)),this.options.orderedList!==!1&&t.push(Rl.configure(this.options.orderedList)),this.options.taskItem!==!1&&t.push(pb.configure(this.options.taskItem)),this.options.taskList!==!1&&t.push(mb.configure(this.options.taskList)),t}});var sf=["image/png","image/jpeg","image/gif","image/webp"],Xo=(t,e,n={})=>{t.dom.closest("form")?.dispatchEvent(new CustomEvent(e,{composed:!0,cancelable:!0,detail:n}))},gb=({editor:t,get$WireUsing:e,key:n,statePath:r,uploadingMessage:o})=>{let i=s=>e().callSchemaComponentMethod(n,"getUploadedFileAttachmentTemporaryUrl",{attachment:s});return new N({key:new L("localFiles"),props:{handleDrop(s,l){if(!l.dataTransfer?.files.length)return!1;let a=Array.from(l.dataTransfer.files).filter(u=>sf.includes(u.type));if(!a.length)return!1;Xo(s,"form-processing-started",{message:o}),l.preventDefault(),l.stopPropagation();let c=s.posAtCoords({left:l.clientX,top:l.clientY});return a.forEach((u,d)=>{t.setEditable(!1),s.dom.dispatchEvent(new CustomEvent("rich-editor-uploading-file",{bubbles:!0,detail:{key:n,livewireId:e().id}}));let f=("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,h=>(h^crypto.getRandomValues(new Uint8Array(1))[0]&15>>h/4).toString(16));e().upload(`componentFileAttachments.${r}.${f}`,u,()=>{i(f).then(h=>{h&&(t.chain().insertContentAt(c?.pos??0,{type:"image",attrs:{id:f,src:h}}).run(),t.setEditable(!0),s.dom.dispatchEvent(new CustomEvent("rich-editor-uploaded-file",{bubbles:!0,detail:{key:n,livewireId:e().id}})),d===a.length-1&&Xo(s,"form-processing-finished"))})})}),!0},handlePaste(s,l){if(!l.clipboardData?.files.length||l.clipboardData?.getData("text").length)return!1;let a=Array.from(l.clipboardData.files).filter(c=>sf.includes(c.type));return a.length?(l.preventDefault(),l.stopPropagation(),Xo(s,"form-processing-started",{message:o}),a.forEach((c,u)=>{t.setEditable(!1),s.dom.dispatchEvent(new CustomEvent("rich-editor-uploading-file",{bubbles:!0,detail:{key:n,livewireId:e().id}}));let d=("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,f=>(f^crypto.getRandomValues(new Uint8Array(1))[0]&15>>f/4).toString(16));e().upload(`componentFileAttachments.${r}.${d}`,c,()=>{i(d).then(f=>{f&&(t.chain().insertContentAt(t.state.selection.anchor,{type:"image",attrs:{id:d,src:f}}).run(),t.setEditable(!0),s.dom.dispatchEvent(new CustomEvent("rich-editor-uploaded-file",{bubbles:!0,detail:{key:n,livewireId:e().id}})),u===a.length-1&&Xo(s,"form-processing-finished"))})})}),!0):!1}}})},lf=$.create({name:"localFiles",addOptions(){return{key:null,statePath:null,uploadingMessage:null,get$WireUsing:null}},addProseMirrorPlugins(){return[gb({editor:this.editor,...this.options})]}});function yb(t){var e;let{char:n,allowSpaces:r,allowToIncludeChar:o,allowedPrefixes:i,startOfLine:s,$position:l}=t,a=r&&!o,c=od(n),u=new RegExp(`\\s${c}$`),d=s?"^":"",f=o?"":c,h=a?new RegExp(`${d}${c}.*?(?=\\s${f}|$)`,"gm"):new RegExp(`${d}(?:^)?${c}[^\\s${f}]*`,"gm"),p=((e=l.nodeBefore)==null?void 0:e.isText)&&l.nodeBefore.text;if(!p)return null;let m=l.pos-p.length,g=Array.from(p.matchAll(h)).pop();if(!g||g.input===void 0||g.index===void 0)return null;let y=g.input.slice(Math.max(0,g.index-1),g.index),b=new RegExp(`^[${i?.join("")}\0]?$`).test(y);if(i!==null&&!b)return null;let x=m+g.index,C=x+g[0].length;return a&&u.test(p.slice(C-1,C+1))&&(g[0]+=" ",C+=1),x=l.pos?{range:{from:x,to:C},query:g[0].slice(n.length),text:g[0]}:null}var bb=new L("suggestion");function xb({pluginKey:t=bb,editor:e,char:n="@",allowSpaces:r=!1,allowToIncludeChar:o=!1,allowedPrefixes:i=[" "],startOfLine:s=!1,decorationTag:l="span",decorationClass:a="suggestion",decorationContent:c="",decorationEmptyClass:u="is-empty",command:d=()=>null,items:f=()=>[],render:h=()=>({}),allow:p=()=>!0,findSuggestionMatch:m=yb}){let g,y=h?.(),b=new N({key:t,view(){return{update:async(x,C)=>{var S,R,P,v,B,D,_;let H=(S=this.key)==null?void 0:S.getState(C),j=(R=this.key)==null?void 0:R.getState(x.state),U=H.active&&j.active&&H.range.from!==j.range.from,oe=!H.active&&j.active,X=H.active&&!j.active,G=!oe&&!X&&H.query!==j.query,ie=oe||U&&G,Te=G||U,En=X||U&&G;if(!ie&&!Te&&!En)return;let rn=En&&!ie?H:j,Xl=x.dom.querySelector(`[data-decoration-id="${rn.decorationId}"]`);g={editor:e,range:rn.range,query:rn.query,text:rn.text,items:[],command:xr=>d({editor:e,range:rn.range,props:xr}),decorationNode:Xl,clientRect:Xl?()=>{var xr;let{decorationId:Bh}=(xr=this.key)==null?void 0:xr.getState(e.state),Ql=x.dom.querySelector(`[data-decoration-id="${Bh}"]`);return Ql?.getBoundingClientRect()||null}:null},ie&&((P=y?.onBeforeStart)==null||P.call(y,g)),Te&&((v=y?.onBeforeUpdate)==null||v.call(y,g)),(Te||ie)&&(g.items=await f({editor:e,query:rn.query})),En&&((B=y?.onExit)==null||B.call(y,g)),Te&&((D=y?.onUpdate)==null||D.call(y,g)),ie&&((_=y?.onStart)==null||_.call(y,g))},destroy:()=>{var x;g&&((x=y?.onExit)==null||x.call(y,g))}}},state:{init(){return{active:!1,range:{from:0,to:0},query:null,text:null,composing:!1}},apply(x,C,S,R){let{isEditable:P}=e,{composing:v}=e.view,{selection:B}=x,{empty:D,from:_}=B,H={...C};if(H.composing=v,P&&(D||e.view.composing)){(_C.range.to)&&!v&&!C.composing&&(H.active=!1);let j=m({char:n,allowSpaces:r,allowToIncludeChar:o,allowedPrefixes:i,startOfLine:s,$position:B.$from}),U=`id_${Math.floor(Math.random()*4294967295)}`;j&&p({editor:e,state:R,range:j.range,isActive:C.active})?(H.active=!0,H.decorationId=C.decorationId?C.decorationId:U,H.range=j.range,H.query=j.query,H.text=j.text):H.active=!1}else H.active=!1;return H.active||(H.decorationId=null,H.range={from:0,to:0},H.query=null,H.text=null),H}},props:{handleKeyDown(x,C){var S;let{active:R,range:P}=b.getState(x.state);return R&&((S=y?.onKeyDown)==null?void 0:S.call(y,{view:x,event:C,range:P}))||!1},decorations(x){let{active:C,range:S,decorationId:R,query:P}=b.getState(x);if(!C)return null;let v=!P?.length,B=[a];return v&&B.push(u),J.create(x.doc,[Y.inline(S.from,S.to,{nodeName:l,class:B.join(" "),"data-decoration-id":R,"data-decoration-content":c})])}}});return b}var af=xb;var wb=function({editor:t,overrideSuggestionOptions:e,extensionName:n}){let r=new L;return{editor:t,char:"{{",pluginKey:r,command:({editor:o,range:i,props:s})=>{o.view.state.selection.$to.nodeAfter?.text?.startsWith(" ")&&(i.to+=1),o.chain().focus().insertContentAt(i,[{type:n,attrs:{...s}},{type:"text",text:" "}]).run(),o.view.dom.ownerDocument.defaultView?.getSelection()?.collapseToEnd()},allow:({state:o,range:i})=>{let s=o.doc.resolve(i.from),l=o.schema.nodes[n];return!!s.parent.type.contentMatch.matchType(l)},...e}},cf=z.create({name:"mergeTag",priority:101,addStorage(){return{suggestions:[],getSuggestionFromChar:()=>null}},addOptions(){return{HTMLAttributes:{},renderText({node:t}){return`{{ ${t.attrs.label??t.attrs.id} }}`},deleteTriggerWithBackspace:!1,renderHTML({options:t,node:e}){return["span",T(this.HTMLAttributes,t.HTMLAttributes),`${e.attrs.label??e.attrs.id}`]},suggestions:[],suggestion:{}}},group:"inline",inline:!0,selectable:!1,atom:!0,addAttributes(){return{id:{default:null,parseHTML:t=>t.getAttribute("data-id"),renderHTML:t=>t.id?{"data-id":t.id}:{}},label:{default:null,parseHTML:t=>t.getAttribute("data-label"),renderHTML:t=>t.label?{"data-label":t.label}:{}}}},parseHTML(){return[{tag:`span[data-type="${this.name}"]`}]},renderHTML({node:t,HTMLAttributes:e}){let n=this.editor?.extensionStorage?.[this.name]?.getSuggestionFromChar("{{"),r={...this.options};r.HTMLAttributes=T({"data-type":this.name},this.options.HTMLAttributes,e);let o=this.options.renderHTML({options:r,node:t,suggestion:n});return typeof o=="string"?["span",T({"data-type":this.name},this.options.HTMLAttributes,e),o]:o},renderText({node:t}){let e={options:this.options,node:t,suggestion:this.editor?.extensionStorage?.[this.name]?.getSuggestionFromChar("{{")};return this.options.renderText(e)},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:t,state:e})=>{let n=!1,{selection:r}=e,{empty:o,anchor:i}=r;if(!o)return!1;let s=new le,l=0;return e.doc.nodesBetween(i-1,i,(a,c)=>{if(a.type.name===this.name)return n=!0,s=a,l=c,!1}),n&&t.insertText(this.options.deleteTriggerWithBackspace?"":"{{",l,l+s.nodeSize),n})}},addProseMirrorPlugins(){return[...this.storage.suggestions.map(af),new N({props:{handleDrop(t,e){if(!e||(e.preventDefault(),!e.dataTransfer.getData("mergeTag")))return!1;let n=e.dataTransfer.getData("mergeTag");return t.dispatch(t.state.tr.insert(t.posAtCoords({left:e.clientX,top:e.clientY}).pos,t.state.schema.nodes.mergeTag.create({id:n}))),!1}}})]},onBeforeCreate(){this.storage.suggestions=(this.options.suggestions.length?this.options.suggestions:[this.options.suggestion]).map(t=>wb({editor:this.editor,overrideSuggestionOptions:t,extensionName:this.name})),this.storage.getSuggestionFromChar=t=>{let e=this.storage.suggestions.find(n=>n.char===t);return e||(this.storage.suggestions.length?this.storage.suggestions[0]:null)}}});var Sb=z.create({name:"paragraph",priority:1e3,addOptions(){return{HTMLAttributes:{}}},group:"block",content:"inline*",parseHTML(){return[{tag:"p"}]},renderHTML({HTMLAttributes:t}){return["p",T(this.options.HTMLAttributes,t),0]},addCommands(){return{setParagraph:()=>({commands:t})=>t.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),uf=Sb;var df=nl;var ff=te.create({name:"small",parseHTML(){return[{tag:"small"}]},renderHTML({HTMLAttributes:t}){return["small",t,0]},addCommands(){return{setSmall:()=>({commands:t})=>t.setMark(this.name),toggleSmall:()=>({commands:t})=>t.toggleMark(this.name),unsetSmall:()=>({commands:t})=>t.unsetMark(this.name)}}});var kb=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/,Cb=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g,Mb=te.create({name:"strike",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:t=>t.includes("line-through")?{}:!1}]},renderHTML({HTMLAttributes:t}){return["s",T(this.options.HTMLAttributes,t),0]},addCommands(){return{setStrike:()=>({commands:t})=>t.setMark(this.name),toggleStrike:()=>({commands:t})=>t.toggleMark(this.name),unsetStrike:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-s":()=>this.editor.commands.toggleStrike()}},addInputRules(){return[Ie({find:kb,type:this.type})]},addPasteRules(){return[Ce({find:Cb,type:this.type})]}}),hf=Mb;var vb=te.create({name:"subscript",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"sub"},{style:"vertical-align",getAttrs(t){return t!=="sub"?!1:null}}]},renderHTML({HTMLAttributes:t}){return["sub",T(this.options.HTMLAttributes,t),0]},addCommands(){return{setSubscript:()=>({commands:t})=>t.setMark(this.name),toggleSubscript:()=>({commands:t})=>t.toggleMark(this.name),unsetSubscript:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-,":()=>this.editor.commands.toggleSubscript()}}}),pf=vb;var Tb=te.create({name:"superscript",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"sup"},{style:"vertical-align",getAttrs(t){return t!=="super"?!1:null}}]},renderHTML({HTMLAttributes:t}){return["sup",T(this.options.HTMLAttributes,t),0]},addCommands(){return{setSuperscript:()=>({commands:t})=>t.setMark(this.name),toggleSuperscript:()=>({commands:t})=>t.toggleMark(this.name),unsetSuperscript:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-.":()=>this.editor.commands.toggleSuperscript()}}}),mf=Tb;var Pl,Il;if(typeof WeakMap<"u"){let t=new WeakMap;Pl=e=>t.get(e),Il=(e,n)=>(t.set(e,n),n)}else{let t=[],n=0;Pl=r=>{for(let o=0;o(n==10&&(n=0),t[n++]=r,t[n++]=o)}var ee=class{constructor(t,e,n,r){this.width=t,this.height=e,this.map=n,this.problems=r}findCell(t){for(let e=0;e=n){(i||(i=[])).push({type:"overlong_rowspan",pos:u,n:y-x});break}let C=o+x*e;for(let S=0;Sr&&(i+=c.attrs.colspan)}}for(let s=0;s1&&(n=!0)}e==-1?e=i:e!=i&&(e=Math.max(e,i))}return e}function Ob(t,e,n){t.problems||(t.problems=[]);let r={};for(let o=0;o0;e--)if(t.node(e).type.spec.tableRole=="row")return t.node(0).resolve(t.before(e+1));return null}function Rb(t){for(let e=t.depth;e>0;e--){let n=t.node(e).type.spec.tableRole;if(n==="cell"||n==="header_cell")return t.node(e)}return null}function We(t){let e=t.selection.$head;for(let n=e.depth;n>0;n--)if(e.node(n).type.spec.tableRole=="row")return!0;return!1}function ri(t){let e=t.selection;if("$anchorCell"in e&&e.$anchorCell)return e.$anchorCell.pos>e.$headCell.pos?e.$anchorCell:e.$headCell;if("node"in e&&e.node&&e.node.type.spec.tableRole=="cell")return e.$anchor;let n=Mn(e.$head)||Db(e.$head);if(n)return n;throw new RangeError(`No cell found around position ${e.head}`)}function Db(t){for(let e=t.nodeAfter,n=t.pos;e;e=e.firstChild,n++){let r=e.type.spec.tableRole;if(r=="cell"||r=="header_cell")return t.doc.resolve(n)}for(let e=t.nodeBefore,n=t.pos;e;e=e.lastChild,n--){let r=e.type.spec.tableRole;if(r=="cell"||r=="header_cell")return t.doc.resolve(n-e.nodeSize)}}function Ll(t){return t.parent.type.spec.tableRole=="row"&&!!t.nodeAfter}function Pb(t){return t.node(0).resolve(t.pos+t.nodeAfter.nodeSize)}function Hl(t,e){return t.depth==e.depth&&t.pos>=e.start(-1)&&t.pos<=e.end(-1)}function vf(t,e,n){let r=t.node(-1),o=ee.get(r),i=t.start(-1),s=o.nextCell(t.pos-i,e,n);return s==null?null:t.node(0).resolve(i+s)}function Zt(t,e,n=1){let r={...t,colspan:t.colspan-n};return r.colwidth&&(r.colwidth=r.colwidth.slice(),r.colwidth.splice(e,n),r.colwidth.some(o=>o>0)||(r.colwidth=null)),r}function Tf(t,e,n=1){let r={...t,colspan:t.colspan+n};if(r.colwidth){r.colwidth=r.colwidth.slice();for(let o=0;ou!=n.pos-i);a.unshift(n.pos-i);let c=a.map(u=>{let d=r.nodeAt(u);if(!d)throw RangeError(`No cell with offset ${u} found`);let f=i+u+1;return new dn(l.resolve(f),l.resolve(f+d.content.size))});super(c[0].$from,c[0].$to,c),this.$anchorCell=e,this.$headCell=n}map(e,n){let r=e.resolve(n.map(this.$anchorCell.pos)),o=e.resolve(n.map(this.$headCell.pos));if(Ll(r)&&Ll(o)&&Hl(r,o)){let i=this.$anchorCell.node(-1)!=r.node(-1);return i&&this.isRowSelection()?xt.rowSelection(r,o):i&&this.isColSelection()?xt.colSelection(r,o):new xt(r,o)}return A.between(r,o)}content(){let e=this.$anchorCell.node(-1),n=ee.get(e),r=this.$anchorCell.start(-1),o=n.rectBetween(this.$anchorCell.pos-r,this.$headCell.pos-r),i={},s=[];for(let a=o.top;a0||g>0){let y=p.attrs;if(m>0&&(y=Zt(y,0,m)),g>0&&(y=Zt(y,y.colspan-g,g)),h.lefto.bottom){let y={...p.attrs,rowspan:Math.min(h.bottom,o.bottom)-Math.max(h.top,o.top)};h.top0)return!1;let r=e+this.$anchorCell.nodeAfter.attrs.rowspan,o=n+this.$headCell.nodeAfter.attrs.rowspan;return Math.max(r,o)==this.$headCell.node(-1).childCount}static colSelection(e,n=e){let r=e.node(-1),o=ee.get(r),i=e.start(-1),s=o.findCell(e.pos-i),l=o.findCell(n.pos-i),a=e.node(0);return s.top<=l.top?(s.top>0&&(e=a.resolve(i+o.map[s.left])),l.bottom0&&(n=a.resolve(i+o.map[l.left])),s.bottom0)return!1;let s=o+this.$anchorCell.nodeAfter.attrs.colspan,l=i+this.$headCell.nodeAfter.attrs.colspan;return Math.max(s,l)==n.width}eq(e){return e instanceof xt&&e.$anchorCell.pos==this.$anchorCell.pos&&e.$headCell.pos==this.$headCell.pos}static rowSelection(e,n=e){let r=e.node(-1),o=ee.get(r),i=e.start(-1),s=o.findCell(e.pos-i),l=o.findCell(n.pos-i),a=e.node(0);return s.left<=l.left?(s.left>0&&(e=a.resolve(i+o.map[s.top*o.width])),l.right0&&(n=a.resolve(i+o.map[l.top*o.width])),s.right{e.push(Y.node(r,r+n.nodeSize,{class:"selectedCell"}))}),J.create(t.doc,e)}function zb({$from:t,$to:e}){if(t.pos==e.pos||t.pos=0&&!(t.after(o+1)=0&&!(e.before(i+1)>e.start(i));i--,r--);return n==r&&/row|table/.test(t.node(o).type.spec.tableRole)}function Hb({$from:t,$to:e}){let n,r;for(let o=t.depth;o>0;o--){let i=t.node(o);if(i.type.spec.tableRole==="cell"||i.type.spec.tableRole==="header_cell"){n=i;break}}for(let o=e.depth;o>0;o--){let i=e.node(o);if(i.type.spec.tableRole==="cell"||i.type.spec.tableRole==="header_cell"){r=i;break}}return n!==r&&e.parentOffset===0}function Fb(t,e,n){let r=(e||t).selection,o=(e||t).doc,i,s;if(r instanceof O&&(s=r.node.type.spec.tableRole)){if(s=="cell"||s=="header_cell")i=K.create(o,r.from);else if(s=="row"){let l=o.resolve(r.from+1);i=K.rowSelection(l,l)}else if(!n){let l=ee.get(r.node),a=r.from+1,c=a+l.map[l.width*l.height-1];i=K.create(o,a+1,c)}}else r instanceof A&&zb(r)?i=A.create(o,r.from):r instanceof A&&Hb(r)&&(i=A.create(o,r.$from.start(),r.$from.end()));return i&&(e||(e=t.tr)).setSelection(i),e}var $b=new L("fix-tables");function Ef(t,e,n,r){let o=t.childCount,i=e.childCount;e:for(let s=0,l=0;s{o.type.spec.tableRole=="table"&&(n=Vb(t,o,i,n))};return e?e.doc!=t.doc&&Ef(e.doc,t.doc,0,r):t.doc.descendants(r),n}function Vb(t,e,n,r){let o=ee.get(e);if(!o.problems)return r;r||(r=t.tr);let i=[];for(let a=0;a0){let h="cell";u.firstChild&&(h=u.firstChild.type.spec.tableRole);let p=[];for(let g=0;g0?-1:0;Ib(e,r,o+i)&&(i=o==0||o==e.width?null:0);for(let s=0;s0&&o0&&e.map[l-1]==a||o0?-1:0;_b(e,r,o+a)&&(a=o==0||o==e.height?null:0);for(let c=0,u=e.width*o;c0&&o0&&d==e.map[u-e.width]){let f=n.nodeAt(d).attrs;t.setNodeMarkup(t.mapping.slice(l).map(d+r),null,{...f,rowspan:f.rowspan-1}),c+=f.colspan-1}else if(o0&&n[i]==n[i-1]||r.right0&&n[o]==n[o-t]||r.bottomn[r.type.spec.tableRole])(t,e)}function Ub(t){return(e,n)=>{var r;let o=e.selection,i,s;if(o instanceof K){if(o.$anchorCell.pos!=o.$headCell.pos)return!1;i=o.$anchorCell.nodeAfter,s=o.$anchorCell.pos}else{if(i=Rb(o.$from),!i)return!1;s=(r=Mn(o.$from))==null?void 0:r.pos}if(i==null||s==null||i.attrs.colspan==1&&i.attrs.rowspan==1)return!1;if(n){let l=i.attrs,a=[],c=l.colwidth;l.rowspan>1&&(l={...l,rowspan:1}),l.colspan>1&&(l={...l,colspan:1});let u=nt(e),d=e.tr;for(let h=0;h{s.attrs[t]!==e&&i.setNodeMarkup(l,null,{...s.attrs,[t]:e})}):i.setNodeMarkup(o.pos,null,{...o.nodeAfter.attrs,[t]:e}),r(i)}return!0}}function Jb(t){return function(e,n){if(!We(e))return!1;if(n){let r=ye(e.schema),o=nt(e),i=e.tr,s=o.map.cellsInRect(t=="column"?{left:o.left,top:0,right:o.right,bottom:o.map.height}:t=="row"?{left:0,top:o.top,right:o.map.width,bottom:o.bottom}:o),l=s.map(a=>o.table.nodeAt(a));for(let a=0;a{let p=h+i.tableStart,m=s.doc.nodeAt(p);m&&s.setNodeMarkup(p,f,m.attrs)}),r(s)}return!0}}var ZC=vn("row",{useDeprecatedLogic:!0}),eM=vn("column",{useDeprecatedLogic:!0}),Hf=vn("cell",{useDeprecatedLogic:!0});function qb(t,e){if(e<0){let n=t.nodeBefore;if(n)return t.pos-n.nodeSize;for(let r=t.index(-1)-1,o=t.before();r>=0;r--){let i=t.node(-1).child(r),s=i.lastChild;if(s)return o-1-s.nodeSize;o-=i.nodeSize}}else{if(t.index()0;r--)if(n.node(r).type.spec.tableRole=="table")return e&&e(t.tr.delete(n.before(r),n.after(r)).scrollIntoView()),!0;return!1}function Qo(t,e){let n=t.selection;if(!(n instanceof K))return!1;if(e){let r=t.tr,o=ye(t.schema).cell.createAndFill().content;n.forEachCell((i,s)=>{i.content.eq(o)||r.replace(r.mapping.map(s+1),r.mapping.map(s+i.nodeSize-1),new M(o,0,0))}),r.docChanged&&e(r)}return!0}function Gb(t){if(!t.size)return null;let{content:e,openStart:n,openEnd:r}=t;for(;e.childCount==1&&(n>0&&r>0||e.child(0).type.spec.tableRole=="table");)n--,r--,e=e.child(0).content;let o=e.child(0),i=o.type.spec.tableRole,s=o.type.schema,l=[];if(i=="row")for(let a=0;a=0;s--){let{rowspan:l,colspan:a}=i.child(s).attrs;for(let c=o;c=e.length&&e.push(w.empty),n[o]r&&(f=f.type.createChecked(Zt(f.attrs,f.attrs.colspan,u+f.attrs.colspan-r),f.content)),c.push(f),u+=f.attrs.colspan;for(let h=1;ho&&(d=d.type.create({...d.attrs,rowspan:Math.max(1,o-d.attrs.rowspan)},d.content)),a.push(d)}i.push(w.from(a))}n=i,e=o}return{width:t,height:e,rows:n}}function Qb(t,e,n,r,o,i,s){let l=t.doc.type.schema,a=ye(l),c,u;if(o>e.width)for(let d=0,f=0;de.height){let d=[];for(let p=0,m=(e.height-1)*e.width;p=e.width?!1:n.nodeAt(e.map[m+p]).type==a.header_cell;d.push(g?u||(u=a.header_cell.createAndFill()):c||(c=a.cell.createAndFill()))}let f=a.row.create(null,w.from(d)),h=[];for(let p=e.height;p{if(!o)return!1;let i=n.selection;if(i instanceof K)return ti(n,r,E.near(i.$headCell,e));if(t!="horiz"&&!i.empty)return!1;let s=$f(o,t,e);if(s==null)return!1;if(t=="horiz")return ti(n,r,E.near(n.doc.resolve(i.head+e),e));{let l=n.doc.resolve(s),a=vf(l,t,e),c;return a?c=E.near(a,1):e<0?c=E.near(n.doc.resolve(l.before(-1)),-1):c=E.near(n.doc.resolve(l.after(-1)),1),ti(n,r,c)}}}function ei(t,e){return(n,r,o)=>{if(!o)return!1;let i=n.selection,s;if(i instanceof K)s=i;else{let a=$f(o,t,e);if(a==null)return!1;s=new K(n.doc.resolve(a))}let l=vf(s.$headCell,t,e);return l?ti(n,r,new K(s.$anchorCell,l)):!1}}function ex(t,e){let n=t.state.doc,r=Mn(n.resolve(e));return r?(t.dispatch(t.state.tr.setSelection(new K(r))),!0):!1}function tx(t,e,n){if(!We(t.state))return!1;let r=Gb(n),o=t.state.selection;if(o instanceof K){r||(r={width:1,height:1,rows:[w.from(Bl(ye(t.state.schema).cell,n))]});let i=o.$anchorCell.node(-1),s=o.$anchorCell.start(-1),l=ee.get(i).rectBetween(o.$anchorCell.pos-s,o.$headCell.pos-s);return r=Xb(r,l.right-l.left,l.bottom-l.top),wf(t.state,t.dispatch,s,l,r),!0}else if(r){let i=ri(t.state),s=i.start(-1);return wf(t.state,t.dispatch,s,ee.get(i.node(-1)).findCell(i.pos-s),r),!0}else return!1}function nx(t,e){var n;if(e.ctrlKey||e.metaKey)return;let r=Sf(t,e.target),o;if(e.shiftKey&&t.state.selection instanceof K)i(t.state.selection.$anchorCell,e),e.preventDefault();else if(e.shiftKey&&r&&(o=Mn(t.state.selection.$anchor))!=null&&((n=Dl(t,e))==null?void 0:n.pos)!=o.pos)i(o,e),e.preventDefault();else if(!r)return;function i(a,c){let u=Dl(t,c),d=Pt.getState(t.state)==null;if(!u||!Hl(a,u))if(d)u=a;else return;let f=new K(a,u);if(d||!t.state.selection.eq(f)){let h=t.state.tr.setSelection(f);d&&h.setMeta(Pt,a.pos),t.dispatch(h)}}function s(){t.root.removeEventListener("mouseup",s),t.root.removeEventListener("dragstart",s),t.root.removeEventListener("mousemove",l),Pt.getState(t.state)!=null&&t.dispatch(t.state.tr.setMeta(Pt,-1))}function l(a){let c=a,u=Pt.getState(t.state),d;if(u!=null)d=t.state.doc.resolve(u);else if(Sf(t,c.target)!=r&&(d=Dl(t,e),!d))return s();d&&i(d,c)}t.root.addEventListener("mouseup",s),t.root.addEventListener("dragstart",s),t.root.addEventListener("mousemove",l)}function $f(t,e,n){if(!(t.state.selection instanceof A))return null;let{$head:r}=t.state.selection;for(let o=r.depth-1;o>=0;o--){let i=r.node(o);if((n<0?r.index(o):r.indexAfter(o))!=(n<0?0:i.childCount))return null;if(i.type.spec.tableRole=="cell"||i.type.spec.tableRole=="header_cell"){let l=r.before(o),a=e=="vert"?n>0?"down":"up":n>0?"right":"left";return t.endOfTextblock(a)?l:null}}return null}function Sf(t,e){for(;e&&e!=t.dom;e=e.parentNode)if(e.nodeName=="TD"||e.nodeName=="TH")return e;return null}function Dl(t,e){let n=t.posAtCoords({left:e.clientX,top:e.clientY});return n&&n?Mn(t.state.doc.resolve(n.pos)):null}var rx=class{constructor(t,e){this.node=t,this.defaultCellMinWidth=e,this.dom=document.createElement("div"),this.dom.className="tableWrapper",this.table=this.dom.appendChild(document.createElement("table")),this.table.style.setProperty("--default-cell-min-width",`${e}px`),this.colgroup=this.table.appendChild(document.createElement("colgroup")),zl(t,this.colgroup,this.table,e),this.contentDOM=this.table.appendChild(document.createElement("tbody"))}update(t){return t.type!=this.node.type?!1:(this.node=t,zl(t,this.colgroup,this.table,this.defaultCellMinWidth),!0)}ignoreMutation(t){return t.type=="attributes"&&(t.target==this.table||this.colgroup.contains(t.target))}};function zl(t,e,n,r,o,i){var s;let l=0,a=!0,c=e.firstChild,u=t.firstChild;if(u){for(let d=0,f=0;dnew r(f,n,h)),new ox(-1,!1)},apply(s,l){return l.apply(s)}},props:{attributes:s=>{let l=Ee.getState(s);return l&&l.activeHandle>-1?{class:"resize-cursor"}:{}},handleDOMEvents:{mousemove:(s,l)=>{ix(s,l,t,o)},mouseleave:s=>{sx(s)},mousedown:(s,l)=>{lx(s,l,e,n)}},decorations:s=>{let l=Ee.getState(s);if(l&&l.activeHandle>-1)return fx(s,l.activeHandle)},nodeViews:{}}});return i}var ox=class ni{constructor(e,n){this.activeHandle=e,this.dragging=n}apply(e){let n=this,r=e.getMeta(Ee);if(r&&r.setHandle!=null)return new ni(r.setHandle,!1);if(r&&r.setDragging!==void 0)return new ni(n.activeHandle,r.setDragging);if(n.activeHandle>-1&&e.docChanged){let o=e.mapping.map(n.activeHandle,-1);return Ll(e.doc.resolve(o))||(o=-1),new ni(o,n.dragging)}return n}};function ix(t,e,n,r){if(!t.editable)return;let o=Ee.getState(t.state);if(o&&!o.dragging){let i=cx(e.target),s=-1;if(i){let{left:l,right:a}=i.getBoundingClientRect();e.clientX-l<=n?s=kf(t,e,"left",n):a-e.clientX<=n&&(s=kf(t,e,"right",n))}if(s!=o.activeHandle){if(!r&&s!==-1){let l=t.state.doc.resolve(s),a=l.node(-1),c=ee.get(a),u=l.start(-1);if(c.colCount(l.pos-u)+l.nodeAfter.attrs.colspan-1==c.width-1)return}Wf(t,s)}}}function sx(t){if(!t.editable)return;let e=Ee.getState(t.state);e&&e.activeHandle>-1&&!e.dragging&&Wf(t,-1)}function lx(t,e,n,r){var o;if(!t.editable)return!1;let i=(o=t.dom.ownerDocument.defaultView)!=null?o:window,s=Ee.getState(t.state);if(!s||s.activeHandle==-1||s.dragging)return!1;let l=t.state.doc.nodeAt(s.activeHandle),a=ax(t,s.activeHandle,l.attrs);t.dispatch(t.state.tr.setMeta(Ee,{setDragging:{startX:e.clientX,startWidth:a}}));function c(d){i.removeEventListener("mouseup",c),i.removeEventListener("mousemove",u);let f=Ee.getState(t.state);f?.dragging&&(ux(t,f.activeHandle,Cf(f.dragging,d,n)),t.dispatch(t.state.tr.setMeta(Ee,{setDragging:null})))}function u(d){if(!d.which)return c(d);let f=Ee.getState(t.state);if(f&&f.dragging){let h=Cf(f.dragging,d,n);Mf(t,f.activeHandle,h,r)}}return Mf(t,s.activeHandle,a,r),i.addEventListener("mouseup",c),i.addEventListener("mousemove",u),e.preventDefault(),!0}function ax(t,e,{colspan:n,colwidth:r}){let o=r&&r[r.length-1];if(o)return o;let i=t.domAtPos(e),l=i.node.childNodes[i.offset].offsetWidth,a=n;if(r)for(let c=0;c{let e=t.getAttribute("colwidth");return e?e.split(",").map(r=>parseInt(r,10)):null}}}},tableRole:"cell",isolating:!0,parseHTML(){return[{tag:"td"}]},renderHTML({HTMLAttributes:t}){return["td",T(this.options.HTMLAttributes,t),0]}}),px=z.create({name:"tableHeader",addOptions(){return{HTMLAttributes:{}}},content:"block+",addAttributes(){return{colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:t=>{let e=t.getAttribute("colwidth");return e?e.split(",").map(r=>parseInt(r,10)):null}}}},tableRole:"header_cell",isolating:!0,parseHTML(){return[{tag:"th"}]},renderHTML({HTMLAttributes:t}){return["th",T(this.options.HTMLAttributes,t),0]}}),mx=z.create({name:"tableRow",addOptions(){return{HTMLAttributes:{}}},content:"(tableCell | tableHeader)*",tableRole:"row",parseHTML(){return[{tag:"tr"}]},renderHTML({HTMLAttributes:t}){return["tr",T(this.options.HTMLAttributes,t),0]}});function _l(t,e){return e?["width",`${Math.max(e,t)}px`]:["min-width",`${t}px`]}function jf(t,e,n,r,o,i){var s;let l=0,a=!0,c=e.firstChild,u=t.firstChild;if(u!==null)for(let d=0,f=0;d{let r=t.nodes[n];r.spec.tableRole&&(e[r.spec.tableRole]=r)}),t.cached.tableNodeTypes=e,e}function xx(t,e,n,r,o){let i=bx(t),s=[],l=[];for(let c=0;c{let{selection:e}=t.state;if(!wx(e))return!1;let n=0,r=Hs(e.ranges[0].$from,i=>i.type.name==="table");return r?.node.descendants(i=>{if(i.type.name==="table")return!1;["tableCell","tableHeader"].includes(i.type.name)&&(n+=1)}),n===e.ranges.length?(t.commands.deleteTable(),!0):!1},Sx=z.create({name:"table",addOptions(){return{HTMLAttributes:{},resizable:!1,handleWidth:5,cellMinWidth:25,View:gx,lastColumnResizable:!0,allowTableNodeSelection:!1}},content:"tableRow+",tableRole:"table",isolating:!0,group:"block",parseHTML(){return[{tag:"table"}]},renderHTML({node:t,HTMLAttributes:e}){let{colgroup:n,tableWidth:r,tableMinWidth:o}=yx(t,this.options.cellMinWidth);return["table",T(this.options.HTMLAttributes,e,{style:r?`width: ${r}`:`min-width: ${o}`}),n,["tbody",0]]},addCommands(){return{insertTable:({rows:t=3,cols:e=3,withHeaderRow:n=!0}={})=>({tr:r,dispatch:o,editor:i})=>{let s=xx(i.schema,t,e,n);if(o){let l=r.selection.from+1;r.replaceSelectionWith(s).scrollIntoView().setSelection(A.near(r.doc.resolve(l)))}return!0},addColumnBefore:()=>({state:t,dispatch:e})=>Nf(t,e),addColumnAfter:()=>({state:t,dispatch:e})=>Rf(t,e),deleteColumn:()=>({state:t,dispatch:e})=>Df(t,e),addRowBefore:()=>({state:t,dispatch:e})=>If(t,e),addRowAfter:()=>({state:t,dispatch:e})=>Lf(t,e),deleteRow:()=>({state:t,dispatch:e})=>Bf(t,e),deleteTable:()=>({state:t,dispatch:e})=>Ff(t,e),mergeCells:()=>({state:t,dispatch:e})=>$l(t,e),splitCell:()=>({state:t,dispatch:e})=>Vl(t,e),toggleHeaderColumn:()=>({state:t,dispatch:e})=>vn("column")(t,e),toggleHeaderRow:()=>({state:t,dispatch:e})=>vn("row")(t,e),toggleHeaderCell:()=>({state:t,dispatch:e})=>Hf(t,e),mergeOrSplit:()=>({state:t,dispatch:e})=>$l(t,e)?!0:Vl(t,e),setCellAttribute:(t,e)=>({state:n,dispatch:r})=>zf(t,e)(n,r),goToNextCell:()=>({state:t,dispatch:e})=>Wl(1)(t,e),goToPreviousCell:()=>({state:t,dispatch:e})=>Wl(-1)(t,e),fixTables:()=>({state:t,dispatch:e})=>(e&&Fl(t),!0),setCellSelection:t=>({tr:e,dispatch:n})=>{if(n){let r=K.create(e.doc,t.anchorCell,t.headCell);e.setSelection(r)}return!0}}},addKeyboardShortcuts(){return{Tab:()=>this.editor.commands.goToNextCell()?!0:this.editor.can().addRowAfter()?this.editor.chain().addRowAfter().goToNextCell().run():!1,"Shift-Tab":()=>this.editor.commands.goToPreviousCell(),Backspace:oi,"Mod-Backspace":oi,Delete:oi,"Mod-Delete":oi}},addProseMirrorPlugins(){return[...this.options.resizable&&this.editor.isEditable?[Vf({handleWidth:this.options.handleWidth,cellMinWidth:this.options.cellMinWidth,defaultCellMinWidth:this.options.cellMinWidth,View:this.options.View,lastColumnResizable:this.options.lastColumnResizable})]:[],_f({allowTableNodeSelection:this.options.allowTableNodeSelection})]},extendNodeSchema(t){let e={name:t.name,options:t.options,storage:t.storage};return{tableRole:W(I(t,"tableRole",e))}}}),Uf=$.create({name:"tableKit",addExtensions(){let t=[];return this.options.table!==!1&&t.push(Sx.configure(this.options.table)),this.options.tableCell!==!1&&t.push(hx.configure(this.options.tableCell)),this.options.tableHeader!==!1&&t.push(px.configure(this.options.tableHeader)),this.options.tableRow!==!1&&t.push(mx.configure(this.options.tableRow)),t}});var kx=z.create({name:"text",group:"inline"}),Jf=kx;var Cx=$.create({name:"textAlign",addOptions(){return{types:[],alignments:["left","center","right","justify"],defaultAlignment:null}},addGlobalAttributes(){return[{types:this.options.types,attributes:{textAlign:{default:this.options.defaultAlignment,parseHTML:t=>{let e=t.style.textAlign;return this.options.alignments.includes(e)?e:this.options.defaultAlignment},renderHTML:t=>t.textAlign?{style:`text-align: ${t.textAlign}`}:{}}}}]},addCommands(){return{setTextAlign:t=>({commands:e})=>this.options.alignments.includes(t)?this.options.types.map(n=>e.updateAttributes(n,{textAlign:t})).every(n=>n):!1,unsetTextAlign:()=>({commands:t})=>this.options.types.map(e=>t.resetAttributes(e,"textAlign")).every(e=>e),toggleTextAlign:t=>({editor:e,commands:n})=>this.options.alignments.includes(t)?e.isActive({textAlign:t})?n.unsetTextAlign():n.setTextAlign(t):!1}},addKeyboardShortcuts(){return{"Mod-Shift-l":()=>this.editor.commands.setTextAlign("left"),"Mod-Shift-e":()=>this.editor.commands.setTextAlign("center"),"Mod-Shift-r":()=>this.editor.commands.setTextAlign("right"),"Mod-Shift-j":()=>this.editor.commands.setTextAlign("justify")}}}),qf=Cx;var Mx=te.create({name:"underline",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"u"},{style:"text-decoration",consuming:!1,getAttrs:t=>t.includes("underline")?{}:!1}]},renderHTML({HTMLAttributes:t}){return["u",T(this.options.HTMLAttributes,t),0]},addCommands(){return{setUnderline:()=>({commands:t})=>t.setMark(this.name),toggleUnderline:()=>({commands:t})=>t.toggleMark(this.name),unsetUnderline:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-u":()=>this.editor.commands.toggleUnderline(),"Mod-U":()=>this.editor.commands.toggleUnderline()}}}),Gf=Mx;var jl=["top","right","bottom","left"],Yf=["start","end"],Kl=jl.reduce((t,e)=>t.concat(e,e+"-"+Yf[0],e+"-"+Yf[1]),[]),ze=Math.min,fe=Math.max,mr=Math.round;var _e=t=>({x:t,y:t}),vx={left:"right",right:"left",bottom:"top",top:"bottom"},Tx={start:"end",end:"start"};function ii(t,e,n){return fe(t,ze(e,n))}function rt(t,e){return typeof t=="function"?t(e):t}function Oe(t){return t.split("-")[0]}function He(t){return t.split("-")[1]}function Ul(t){return t==="x"?"y":"x"}function si(t){return t==="y"?"height":"width"}var Ax=new Set(["top","bottom"]);function je(t){return Ax.has(Oe(t))?"y":"x"}function li(t){return Ul(je(t))}function Jl(t,e,n){n===void 0&&(n=!1);let r=He(t),o=li(t),i=si(o),s=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return e.reference[i]>e.floating[i]&&(s=pr(s)),[s,pr(s)]}function Zf(t){let e=pr(t);return[hr(t),e,hr(e)]}function hr(t){return t.replace(/start|end/g,e=>Tx[e])}var Xf=["left","right"],Qf=["right","left"],Ex=["top","bottom"],Ox=["bottom","top"];function Nx(t,e,n){switch(t){case"top":case"bottom":return n?e?Qf:Xf:e?Xf:Qf;case"left":case"right":return e?Ex:Ox;default:return[]}}function eh(t,e,n,r){let o=He(t),i=Nx(Oe(t),n==="start",r);return o&&(i=i.map(s=>s+"-"+o),e&&(i=i.concat(i.map(hr)))),i}function pr(t){return t.replace(/left|right|bottom|top/g,e=>vx[e])}function Rx(t){return{top:0,right:0,bottom:0,left:0,...t}}function ai(t){return typeof t!="number"?Rx(t):{top:t,right:t,bottom:t,left:t}}function wt(t){let{x:e,y:n,width:r,height:o}=t;return{width:r,height:o,top:n,left:e,right:e+r,bottom:n+o,x:e,y:n}}function th(t,e,n){let{reference:r,floating:o}=t,i=je(e),s=li(e),l=si(s),a=Oe(e),c=i==="y",u=r.x+r.width/2-o.width/2,d=r.y+r.height/2-o.height/2,f=r[l]/2-o[l]/2,h;switch(a){case"top":h={x:u,y:r.y-o.height};break;case"bottom":h={x:u,y:r.y+r.height};break;case"right":h={x:r.x+r.width,y:d};break;case"left":h={x:r.x-o.width,y:d};break;default:h={x:r.x,y:r.y}}switch(He(e)){case"start":h[s]-=f*(n&&c?-1:1);break;case"end":h[s]+=f*(n&&c?-1:1);break}return h}var oh=async(t,e,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:s}=n,l=i.filter(Boolean),a=await(s.isRTL==null?void 0:s.isRTL(e)),c=await s.getElementRects({reference:t,floating:e,strategy:o}),{x:u,y:d}=th(c,r,a),f=r,h={},p=0;for(let m=0;m({name:"arrow",options:t,async fn(e){let{x:n,y:r,placement:o,rects:i,platform:s,elements:l,middlewareData:a}=e,{element:c,padding:u=0}=rt(t,e)||{};if(c==null)return{};let d=ai(u),f={x:n,y:r},h=li(o),p=si(h),m=await s.getDimensions(c),g=h==="y",y=g?"top":"left",b=g?"bottom":"right",x=g?"clientHeight":"clientWidth",C=i.reference[p]+i.reference[h]-f[h]-i.floating[p],S=f[h]-i.reference[h],R=await(s.getOffsetParent==null?void 0:s.getOffsetParent(c)),P=R?R[x]:0;(!P||!await(s.isElement==null?void 0:s.isElement(R)))&&(P=l.floating[x]||i.floating[p]);let v=C/2-S/2,B=P/2-m[p]/2-1,D=ze(d[y],B),_=ze(d[b],B),H=D,j=P-m[p]-_,U=P/2-m[p]/2+v,oe=ii(H,U,j),X=!a.arrow&&He(o)!=null&&U!==oe&&i.reference[p]/2-(UHe(o)===t),...n.filter(o=>He(o)!==t)]:n.filter(o=>Oe(o)===o)).filter(o=>t?He(o)===t||(e?hr(o)!==o:!1):!0)}var sh=function(t){return t===void 0&&(t={}),{name:"autoPlacement",options:t,async fn(e){var n,r,o;let{rects:i,middlewareData:s,placement:l,platform:a,elements:c}=e,{crossAxis:u=!1,alignment:d,allowedPlacements:f=Kl,autoAlignment:h=!0,...p}=rt(t,e),m=d!==void 0||f===Kl?Dx(d||null,h,f):f,g=await en(e,p),y=((n=s.autoPlacement)==null?void 0:n.index)||0,b=m[y];if(b==null)return{};let x=Jl(b,i,await(a.isRTL==null?void 0:a.isRTL(c.floating)));if(l!==b)return{reset:{placement:m[0]}};let C=[g[Oe(b)],g[x[0]],g[x[1]]],S=[...((r=s.autoPlacement)==null?void 0:r.overflows)||[],{placement:b,overflows:C}],R=m[y+1];if(R)return{data:{index:y+1,overflows:S},reset:{placement:R}};let P=S.map(D=>{let _=He(D.placement);return[D.placement,_&&u?D.overflows.slice(0,2).reduce((H,j)=>H+j,0):D.overflows[0],D.overflows]}).sort((D,_)=>D[1]-_[1]),B=((o=P.filter(D=>D[2].slice(0,He(D[0])?2:3).every(_=>_<=0))[0])==null?void 0:o[0])||P[0][0];return B!==l?{data:{index:y+1,overflows:S},reset:{placement:B}}:{}}}},lh=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(e){var n,r;let{placement:o,middlewareData:i,rects:s,initialPlacement:l,platform:a,elements:c}=e,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:f,fallbackStrategy:h="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:m=!0,...g}=rt(t,e);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let y=Oe(o),b=je(l),x=Oe(l)===l,C=await(a.isRTL==null?void 0:a.isRTL(c.floating)),S=f||(x||!m?[pr(l)]:Zf(l)),R=p!=="none";!f&&R&&S.push(...eh(l,m,p,C));let P=[l,...S],v=await en(e,g),B=[],D=((r=i.flip)==null?void 0:r.overflows)||[];if(u&&B.push(v[y]),d){let U=Jl(o,s,C);B.push(v[U[0]],v[U[1]])}if(D=[...D,{placement:o,overflows:B}],!B.every(U=>U<=0)){var _,H;let U=(((_=i.flip)==null?void 0:_.index)||0)+1,oe=P[U];if(oe&&(!(d==="alignment"?b!==je(oe):!1)||D.every(ie=>ie.overflows[0]>0&&je(ie.placement)===b)))return{data:{index:U,overflows:D},reset:{placement:oe}};let X=(H=D.filter(G=>G.overflows[0]<=0).sort((G,ie)=>G.overflows[1]-ie.overflows[1])[0])==null?void 0:H.placement;if(!X)switch(h){case"bestFit":{var j;let G=(j=D.filter(ie=>{if(R){let Te=je(ie.placement);return Te===b||Te==="y"}return!0}).map(ie=>[ie.placement,ie.overflows.filter(Te=>Te>0).reduce((Te,En)=>Te+En,0)]).sort((ie,Te)=>ie[1]-Te[1])[0])==null?void 0:j[0];G&&(X=G);break}case"initialPlacement":X=l;break}if(o!==X)return{reset:{placement:X}}}return{}}}};function nh(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function rh(t){return jl.some(e=>t[e]>=0)}var ah=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(e){let{rects:n}=e,{strategy:r="referenceHidden",...o}=rt(t,e);switch(r){case"referenceHidden":{let i=await en(e,{...o,elementContext:"reference"}),s=nh(i,n.reference);return{data:{referenceHiddenOffsets:s,referenceHidden:rh(s)}}}case"escaped":{let i=await en(e,{...o,altBoundary:!0}),s=nh(i,n.floating);return{data:{escapedOffsets:s,escaped:rh(s)}}}default:return{}}}}};function ch(t){let e=ze(...t.map(i=>i.left)),n=ze(...t.map(i=>i.top)),r=fe(...t.map(i=>i.right)),o=fe(...t.map(i=>i.bottom));return{x:e,y:n,width:r-e,height:o-n}}function Px(t){let e=t.slice().sort((o,i)=>o.y-i.y),n=[],r=null;for(let o=0;or.height/2?n.push([i]):n[n.length-1].push(i),r=i}return n.map(o=>wt(ch(o)))}var uh=function(t){return t===void 0&&(t={}),{name:"inline",options:t,async fn(e){let{placement:n,elements:r,rects:o,platform:i,strategy:s}=e,{padding:l=2,x:a,y:c}=rt(t,e),u=Array.from(await(i.getClientRects==null?void 0:i.getClientRects(r.reference))||[]),d=Px(u),f=wt(ch(u)),h=ai(l);function p(){if(d.length===2&&d[0].left>d[1].right&&a!=null&&c!=null)return d.find(g=>a>g.left-h.left&&ag.top-h.top&&c=2){if(je(n)==="y"){let D=d[0],_=d[d.length-1],H=Oe(n)==="top",j=D.top,U=_.bottom,oe=H?D.left:_.left,X=H?D.right:_.right,G=X-oe,ie=U-j;return{top:j,bottom:U,left:oe,right:X,width:G,height:ie,x:oe,y:j}}let g=Oe(n)==="left",y=fe(...d.map(D=>D.right)),b=ze(...d.map(D=>D.left)),x=d.filter(D=>g?D.left===b:D.right===y),C=x[0].top,S=x[x.length-1].bottom,R=b,P=y,v=P-R,B=S-C;return{top:C,bottom:S,left:R,right:P,width:v,height:B,x:R,y:C}}return f}let m=await i.getElementRects({reference:{getBoundingClientRect:p},floating:r.floating,strategy:s});return o.reference.x!==m.reference.x||o.reference.y!==m.reference.y||o.reference.width!==m.reference.width||o.reference.height!==m.reference.height?{reset:{rects:m}}:{}}}},Ix=new Set(["left","top"]);async function Lx(t,e){let{placement:n,platform:r,elements:o}=t,i=await(r.isRTL==null?void 0:r.isRTL(o.floating)),s=Oe(n),l=He(n),a=je(n)==="y",c=Ix.has(s)?-1:1,u=i&&a?-1:1,d=rt(e,t),{mainAxis:f,crossAxis:h,alignmentAxis:p}=typeof d=="number"?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return l&&typeof p=="number"&&(h=l==="end"?p*-1:p),a?{x:h*u,y:f*c}:{x:f*c,y:h*u}}var dh=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){var n,r;let{x:o,y:i,placement:s,middlewareData:l}=e,a=await Lx(e,t);return s===((n=l.offset)==null?void 0:n.placement)&&(r=l.arrow)!=null&&r.alignmentOffset?{}:{x:o+a.x,y:i+a.y,data:{...a,placement:s}}}}},fh=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){let{x:n,y:r,placement:o}=e,{mainAxis:i=!0,crossAxis:s=!1,limiter:l={fn:g=>{let{x:y,y:b}=g;return{x:y,y:b}}},...a}=rt(t,e),c={x:n,y:r},u=await en(e,a),d=je(Oe(o)),f=Ul(d),h=c[f],p=c[d];if(i){let g=f==="y"?"top":"left",y=f==="y"?"bottom":"right",b=h+u[g],x=h-u[y];h=ii(b,h,x)}if(s){let g=d==="y"?"top":"left",y=d==="y"?"bottom":"right",b=p+u[g],x=p-u[y];p=ii(b,p,x)}let m=l.fn({...e,[f]:h,[d]:p});return{...m,data:{x:m.x-n,y:m.y-r,enabled:{[f]:i,[d]:s}}}}}};var hh=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(e){var n,r;let{placement:o,rects:i,platform:s,elements:l}=e,{apply:a=()=>{},...c}=rt(t,e),u=await en(e,c),d=Oe(o),f=He(o),h=je(o)==="y",{width:p,height:m}=i.floating,g,y;d==="top"||d==="bottom"?(g=d,y=f===(await(s.isRTL==null?void 0:s.isRTL(l.floating))?"start":"end")?"left":"right"):(y=d,g=f==="end"?"top":"bottom");let b=m-u.top-u.bottom,x=p-u.left-u.right,C=ze(m-u[g],b),S=ze(p-u[y],x),R=!e.middlewareData.shift,P=C,v=S;if((n=e.middlewareData.shift)!=null&&n.enabled.x&&(v=x),(r=e.middlewareData.shift)!=null&&r.enabled.y&&(P=b),R&&!f){let D=fe(u.left,0),_=fe(u.right,0),H=fe(u.top,0),j=fe(u.bottom,0);h?v=p-2*(D!==0||_!==0?D+_:fe(u.left,u.right)):P=m-2*(H!==0||j!==0?H+j:fe(u.top,u.bottom))}await a({...e,availableWidth:v,availableHeight:P});let B=await s.getDimensions(l.floating);return p!==B.width||m!==B.height?{reset:{rects:!0}}:{}}}};function ui(){return typeof window<"u"}function tn(t){return mh(t)?(t.nodeName||"").toLowerCase():"#document"}function ve(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function ot(t){var e;return(e=(mh(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function mh(t){return ui()?t instanceof Node||t instanceof ve(t).Node:!1}function Fe(t){return ui()?t instanceof Element||t instanceof ve(t).Element:!1}function Ke(t){return ui()?t instanceof HTMLElement||t instanceof ve(t).HTMLElement:!1}function ph(t){return!ui()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof ve(t).ShadowRoot}var Bx=new Set(["inline","contents"]);function Tn(t){let{overflow:e,overflowX:n,overflowY:r,display:o}=$e(t);return/auto|scroll|overlay|hidden|clip/.test(e+r+n)&&!Bx.has(o)}var zx=new Set(["table","td","th"]);function gh(t){return zx.has(tn(t))}var Hx=[":popover-open",":modal"];function gr(t){return Hx.some(e=>{try{return t.matches(e)}catch{return!1}})}var Fx=["transform","translate","scale","rotate","perspective"],$x=["transform","translate","scale","rotate","perspective","filter"],Vx=["paint","layout","strict","content"];function di(t){let e=fi(),n=Fe(t)?$e(t):t;return Fx.some(r=>n[r]?n[r]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!e&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!e&&(n.filter?n.filter!=="none":!1)||$x.some(r=>(n.willChange||"").includes(r))||Vx.some(r=>(n.contain||"").includes(r))}function yh(t){let e=St(t);for(;Ke(e)&&!nn(e);){if(di(e))return e;if(gr(e))return null;e=St(e)}return null}function fi(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}var Wx=new Set(["html","body","#document"]);function nn(t){return Wx.has(tn(t))}function $e(t){return ve(t).getComputedStyle(t)}function yr(t){return Fe(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function St(t){if(tn(t)==="html")return t;let e=t.assignedSlot||t.parentNode||ph(t)&&t.host||ot(t);return ph(e)?e.host:e}function bh(t){let e=St(t);return nn(e)?t.ownerDocument?t.ownerDocument.body:t.body:Ke(e)&&Tn(e)?e:bh(e)}function ci(t,e,n){var r;e===void 0&&(e=[]),n===void 0&&(n=!0);let o=bh(t),i=o===((r=t.ownerDocument)==null?void 0:r.body),s=ve(o);if(i){let l=hi(s);return e.concat(s,s.visualViewport||[],Tn(o)?o:[],l&&n?ci(l):[])}return e.concat(o,ci(o,[],n))}function hi(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function Sh(t){let e=$e(t),n=parseFloat(e.width)||0,r=parseFloat(e.height)||0,o=Ke(t),i=o?t.offsetWidth:n,s=o?t.offsetHeight:r,l=mr(n)!==i||mr(r)!==s;return l&&(n=i,r=s),{width:n,height:r,$:l}}function kh(t){return Fe(t)?t:t.contextElement}function An(t){let e=kh(t);if(!Ke(e))return _e(1);let n=e.getBoundingClientRect(),{width:r,height:o,$:i}=Sh(e),s=(i?mr(n.width):n.width)/r,l=(i?mr(n.height):n.height)/o;return(!s||!Number.isFinite(s))&&(s=1),(!l||!Number.isFinite(l))&&(l=1),{x:s,y:l}}var _x=_e(0);function Ch(t){let e=ve(t);return!fi()||!e.visualViewport?_x:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function jx(t,e,n){return e===void 0&&(e=!1),!n||e&&n!==ve(t)?!1:e}function br(t,e,n,r){e===void 0&&(e=!1),n===void 0&&(n=!1);let o=t.getBoundingClientRect(),i=kh(t),s=_e(1);e&&(r?Fe(r)&&(s=An(r)):s=An(t));let l=jx(i,n,r)?Ch(i):_e(0),a=(o.left+l.x)/s.x,c=(o.top+l.y)/s.y,u=o.width/s.x,d=o.height/s.y;if(i){let f=ve(i),h=r&&Fe(r)?ve(r):r,p=f,m=hi(p);for(;m&&r&&h!==p;){let g=An(m),y=m.getBoundingClientRect(),b=$e(m),x=y.left+(m.clientLeft+parseFloat(b.paddingLeft))*g.x,C=y.top+(m.clientTop+parseFloat(b.paddingTop))*g.y;a*=g.x,c*=g.y,u*=g.x,d*=g.y,a+=x,c+=C,p=ve(m),m=hi(p)}}return wt({width:u,height:d,x:a,y:c})}function Gl(t,e){let n=yr(t).scrollLeft;return e?e.left+n:br(ot(t)).left+n}function Mh(t,e,n){n===void 0&&(n=!1);let r=t.getBoundingClientRect(),o=r.left+e.scrollLeft-(n?0:Gl(t,r)),i=r.top+e.scrollTop;return{x:o,y:i}}function Kx(t){let{elements:e,rect:n,offsetParent:r,strategy:o}=t,i=o==="fixed",s=ot(r),l=e?gr(e.floating):!1;if(r===s||l&&i)return n;let a={scrollLeft:0,scrollTop:0},c=_e(1),u=_e(0),d=Ke(r);if((d||!d&&!i)&&((tn(r)!=="body"||Tn(s))&&(a=yr(r)),Ke(r))){let h=br(r);c=An(r),u.x=h.x+r.clientLeft,u.y=h.y+r.clientTop}let f=s&&!d&&!i?Mh(s,a,!0):_e(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-a.scrollLeft*c.x+u.x+f.x,y:n.y*c.y-a.scrollTop*c.y+u.y+f.y}}function Ux(t){return Array.from(t.getClientRects())}function Jx(t){let e=ot(t),n=yr(t),r=t.ownerDocument.body,o=fe(e.scrollWidth,e.clientWidth,r.scrollWidth,r.clientWidth),i=fe(e.scrollHeight,e.clientHeight,r.scrollHeight,r.clientHeight),s=-n.scrollLeft+Gl(t),l=-n.scrollTop;return $e(r).direction==="rtl"&&(s+=fe(e.clientWidth,r.clientWidth)-o),{width:o,height:i,x:s,y:l}}function qx(t,e){let n=ve(t),r=ot(t),o=n.visualViewport,i=r.clientWidth,s=r.clientHeight,l=0,a=0;if(o){i=o.width,s=o.height;let c=fi();(!c||c&&e==="fixed")&&(l=o.offsetLeft,a=o.offsetTop)}return{width:i,height:s,x:l,y:a}}var Gx=new Set(["absolute","fixed"]);function Yx(t,e){let n=br(t,!0,e==="fixed"),r=n.top+t.clientTop,o=n.left+t.clientLeft,i=Ke(t)?An(t):_e(1),s=t.clientWidth*i.x,l=t.clientHeight*i.y,a=o*i.x,c=r*i.y;return{width:s,height:l,x:a,y:c}}function xh(t,e,n){let r;if(e==="viewport")r=qx(t,n);else if(e==="document")r=Jx(ot(t));else if(Fe(e))r=Yx(e,n);else{let o=Ch(t);r={x:e.x-o.x,y:e.y-o.y,width:e.width,height:e.height}}return wt(r)}function vh(t,e){let n=St(t);return n===e||!Fe(n)||nn(n)?!1:$e(n).position==="fixed"||vh(n,e)}function Xx(t,e){let n=e.get(t);if(n)return n;let r=ci(t,[],!1).filter(l=>Fe(l)&&tn(l)!=="body"),o=null,i=$e(t).position==="fixed",s=i?St(t):t;for(;Fe(s)&&!nn(s);){let l=$e(s),a=di(s);!a&&l.position==="fixed"&&(o=null),(i?!a&&!o:!a&&l.position==="static"&&!!o&&Gx.has(o.position)||Tn(s)&&!a&&vh(t,s))?r=r.filter(u=>u!==s):o=l,s=St(s)}return e.set(t,r),r}function Qx(t){let{element:e,boundary:n,rootBoundary:r,strategy:o}=t,s=[...n==="clippingAncestors"?gr(e)?[]:Xx(e,this._c):[].concat(n),r],l=s[0],a=s.reduce((c,u)=>{let d=xh(e,u,o);return c.top=fe(d.top,c.top),c.right=ze(d.right,c.right),c.bottom=ze(d.bottom,c.bottom),c.left=fe(d.left,c.left),c},xh(e,l,o));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}}function Zx(t){let{width:e,height:n}=Sh(t);return{width:e,height:n}}function ew(t,e,n){let r=Ke(e),o=ot(e),i=n==="fixed",s=br(t,!0,i,e),l={scrollLeft:0,scrollTop:0},a=_e(0);function c(){a.x=Gl(o)}if(r||!r&&!i)if((tn(e)!=="body"||Tn(o))&&(l=yr(e)),r){let h=br(e,!0,i,e);a.x=h.x+e.clientLeft,a.y=h.y+e.clientTop}else o&&c();i&&!r&&o&&c();let u=o&&!r&&!i?Mh(o,l):_e(0),d=s.left+l.scrollLeft-a.x-u.x,f=s.top+l.scrollTop-a.y-u.y;return{x:d,y:f,width:s.width,height:s.height}}function ql(t){return $e(t).position==="static"}function wh(t,e){if(!Ke(t)||$e(t).position==="fixed")return null;if(e)return e(t);let n=t.offsetParent;return ot(t)===n&&(n=n.ownerDocument.body),n}function Th(t,e){let n=ve(t);if(gr(t))return n;if(!Ke(t)){let o=St(t);for(;o&&!nn(o);){if(Fe(o)&&!ql(o))return o;o=St(o)}return n}let r=wh(t,e);for(;r&&gh(r)&&ql(r);)r=wh(r,e);return r&&nn(r)&&ql(r)&&!di(r)?n:r||yh(t)||n}var tw=async function(t){let e=this.getOffsetParent||Th,n=this.getDimensions,r=await n(t.floating);return{reference:ew(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function nw(t){return $e(t).direction==="rtl"}var rw={convertOffsetParentRelativeRectToViewportRelativeRect:Kx,getDocumentElement:ot,getClippingRect:Qx,getOffsetParent:Th,getElementRects:tw,getClientRects:Ux,getDimensions:Zx,getScale:An,isElement:Fe,isRTL:nw};var Ah=dh,Eh=sh,pi=fh,mi=lh,Oh=hh,Nh=ah,Rh=ih,Dh=uh;var gi=(t,e,n)=>{let r=new Map,o={platform:rw,...n},i={...o.platform,_c:r};return oh(t,e,{...o,platform:i})};var Ph=(t,e)=>{gi({getBoundingClientRect:()=>{let{from:r,to:o}=t.state.selection,i=t.view.coordsAtPos(r),s=t.view.coordsAtPos(o);return{top:Math.min(i.top,s.top),bottom:Math.max(i.bottom,s.bottom),left:Math.min(i.left,s.left),right:Math.max(i.right,s.right),width:Math.abs(s.right-i.left),height:Math.abs(s.bottom-i.top),x:Math.min(i.left,s.left),y:Math.min(i.top,s.top)}}},e,{placement:"bottom-start",strategy:"absolute",middleware:[pi(),mi()]}).then(({x:r,y:o,strategy:i})=>{e.style.width="max-content",e.style.position=i,e.style.left=`${r}px`,e.style.top=`${o}px`})},Ih=({mergeTags:t,noMergeTagSearchResultsMessage:e})=>({items:({query:n})=>t.filter(r=>r.toLowerCase().replace(/\s/g,"").includes(n.toLowerCase())),render:()=>{let n,r=0,o=null,i=()=>{let d=document.createElement("div");return d.className="fi-dropdown-panel fi-dropdown-list",d},s=()=>{if(!n||!o)return;let d=o.items||[];if(n.innerHTML="",d.length)d.forEach((f,h)=>{let p=document.createElement("button");p.className=`fi-dropdown-list-item fi-dropdown-list-item-label ${h===r?"fi-selected":""}`,p.textContent=f,p.type="button",p.addEventListener("click",()=>l(h)),n.appendChild(p)});else{let f=document.createElement("div");f.className="fi-dropdown-header",f.textContent=e,n.appendChild(f)}},l=d=>{if(!o)return;let h=(o.items||[])[d];h&&o.command({id:h})},a=()=>{if(!o)return;let d=o.items||[];d.length!==0&&(r=(r+d.length-1)%d.length,s())},c=()=>{if(!o)return;let d=o.items||[];d.length!==0&&(r=(r+1)%d.length,s())},u=()=>{l(r)};return{onStart:d=>{o=d,r=0,n=i(),n.style.position="absolute",s(),document.body.appendChild(n),d.clientRect&&Ph(d.editor,n)},onUpdate:d=>{o=d,r=0,s(),d.clientRect&&Ph(d.editor,n)},onKeyDown:d=>d.event.key==="Escape"?(n&&n.parentNode&&n.parentNode.removeChild(n),!0):d.event.key==="ArrowUp"?(a(),!0):d.event.key==="ArrowDown"?(c(),!0):d.event.key==="Enter"?(u(),!0):!1,onExit:()=>{n&&n.parentNode&&n.parentNode.removeChild(n)}}}});var Lh=async({customExtensionUrls:t,deleteCustomBlockButtonIconHtml:e,editCustomBlockButtonIconHtml:n,editCustomBlockUsing:r,insertCustomBlockUsing:o,key:i,mergeTags:s,noMergeTagSearchResultsMessage:l,placeholder:a,statePath:c,uploadingFileMessage:u,$wire:d})=>[gd,yd,El,bd,xd,wd.configure({deleteCustomBlockButtonIconHtml:e,editCustomBlockButtonIconHtml:n,editCustomBlockUsing:r,insertCustomBlockUsing:o}),kd,Md,Cd,vd,hd,pd,Td,Ad,Ed,Od,Nd,Dd.configure({inline:!0}),Pd,Gd.configure({autolink:!0,openOnClick:!1}),Ol,lf.configure({get$WireUsing:()=>d,key:i,statePath:c,uploadingMessage:u}),...s.length?[cf.configure({deleteTriggerWithBackspace:!0,suggestion:Ih({mergeTags:s,noMergeTagSearchResultsMessage:l})})]:[],Rl,uf,df.configure({placeholder:a}),ff,hf,pf,mf,Uf.configure({table:{resizable:!0}}),Jf,qf.configure({types:["heading","paragraph"],alignments:["start","center","end","justify"],defaultAlignment:"start"}),Gf,md,...(await Promise.all(t.map(async f=>(new RegExp("^(?:[a-z+]+:)?//","i").test(f)||(f=new URL(f,document.baseURI).href),(await import(f)).default)))).flat()];function ow(t,e){let n=Math.min(t.top,e.top),r=Math.max(t.bottom,e.bottom),o=Math.min(t.left,e.left),s=Math.max(t.right,e.right)-o,l=r-n,a=o,c=n;return new DOMRect(a,c,s,l)}var iw=class{constructor({editor:t,element:e,view:n,updateDelay:r=250,resizeDelay:o=60,shouldShow:i,options:s}){this.preventHide=!1,this.isVisible=!1,this.floatingUIOptions={strategy:"absolute",placement:"top",offset:8,flip:{},shift:{},arrow:!1,size:!1,autoPlacement:!1,hide:!1,inline:!1,onShow:void 0,onHide:void 0,onUpdate:void 0,onDestroy:void 0},this.shouldShow=({view:l,state:a,from:c,to:u})=>{let{doc:d,selection:f}=a,{empty:h}=f,p=!d.textBetween(c,u).length&&lo(a.selection),m=this.element.contains(document.activeElement);return!(!(l.hasFocus()||m)||h||p||!this.editor.isEditable)},this.mousedownHandler=()=>{this.preventHide=!0},this.dragstartHandler=()=>{this.hide()},this.resizeHandler=()=>{this.resizeDebounceTimer&&clearTimeout(this.resizeDebounceTimer),this.resizeDebounceTimer=window.setTimeout(()=>{this.updatePosition()},this.resizeDelay)},this.focusHandler=()=>{setTimeout(()=>this.update(this.editor.view))},this.blurHandler=({event:l})=>{var a;if(this.preventHide){this.preventHide=!1;return}l?.relatedTarget&&((a=this.element.parentNode)!=null&&a.contains(l.relatedTarget))||l?.relatedTarget!==this.editor.view.dom&&this.hide()},this.handleDebouncedUpdate=(l,a)=>{let c=!a?.selection.eq(l.state.selection),u=!a?.doc.eq(l.state.doc);!c&&!u||(this.updateDebounceTimer&&clearTimeout(this.updateDebounceTimer),this.updateDebounceTimer=window.setTimeout(()=>{this.updateHandler(l,c,u,a)},this.updateDelay))},this.updateHandler=(l,a,c,u)=>{let{composing:d}=l;if(d||!a&&!c)return;if(!this.getShouldShow(u)){this.hide();return}this.updatePosition(),this.show()},this.editor=t,this.element=e,this.view=n,this.updateDelay=r,this.resizeDelay=o,this.floatingUIOptions={...this.floatingUIOptions,...s},this.element.tabIndex=0,i&&(this.shouldShow=i),this.element.addEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.view.dom.addEventListener("dragstart",this.dragstartHandler),this.editor.on("focus",this.focusHandler),this.editor.on("blur",this.blurHandler),window.addEventListener("resize",this.resizeHandler),this.update(n,n.state),this.getShouldShow()&&this.show()}get middlewares(){let t=[];return this.floatingUIOptions.flip&&t.push(mi(typeof this.floatingUIOptions.flip!="boolean"?this.floatingUIOptions.flip:void 0)),this.floatingUIOptions.shift&&t.push(pi(typeof this.floatingUIOptions.shift!="boolean"?this.floatingUIOptions.shift:void 0)),this.floatingUIOptions.offset&&t.push(Ah(typeof this.floatingUIOptions.offset!="boolean"?this.floatingUIOptions.offset:void 0)),this.floatingUIOptions.arrow&&t.push(Rh(this.floatingUIOptions.arrow)),this.floatingUIOptions.size&&t.push(Oh(typeof this.floatingUIOptions.size!="boolean"?this.floatingUIOptions.size:void 0)),this.floatingUIOptions.autoPlacement&&t.push(Eh(typeof this.floatingUIOptions.autoPlacement!="boolean"?this.floatingUIOptions.autoPlacement:void 0)),this.floatingUIOptions.hide&&t.push(Nh(typeof this.floatingUIOptions.hide!="boolean"?this.floatingUIOptions.hide:void 0)),this.floatingUIOptions.inline&&t.push(Dh(typeof this.floatingUIOptions.inline!="boolean"?this.floatingUIOptions.inline:void 0)),t}updatePosition(){let{selection:t}=this.editor.state,e={getBoundingClientRect:()=>Fu(this.view,t.from,t.to)};if(t instanceof K){let{$anchorCell:n,$headCell:r}=t,o=n?n.pos:r.pos,i=r?r.pos:n.pos,s=this.view.nodeDOM(o),l=this.view.nodeDOM(i);if(!s||!l)return;let a=s===l?s.getBoundingClientRect():ow(s.getBoundingClientRect(),l.getBoundingClientRect());e={getBoundingClientRect:()=>a}}gi(e,this.element,{placement:this.floatingUIOptions.placement,strategy:this.floatingUIOptions.strategy,middleware:this.middlewares}).then(({x:n,y:r,strategy:o})=>{this.element.style.width="max-content",this.element.style.position=o,this.element.style.left=`${n}px`,this.element.style.top=`${r}px`,this.isVisible&&this.floatingUIOptions.onUpdate&&this.floatingUIOptions.onUpdate()})}update(t,e){let{state:n}=t,r=n.selection.from!==n.selection.to;if(this.updateDelay>0&&r){this.handleDebouncedUpdate(t,e);return}let o=!e?.selection.eq(t.state.selection),i=!e?.doc.eq(t.state.doc);this.updateHandler(t,o,i,e)}getShouldShow(t){var e;let{state:n}=this.view,{selection:r}=n,{ranges:o}=r,i=Math.min(...o.map(a=>a.$from.pos)),s=Math.max(...o.map(a=>a.$to.pos));return(e=this.shouldShow)==null?void 0:e.call(this,{editor:this.editor,element:this.element,view:this.view,state:n,oldState:t,from:i,to:s})}show(){var t;this.isVisible||(this.element.style.visibility="visible",this.element.style.opacity="1",(t=this.view.dom.parentElement)==null||t.appendChild(this.element),this.floatingUIOptions.onShow&&this.floatingUIOptions.onShow(),this.isVisible=!0)}hide(){this.isVisible&&(this.element.style.visibility="hidden",this.element.style.opacity="0",this.element.remove(),this.floatingUIOptions.onHide&&this.floatingUIOptions.onHide(),this.isVisible=!1)}destroy(){this.hide(),this.element.removeEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.view.dom.removeEventListener("dragstart",this.dragstartHandler),window.removeEventListener("resize",this.resizeHandler),this.editor.off("focus",this.focusHandler),this.editor.off("blur",this.blurHandler),this.floatingUIOptions.onDestroy&&this.floatingUIOptions.onDestroy()}},Yl=t=>new N({key:typeof t.pluginKey=="string"?new L(t.pluginKey):t.pluginKey,view:e=>new iw({view:e,...t})}),kv=$.create({name:"bubbleMenu",addOptions(){return{element:null,pluginKey:"bubbleMenu",updateDelay:void 0,shouldShow:null}},addProseMirrorPlugins(){return this.options.element?[Yl({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,updateDelay:this.options.updateDelay,options:this.options.options,shouldShow:this.options.shouldShow})]:[]}});function sw({activePanel:t,deleteCustomBlockButtonIconHtml:e,editCustomBlockButtonIconHtml:n,extensions:r,key:o,isDisabled:i,isLiveDebounced:s,isLiveOnBlur:l,liveDebounce:a,livewireId:c,mergeTags:u,noMergeTagSearchResultsMessage:d,placeholder:f,state:h,statePath:p,uploadingFileMessage:m,floatingToolbars:g}){let y;return{state:h,activePanel:t,editorSelection:{type:"text",anchor:1,head:1},isUploadingFile:!1,shouldUpdateState:!0,editorUpdatedAt:Date.now(),async init(){y=new nd({editable:!i,element:this.$refs.editor,extensions:await Lh({customExtensionUrls:r,deleteCustomBlockButtonIconHtml:e,editCustomBlockButtonIconHtml:n,editCustomBlockUsing:(b,x)=>this.$wire.mountAction("customBlock",{editorSelection:this.editorSelection,id:b,config:x,mode:"edit"},{schemaComponent:o}),insertCustomBlockUsing:(b,x=null)=>this.$wire.mountAction("customBlock",{id:b,dragPosition:x,mode:"insert"},{schemaComponent:o}),key:o,mergeTags:u,noMergeTagSearchResultsMessage:d,placeholder:f,statePath:p,uploadingFileMessage:m,$wire:this.$wire,floatingToolbars:g}),content:this.state}),Object.keys(g).forEach(b=>{let x=this.$refs[`floatingToolbar::${b}`];if(!x){console.warn(`Floating toolbar [${b}] not found.`);return}y.registerPlugin(Yl({editor:y,element:x,pluginKey:`floatingToolbar::${b}`,shouldShow:({editor:C})=>C.isFocused&&C.isActive(b),options:{placement:"bottom",offset:15}}))}),y.on("create",()=>{this.editorUpdatedAt=Date.now()}),y.on("update",({editor:b})=>this.$nextTick(()=>{this.editorUpdatedAt=Date.now(),this.state=b.getJSON(),this.shouldUpdateState=!1,s&&Alpine.debounce(()=>this.$wire.commit(),a??300)})),y.on("selectionUpdate",({transaction:b})=>{this.editorUpdatedAt=Date.now(),this.editorSelection=b.selection.toJSON()}),l&&y.on("blur",()=>this.$wire.commit()),this.$watch("state",()=>{if(!this.shouldUpdateState){this.shouldUpdateState=!0;return}y.commands.setContent(this.state)}),window.addEventListener("run-rich-editor-commands",b=>{b.detail.livewireId===c&&b.detail.key===o&&this.runEditorCommands(b.detail)}),window.addEventListener("rich-editor-uploading-file",b=>{b.detail.livewireId===c&&b.detail.key===o&&(this.isUploadingFile=!0,b.stopPropagation())}),window.addEventListener("rich-editor-uploaded-file",b=>{b.detail.livewireId===c&&b.detail.key===o&&(this.isUploadingFile=!1,b.stopPropagation())}),window.dispatchEvent(new CustomEvent(`schema-component-${c}-${o}-loaded`))},getEditor(){return y},$getEditor(){return this.getEditor()},setEditorSelection(b){b&&(this.editorSelection=b,y.chain().command(({tr:x})=>(x.setSelection(E.fromJSON(y.state.doc,this.editorSelection)),!0)).run())},runEditorCommands({commands:b,editorSelection:x}){this.setEditorSelection(x);let C=y.chain();b.forEach(S=>C=C[S.name](...S.arguments??[])),C.run()},togglePanel(b=null){if(this.isPanelActive(b)){this.activePanel=null;return}this.activePanel=b},isPanelActive(b=null){return b===null?this.activePanel!==null:this.activePanel===b},insertMergeTag(b){y.chain().focus().insertContent([{type:"mergeTag",attrs:{id:b}},{type:"text",text:" "}]).run()}}}export{sw as default}; diff --git a/public/js/filament/forms/components/select.js b/public/js/filament/forms/components/select.js new file mode 100644 index 0000000..cd439fa --- /dev/null +++ b/public/js/filament/forms/components/select.js @@ -0,0 +1 @@ +var tt=Math.min,V=Math.max,et=Math.round;var D=i=>({x:i,y:i}),Gt={left:"right",right:"left",bottom:"top",top:"bottom"},Xt={start:"end",end:"start"};function ut(i,t,e){return V(i,tt(t,e))}function it(i,t){return typeof i=="function"?i(t):i}function z(i){return i.split("-")[0]}function st(i){return i.split("-")[1]}function mt(i){return i==="x"?"y":"x"}function gt(i){return i==="y"?"height":"width"}var Qt=new Set(["top","bottom"]);function M(i){return Qt.has(z(i))?"y":"x"}function bt(i){return mt(M(i))}function Ot(i,t,e){e===void 0&&(e=!1);let s=st(i),n=bt(i),o=gt(n),r=n==="x"?s===(e?"end":"start")?"right":"left":s==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(r=Z(r)),[r,Z(r)]}function At(i){let t=Z(i);return[lt(i),t,lt(t)]}function lt(i){return i.replace(/start|end/g,t=>Xt[t])}var vt=["left","right"],Lt=["right","left"],Zt=["top","bottom"],te=["bottom","top"];function ee(i,t,e){switch(i){case"top":case"bottom":return e?t?Lt:vt:t?vt:Lt;case"left":case"right":return t?Zt:te;default:return[]}}function St(i,t,e,s){let n=st(i),o=ee(z(i),e==="start",s);return n&&(o=o.map(r=>r+"-"+n),t&&(o=o.concat(o.map(lt)))),o}function Z(i){return i.replace(/left|right|bottom|top/g,t=>Gt[t])}function ie(i){return{top:0,right:0,bottom:0,left:0,...i}}function Ct(i){return typeof i!="number"?ie(i):{top:i,right:i,bottom:i,left:i}}function U(i){let{x:t,y:e,width:s,height:n}=i;return{width:s,height:n,top:e,left:t,right:t+s,bottom:e+n,x:t,y:e}}function Et(i,t,e){let{reference:s,floating:n}=i,o=M(t),r=bt(t),l=gt(r),a=z(t),c=o==="y",h=s.x+s.width/2-n.width/2,d=s.y+s.height/2-n.height/2,p=s[l]/2-n[l]/2,f;switch(a){case"top":f={x:h,y:s.y-n.height};break;case"bottom":f={x:h,y:s.y+s.height};break;case"right":f={x:s.x+s.width,y:d};break;case"left":f={x:s.x-n.width,y:d};break;default:f={x:s.x,y:s.y}}switch(st(t)){case"start":f[r]-=p*(e&&c?-1:1);break;case"end":f[r]+=p*(e&&c?-1:1);break}return f}var Dt=async(i,t,e)=>{let{placement:s="bottom",strategy:n="absolute",middleware:o=[],platform:r}=e,l=o.filter(Boolean),a=await(r.isRTL==null?void 0:r.isRTL(t)),c=await r.getElementRects({reference:i,floating:t,strategy:n}),{x:h,y:d}=Et(c,s,a),p=s,f={},u=0;for(let m=0;mA<=0)){var J,j;let A=(((J=o.flip)==null?void 0:J.index)||0)+1,T=Q[A];if(T&&(!(d==="alignment"?b!==M(T):!1)||I.every(E=>E.overflows[0]>0&&M(E.placement)===b)))return{data:{index:A,overflows:I},reset:{placement:T}};let W=(j=I.filter(P=>P.overflows[0]<=0).sort((P,E)=>P.overflows[1]-E.overflows[1])[0])==null?void 0:j.placement;if(!W)switch(f){case"bestFit":{var Y;let P=(Y=I.filter(E=>{if(q){let H=M(E.placement);return H===b||H==="y"}return!0}).map(E=>[E.placement,E.overflows.filter(H=>H>0).reduce((H,Yt)=>H+Yt,0)]).sort((E,H)=>E[1]-H[1])[0])==null?void 0:Y[0];P&&(W=P);break}case"initialPlacement":W=l;break}if(n!==W)return{reset:{placement:W}}}return{}}}};var se=new Set(["left","top"]);async function ne(i,t){let{placement:e,platform:s,elements:n}=i,o=await(s.isRTL==null?void 0:s.isRTL(n.floating)),r=z(e),l=st(e),a=M(e)==="y",c=se.has(r)?-1:1,h=o&&a?-1:1,d=it(t,i),{mainAxis:p,crossAxis:f,alignmentAxis:u}=typeof d=="number"?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return l&&typeof u=="number"&&(f=l==="end"?u*-1:u),a?{x:f*h,y:p*c}:{x:p*c,y:f*h}}var It=function(i){return i===void 0&&(i=0),{name:"offset",options:i,async fn(t){var e,s;let{x:n,y:o,placement:r,middlewareData:l}=t,a=await ne(t,i);return r===((e=l.offset)==null?void 0:e.placement)&&(s=l.arrow)!=null&&s.alignmentOffset?{}:{x:n+a.x,y:o+a.y,data:{...a,placement:r}}}}},Tt=function(i){return i===void 0&&(i={}),{name:"shift",options:i,async fn(t){let{x:e,y:s,placement:n}=t,{mainAxis:o=!0,crossAxis:r=!1,limiter:l={fn:g=>{let{x:y,y:b}=g;return{x:y,y:b}}},...a}=it(i,t),c={x:e,y:s},h=await wt(t,a),d=M(z(n)),p=mt(d),f=c[p],u=c[d];if(o){let g=p==="y"?"top":"left",y=p==="y"?"bottom":"right",b=f+h[g],v=f-h[y];f=ut(b,f,v)}if(r){let g=d==="y"?"top":"left",y=d==="y"?"bottom":"right",b=u+h[g],v=u-h[y];u=ut(b,u,v)}let m=l.fn({...t,[p]:f,[d]:u});return{...m,data:{x:m.x-e,y:m.y-s,enabled:{[p]:o,[d]:r}}}}}};function ct(){return typeof window<"u"}function K(i){return Pt(i)?(i.nodeName||"").toLowerCase():"#document"}function O(i){var t;return(i==null||(t=i.ownerDocument)==null?void 0:t.defaultView)||window}function k(i){var t;return(t=(Pt(i)?i.ownerDocument:i.document)||window.document)==null?void 0:t.documentElement}function Pt(i){return ct()?i instanceof Node||i instanceof O(i).Node:!1}function S(i){return ct()?i instanceof Element||i instanceof O(i).Element:!1}function R(i){return ct()?i instanceof HTMLElement||i instanceof O(i).HTMLElement:!1}function kt(i){return!ct()||typeof ShadowRoot>"u"?!1:i instanceof ShadowRoot||i instanceof O(i).ShadowRoot}var oe=new Set(["inline","contents"]);function G(i){let{overflow:t,overflowX:e,overflowY:s,display:n}=C(i);return/auto|scroll|overlay|hidden|clip/.test(t+s+e)&&!oe.has(n)}var re=new Set(["table","td","th"]);function Mt(i){return re.has(K(i))}var le=[":popover-open",":modal"];function nt(i){return le.some(t=>{try{return i.matches(t)}catch{return!1}})}var ae=["transform","translate","scale","rotate","perspective"],ce=["transform","translate","scale","rotate","perspective","filter"],de=["paint","layout","strict","content"];function dt(i){let t=ht(),e=S(i)?C(i):i;return ae.some(s=>e[s]?e[s]!=="none":!1)||(e.containerType?e.containerType!=="normal":!1)||!t&&(e.backdropFilter?e.backdropFilter!=="none":!1)||!t&&(e.filter?e.filter!=="none":!1)||ce.some(s=>(e.willChange||"").includes(s))||de.some(s=>(e.contain||"").includes(s))}function Bt(i){let t=B(i);for(;R(t)&&!_(t);){if(dt(t))return t;if(nt(t))return null;t=B(t)}return null}function ht(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}var he=new Set(["html","body","#document"]);function _(i){return he.has(K(i))}function C(i){return O(i).getComputedStyle(i)}function ot(i){return S(i)?{scrollLeft:i.scrollLeft,scrollTop:i.scrollTop}:{scrollLeft:i.scrollX,scrollTop:i.scrollY}}function B(i){if(K(i)==="html")return i;let t=i.assignedSlot||i.parentNode||kt(i)&&i.host||k(i);return kt(t)?t.host:t}function Nt(i){let t=B(i);return _(t)?i.ownerDocument?i.ownerDocument.body:i.body:R(t)&&G(t)?t:Nt(t)}function at(i,t,e){var s;t===void 0&&(t=[]),e===void 0&&(e=!0);let n=Nt(i),o=n===((s=i.ownerDocument)==null?void 0:s.body),r=O(n);if(o){let l=ft(r);return t.concat(r,r.visualViewport||[],G(n)?n:[],l&&e?at(l):[])}return t.concat(n,at(n,[],e))}function ft(i){return i.parent&&Object.getPrototypeOf(i.parent)?i.frameElement:null}function Vt(i){let t=C(i),e=parseFloat(t.width)||0,s=parseFloat(t.height)||0,n=R(i),o=n?i.offsetWidth:e,r=n?i.offsetHeight:s,l=et(e)!==o||et(s)!==r;return l&&(e=o,s=r),{width:e,height:s,$:l}}function zt(i){return S(i)?i:i.contextElement}function X(i){let t=zt(i);if(!R(t))return D(1);let e=t.getBoundingClientRect(),{width:s,height:n,$:o}=Vt(t),r=(o?et(e.width):e.width)/s,l=(o?et(e.height):e.height)/n;return(!r||!Number.isFinite(r))&&(r=1),(!l||!Number.isFinite(l))&&(l=1),{x:r,y:l}}var fe=D(0);function $t(i){let t=O(i);return!ht()||!t.visualViewport?fe:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function pe(i,t,e){return t===void 0&&(t=!1),!e||t&&e!==O(i)?!1:t}function rt(i,t,e,s){t===void 0&&(t=!1),e===void 0&&(e=!1);let n=i.getBoundingClientRect(),o=zt(i),r=D(1);t&&(s?S(s)&&(r=X(s)):r=X(i));let l=pe(o,e,s)?$t(o):D(0),a=(n.left+l.x)/r.x,c=(n.top+l.y)/r.y,h=n.width/r.x,d=n.height/r.y;if(o){let p=O(o),f=s&&S(s)?O(s):s,u=p,m=ft(u);for(;m&&s&&f!==u;){let g=X(m),y=m.getBoundingClientRect(),b=C(m),v=y.left+(m.clientLeft+parseFloat(b.paddingLeft))*g.x,L=y.top+(m.clientTop+parseFloat(b.paddingTop))*g.y;a*=g.x,c*=g.y,h*=g.x,d*=g.y,a+=v,c+=L,u=O(m),m=ft(u)}}return U({width:h,height:d,x:a,y:c})}function xt(i,t){let e=ot(i).scrollLeft;return t?t.left+e:rt(k(i)).left+e}function Wt(i,t,e){e===void 0&&(e=!1);let s=i.getBoundingClientRect(),n=s.left+t.scrollLeft-(e?0:xt(i,s)),o=s.top+t.scrollTop;return{x:n,y:o}}function ue(i){let{elements:t,rect:e,offsetParent:s,strategy:n}=i,o=n==="fixed",r=k(s),l=t?nt(t.floating):!1;if(s===r||l&&o)return e;let a={scrollLeft:0,scrollTop:0},c=D(1),h=D(0),d=R(s);if((d||!d&&!o)&&((K(s)!=="body"||G(r))&&(a=ot(s)),R(s))){let f=rt(s);c=X(s),h.x=f.x+s.clientLeft,h.y=f.y+s.clientTop}let p=r&&!d&&!o?Wt(r,a,!0):D(0);return{width:e.width*c.x,height:e.height*c.y,x:e.x*c.x-a.scrollLeft*c.x+h.x+p.x,y:e.y*c.y-a.scrollTop*c.y+h.y+p.y}}function me(i){return Array.from(i.getClientRects())}function ge(i){let t=k(i),e=ot(i),s=i.ownerDocument.body,n=V(t.scrollWidth,t.clientWidth,s.scrollWidth,s.clientWidth),o=V(t.scrollHeight,t.clientHeight,s.scrollHeight,s.clientHeight),r=-e.scrollLeft+xt(i),l=-e.scrollTop;return C(s).direction==="rtl"&&(r+=V(t.clientWidth,s.clientWidth)-n),{width:n,height:o,x:r,y:l}}function be(i,t){let e=O(i),s=k(i),n=e.visualViewport,o=s.clientWidth,r=s.clientHeight,l=0,a=0;if(n){o=n.width,r=n.height;let c=ht();(!c||c&&t==="fixed")&&(l=n.offsetLeft,a=n.offsetTop)}return{width:o,height:r,x:l,y:a}}var we=new Set(["absolute","fixed"]);function ye(i,t){let e=rt(i,!0,t==="fixed"),s=e.top+i.clientTop,n=e.left+i.clientLeft,o=R(i)?X(i):D(1),r=i.clientWidth*o.x,l=i.clientHeight*o.y,a=n*o.x,c=s*o.y;return{width:r,height:l,x:a,y:c}}function Ft(i,t,e){let s;if(t==="viewport")s=be(i,e);else if(t==="document")s=ge(k(i));else if(S(t))s=ye(t,e);else{let n=$t(i);s={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return U(s)}function Ut(i,t){let e=B(i);return e===t||!S(e)||_(e)?!1:C(e).position==="fixed"||Ut(e,t)}function xe(i,t){let e=t.get(i);if(e)return e;let s=at(i,[],!1).filter(l=>S(l)&&K(l)!=="body"),n=null,o=C(i).position==="fixed",r=o?B(i):i;for(;S(r)&&!_(r);){let l=C(r),a=dt(r);!a&&l.position==="fixed"&&(n=null),(o?!a&&!n:!a&&l.position==="static"&&!!n&&we.has(n.position)||G(r)&&!a&&Ut(i,r))?s=s.filter(h=>h!==r):n=l,r=B(r)}return t.set(i,s),s}function ve(i){let{element:t,boundary:e,rootBoundary:s,strategy:n}=i,r=[...e==="clippingAncestors"?nt(t)?[]:xe(t,this._c):[].concat(e),s],l=r[0],a=r.reduce((c,h)=>{let d=Ft(t,h,n);return c.top=V(d.top,c.top),c.right=tt(d.right,c.right),c.bottom=tt(d.bottom,c.bottom),c.left=V(d.left,c.left),c},Ft(t,l,n));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}}function Le(i){let{width:t,height:e}=Vt(i);return{width:t,height:e}}function Oe(i,t,e){let s=R(t),n=k(t),o=e==="fixed",r=rt(i,!0,o,t),l={scrollLeft:0,scrollTop:0},a=D(0);function c(){a.x=xt(n)}if(s||!s&&!o)if((K(t)!=="body"||G(n))&&(l=ot(t)),s){let f=rt(t,!0,o,t);a.x=f.x+t.clientLeft,a.y=f.y+t.clientTop}else n&&c();o&&!s&&n&&c();let h=n&&!s&&!o?Wt(n,l):D(0),d=r.left+l.scrollLeft-a.x-h.x,p=r.top+l.scrollTop-a.y-h.y;return{x:d,y:p,width:r.width,height:r.height}}function yt(i){return C(i).position==="static"}function Ht(i,t){if(!R(i)||C(i).position==="fixed")return null;if(t)return t(i);let e=i.offsetParent;return k(i)===e&&(e=e.ownerDocument.body),e}function Kt(i,t){let e=O(i);if(nt(i))return e;if(!R(i)){let n=B(i);for(;n&&!_(n);){if(S(n)&&!yt(n))return n;n=B(n)}return e}let s=Ht(i,t);for(;s&&Mt(s)&&yt(s);)s=Ht(s,t);return s&&_(s)&&yt(s)&&!dt(s)?e:s||Bt(i)||e}var Ae=async function(i){let t=this.getOffsetParent||Kt,e=this.getDimensions,s=await e(i.floating);return{reference:Oe(i.reference,await t(i.floating),i.strategy),floating:{x:0,y:0,width:s.width,height:s.height}}};function Se(i){return C(i).direction==="rtl"}var Ce={convertOffsetParentRelativeRectToViewportRelativeRect:ue,getDocumentElement:k,getClippingRect:ve,getOffsetParent:Kt,getElementRects:Ae,getClientRects:me,getDimensions:Le,getScale:X,isElement:S,isRTL:Se};var _t=It;var qt=Tt,Jt=Rt;var jt=(i,t,e)=>{let s=new Map,n={platform:Ce,...e},o={...n.platform,_c:s};return Dt(i,t,{...n,platform:o})};function N(i){return i==null||i===""||typeof i=="string"&&i.trim()===""}function w(i){return!N(i)}var pt=class{constructor({element:t,options:e,placeholder:s,state:n,canOptionLabelsWrap:o=!0,canSelectPlaceholder:r=!0,initialOptionLabel:l=null,initialOptionLabels:a=null,initialState:c=null,isHtmlAllowed:h=!1,isAutofocused:d=!1,isDisabled:p=!1,isMultiple:f=!1,isSearchable:u=!1,getOptionLabelUsing:m=null,getOptionLabelsUsing:g=null,getOptionsUsing:y=null,getSearchResultsUsing:b=null,hasDynamicOptions:v=!1,hasDynamicSearchResults:L=!0,searchPrompt:x="Search...",searchDebounce:q=1e3,loadingMessage:Q="Loading...",searchingMessage:$="Searching...",noSearchResultsMessage:F="No results found",maxItems:I=null,maxItemsMessage:J="Maximum number of items selected",optionsLimit:j=null,position:Y=null,searchableOptionFields:A=["label"],livewireId:T=null,statePath:W=null,onStateChange:P=()=>{}}){this.element=t,this.options=e,this.originalOptions=JSON.parse(JSON.stringify(e)),this.placeholder=s,this.state=n,this.canOptionLabelsWrap=o,this.canSelectPlaceholder=r,this.initialOptionLabel=l,this.initialOptionLabels=a,this.initialState=c,this.isHtmlAllowed=h,this.isAutofocused=d,this.isDisabled=p,this.isMultiple=f,this.isSearchable=u,this.getOptionLabelUsing=m,this.getOptionLabelsUsing=g,this.getOptionsUsing=y,this.getSearchResultsUsing=b,this.hasDynamicOptions=v,this.hasDynamicSearchResults=L,this.searchPrompt=x,this.searchDebounce=q,this.loadingMessage=Q,this.searchingMessage=$,this.noSearchResultsMessage=F,this.maxItems=I,this.maxItemsMessage=J,this.optionsLimit=j,this.position=Y,this.searchableOptionFields=Array.isArray(A)?A:["label"],this.livewireId=T,this.statePath=W,this.onStateChange=P,this.labelRepository={},this.isOpen=!1,this.selectedIndex=-1,this.searchQuery="",this.searchTimeout=null,this.render(),this.setUpEventListeners(),this.isAutofocused&&this.selectButton.focus()}populateLabelRepositoryFromOptions(t){if(!(!t||!Array.isArray(t)))for(let e of t)e.options&&Array.isArray(e.options)?this.populateLabelRepositoryFromOptions(e.options):e.value!==void 0&&e.label!==void 0&&(this.labelRepository[e.value]=e.label)}render(){this.populateLabelRepositoryFromOptions(this.options),this.container=document.createElement("div"),this.container.className="fi-select-input-ctn",this.canOptionLabelsWrap||this.container.classList.add("fi-select-input-ctn-option-labels-not-wrapped"),this.container.setAttribute("aria-haspopup","listbox"),this.selectButton=document.createElement("button"),this.selectButton.className="fi-select-input-btn",this.selectButton.type="button",this.selectButton.setAttribute("aria-expanded","false"),this.selectedDisplay=document.createElement("div"),this.selectedDisplay.className="fi-select-input-value-ctn",this.updateSelectedDisplay(),this.selectButton.appendChild(this.selectedDisplay),this.dropdown=document.createElement("div"),this.dropdown.className="fi-dropdown-panel fi-scrollable",this.dropdown.setAttribute("role","listbox"),this.dropdown.setAttribute("tabindex","-1"),this.dropdown.style.display="none",this.dropdownId=`fi-select-input-dropdown-${Math.random().toString(36).substring(2,11)}`,this.dropdown.id=this.dropdownId,this.isMultiple&&this.dropdown.setAttribute("aria-multiselectable","true"),this.isSearchable&&(this.searchContainer=document.createElement("div"),this.searchContainer.className="fi-select-input-search-ctn",this.searchInput=document.createElement("input"),this.searchInput.className="fi-input",this.searchInput.type="text",this.searchInput.placeholder=this.searchPrompt,this.searchInput.setAttribute("aria-label","Search"),this.searchContainer.appendChild(this.searchInput),this.dropdown.appendChild(this.searchContainer),this.searchInput.addEventListener("input",t=>{this.isDisabled||this.handleSearch(t)}),this.searchInput.addEventListener("keydown",t=>{if(!this.isDisabled){if(t.key==="Tab"){t.preventDefault();let e=this.getVisibleOptions();if(e.length===0)return;t.shiftKey?this.selectedIndex=e.length-1:this.selectedIndex=0,e.forEach(s=>{s.classList.remove("fi-selected")}),e[this.selectedIndex].classList.add("fi-selected"),e[this.selectedIndex].focus()}else if(t.key==="ArrowDown"){if(t.preventDefault(),t.stopPropagation(),this.getVisibleOptions().length===0)return;this.selectedIndex=-1,this.searchInput.blur(),this.focusNextOption()}else if(t.key==="ArrowUp"){t.preventDefault(),t.stopPropagation();let e=this.getVisibleOptions();if(e.length===0)return;this.selectedIndex=e.length-1,this.searchInput.blur(),e[this.selectedIndex].classList.add("fi-selected"),e[this.selectedIndex].focus(),e[this.selectedIndex].id&&this.dropdown.setAttribute("aria-activedescendant",e[this.selectedIndex].id),this.scrollOptionIntoView(e[this.selectedIndex])}}})),this.optionsList=document.createElement("ul"),this.renderOptions(),this.container.appendChild(this.selectButton),this.container.appendChild(this.dropdown),this.element.appendChild(this.container),this.applyDisabledState()}renderOptions(){this.optionsList.innerHTML="";let t=0,e=this.options,s=0,n=!1;this.options.forEach(l=>{l.options&&Array.isArray(l.options)?(s+=l.options.length,n=!0):s++}),n?this.optionsList.className="fi-select-input-options-ctn":s>0&&(this.optionsList.className="fi-dropdown-list");let o=n?null:this.optionsList,r=0;for(let l of e){if(this.optionsLimit&&r>=this.optionsLimit)break;if(l.options&&Array.isArray(l.options)){let a=l.options;if(this.isMultiple&&Array.isArray(this.state)&&this.state.length>0&&(a=l.options.filter(c=>!this.state.includes(c.value))),a.length>0){if(this.optionsLimit){let c=this.optionsLimit-r;c{let l=this.createOptionElement(r.value,r);o.appendChild(l)}),s.appendChild(n),s.appendChild(o),this.optionsList.appendChild(s)}createOptionElement(t,e){let s=t,n=e,o=!1;typeof e=="object"&&e!==null&&"label"in e&&"value"in e&&(s=e.value,n=e.label,o=e.isDisabled||!1);let r=document.createElement("li");r.className="fi-dropdown-list-item fi-select-input-option",o&&r.classList.add("fi-disabled");let l=`fi-select-input-option-${Math.random().toString(36).substring(2,11)}`;if(r.id=l,r.setAttribute("role","option"),r.setAttribute("data-value",s),r.setAttribute("tabindex","0"),o&&r.setAttribute("aria-disabled","true"),this.isHtmlAllowed&&typeof n=="string"){let h=document.createElement("div");h.innerHTML=n;let d=h.textContent||h.innerText||n;r.setAttribute("aria-label",d)}let a=this.isMultiple?Array.isArray(this.state)&&this.state.includes(s):this.state===s;r.setAttribute("aria-selected",a?"true":"false"),a&&r.classList.add("fi-selected");let c=document.createElement("span");return this.isHtmlAllowed?c.innerHTML=n:c.textContent=n,r.appendChild(c),o||r.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.selectOption(s),this.isMultiple&&(this.isSearchable&&this.searchInput?setTimeout(()=>{this.searchInput.focus()},0):setTimeout(()=>{r.focus()},0))}),r}async updateSelectedDisplay(){if(this.selectedDisplay.innerHTML="",this.isMultiple){if(!Array.isArray(this.state)||this.state.length===0){let s=document.createElement("span");s.textContent=this.placeholder,s.classList.add("fi-select-input-placeholder"),this.selectedDisplay.appendChild(s);return}let e=await this.getLabelsForMultipleSelection();this.addBadgesForSelectedOptions(e),this.isOpen&&this.positionDropdown();return}if(this.state===null||this.state===""){let e=document.createElement("span");e.textContent=this.placeholder,e.classList.add("fi-select-input-placeholder"),this.selectedDisplay.appendChild(e);return}let t=await this.getLabelForSingleSelection();this.addSingleSelectionDisplay(t)}async getLabelsForMultipleSelection(){let t=this.getSelectedOptionLabels(),e=[];if(Array.isArray(this.state)){for(let n of this.state)if(!w(this.labelRepository[n])){if(w(t[n])){this.labelRepository[n]=t[n];continue}e.push(n.toString())}}if(e.length>0&&w(this.initialOptionLabels)&&JSON.stringify(this.state)===JSON.stringify(this.initialState)){if(Array.isArray(this.initialOptionLabels))for(let n of this.initialOptionLabels)w(n)&&n.value!==void 0&&n.label!==void 0&&e.includes(n.value)&&(this.labelRepository[n.value]=n.label)}else if(e.length>0&&this.getOptionLabelsUsing)try{let n=await this.getOptionLabelsUsing();for(let o of n)w(o)&&o.value!==void 0&&o.label!==void 0&&(this.labelRepository[o.value]=o.label)}catch(n){console.error("Error fetching option labels:",n)}let s=[];if(Array.isArray(this.state))for(let n of this.state)w(this.labelRepository[n])?s.push(this.labelRepository[n]):w(t[n])?s.push(t[n]):s.push(n);return s}createBadgeElement(t,e){let s=document.createElement("span");s.className="fi-badge fi-size-md fi-color fi-color-primary fi-text-color-600 dark:fi-text-color-200",w(t)&&s.setAttribute("data-value",t);let n=document.createElement("span");n.className="fi-badge-label-ctn";let o=document.createElement("span");o.className="fi-badge-label",this.canOptionLabelsWrap&&o.classList.add("fi-wrapped"),this.isHtmlAllowed?o.innerHTML=e:o.textContent=e,n.appendChild(o),s.appendChild(n);let r=this.createRemoveButton(t,e);return s.appendChild(r),s}createRemoveButton(t,e){let s=document.createElement("button");return s.type="button",s.className="fi-badge-delete-btn",s.innerHTML='',s.setAttribute("aria-label","Remove "+(this.isHtmlAllowed?e.replace(/<[^>]*>/g,""):e)),s.addEventListener("click",n=>{n.stopPropagation(),w(t)&&this.selectOption(t)}),s.addEventListener("keydown",n=>{(n.key===" "||n.key==="Enter")&&(n.preventDefault(),n.stopPropagation(),w(t)&&this.selectOption(t))}),s}addBadgesForSelectedOptions(t){let e=document.createElement("div");e.className="fi-select-input-value-badges-ctn",t.forEach((s,n)=>{let o=Array.isArray(this.state)?this.state[n]:null,r=this.createBadgeElement(o,s);e.appendChild(r)}),this.selectedDisplay.appendChild(e)}async getLabelForSingleSelection(){let t=this.labelRepository[this.state];if(N(t)&&(t=this.getSelectedOptionLabel(this.state)),N(t)&&w(this.initialOptionLabel)&&this.state===this.initialState)t=this.initialOptionLabel,w(this.state)&&(this.labelRepository[this.state]=t);else if(N(t)&&this.getOptionLabelUsing)try{t=await this.getOptionLabelUsing(),w(t)&&w(this.state)&&(this.labelRepository[this.state]=t)}catch(e){console.error("Error fetching option label:",e),t=this.state}else N(t)&&(t=this.state);return t}addSingleSelectionDisplay(t){let e=document.createElement("span");if(e.className="fi-select-input-value-label",this.isHtmlAllowed?e.innerHTML=t:e.textContent=t,this.selectedDisplay.appendChild(e),!this.canSelectPlaceholder)return;let s=document.createElement("button");s.type="button",s.className="fi-select-input-value-remove-btn",s.innerHTML='',s.setAttribute("aria-label","Clear selection"),s.addEventListener("click",n=>{n.stopPropagation(),this.selectOption("")}),s.addEventListener("keydown",n=>{(n.key===" "||n.key==="Enter")&&(n.preventDefault(),n.stopPropagation(),this.selectOption(""))}),this.selectedDisplay.appendChild(s)}getSelectedOptionLabel(t){if(w(this.labelRepository[t]))return this.labelRepository[t];let e="";for(let s of this.options)if(s.options&&Array.isArray(s.options)){for(let n of s.options)if(n.value===t){e=n.label,this.labelRepository[t]=e;break}}else if(s.value===t){e=s.label,this.labelRepository[t]=e;break}return e}setUpEventListeners(){this.buttonClickListener=()=>{this.toggleDropdown()},this.documentClickListener=t=>{!this.container.contains(t.target)&&this.isOpen&&this.closeDropdown()},this.buttonKeydownListener=t=>{this.isDisabled||this.handleSelectButtonKeydown(t)},this.dropdownKeydownListener=t=>{this.isDisabled||this.isSearchable&&document.activeElement===this.searchInput&&!["Tab","Escape"].includes(t.key)||this.handleDropdownKeydown(t)},this.selectButton.addEventListener("click",this.buttonClickListener),document.addEventListener("click",this.documentClickListener),this.selectButton.addEventListener("keydown",this.buttonKeydownListener),this.dropdown.addEventListener("keydown",this.dropdownKeydownListener),!this.isMultiple&&this.livewireId&&this.statePath&&this.getOptionLabelUsing&&(this.refreshOptionLabelListener=async t=>{if(t.detail.livewireId===this.livewireId&&t.detail.statePath===this.statePath&&w(this.state))try{delete this.labelRepository[this.state];let e=await this.getOptionLabelUsing();w(e)&&(this.labelRepository[this.state]=e);let s=this.selectedDisplay.querySelector(".fi-select-input-value-label");w(s)&&(this.isHtmlAllowed?s.innerHTML=e:s.textContent=e),this.updateOptionLabelInList(this.state,e)}catch(e){console.error("Error refreshing option label:",e)}},window.addEventListener("filament-forms::select.refreshSelectedOptionLabel",this.refreshOptionLabelListener))}updateOptionLabelInList(t,e){this.labelRepository[t]=e;let s=this.getVisibleOptions();for(let n of s)if(n.getAttribute("data-value")===String(t)){if(n.innerHTML="",this.isHtmlAllowed){let o=document.createElement("span");o.innerHTML=e,n.appendChild(o)}else n.appendChild(document.createTextNode(e));break}for(let n of this.options)if(n.options&&Array.isArray(n.options)){for(let o of n.options)if(o.value===t){o.label=e;break}}else if(n.value===t){n.label=e;break}for(let n of this.originalOptions)if(n.options&&Array.isArray(n.options)){for(let o of n.options)if(o.value===t){o.label=e;break}}else if(n.value===t){n.label=e;break}}handleSelectButtonKeydown(t){switch(t.key){case"ArrowDown":t.preventDefault(),t.stopPropagation(),this.isOpen?this.focusNextOption():this.openDropdown();break;case"ArrowUp":t.preventDefault(),t.stopPropagation(),this.isOpen?this.focusPreviousOption():this.openDropdown();break;case" ":if(t.preventDefault(),this.isOpen){if(this.selectedIndex>=0){let e=this.getVisibleOptions()[this.selectedIndex];e&&e.click()}}else this.openDropdown();break;case"Enter":break;case"Escape":this.isOpen&&(t.preventDefault(),this.closeDropdown());break;case"Tab":this.isOpen&&this.closeDropdown();break}}handleDropdownKeydown(t){switch(t.key){case"ArrowDown":t.preventDefault(),t.stopPropagation(),this.focusNextOption();break;case"ArrowUp":t.preventDefault(),t.stopPropagation(),this.focusPreviousOption();break;case" ":if(t.preventDefault(),this.selectedIndex>=0){let e=this.getVisibleOptions()[this.selectedIndex];e&&e.click()}break;case"Enter":if(t.preventDefault(),this.selectedIndex>=0){let e=this.getVisibleOptions()[this.selectedIndex];e&&e.click()}else{let e=this.element.closest("form");e&&e.submit()}break;case"Escape":t.preventDefault(),this.closeDropdown(),this.selectButton.focus();break;case"Tab":this.closeDropdown();break}}toggleDropdown(){if(!this.isDisabled){if(this.isOpen){this.closeDropdown();return}this.isMultiple&&!this.isSearchable&&!this.hasAvailableOptions()||this.openDropdown()}}hasAvailableOptions(){for(let t of this.options)if(t.options&&Array.isArray(t.options)){for(let e of t.options)if(!Array.isArray(this.state)||!this.state.includes(e.value))return!0}else if(!Array.isArray(this.state)||!this.state.includes(t.value))return!0;return!1}async openDropdown(){this.dropdown.style.display="block",this.dropdown.style.opacity="0";let t=this.selectButton.closest(".fi-absolute-positioning-context")!==null;if(this.dropdown.style.position=t?"absolute":"fixed",this.dropdown.style.width=`${this.selectButton.offsetWidth}px`,this.selectButton.setAttribute("aria-expanded","true"),this.isOpen=!0,this.positionDropdown(),this.resizeListener||(this.resizeListener=()=>{this.dropdown.style.width=`${this.selectButton.offsetWidth}px`,this.positionDropdown()},window.addEventListener("resize",this.resizeListener)),this.scrollListener||(this.scrollListener=()=>this.positionDropdown(),window.addEventListener("scroll",this.scrollListener,!0)),this.dropdown.style.opacity="1",this.hasDynamicOptions&&this.getOptionsUsing){this.showLoadingState(!1);try{let e=await this.getOptionsUsing();this.options=e,this.originalOptions=JSON.parse(JSON.stringify(e)),this.populateLabelRepositoryFromOptions(e),this.renderOptions()}catch(e){console.error("Error fetching options:",e),this.hideLoadingState()}}if(this.hideLoadingState(),this.isSearchable&&this.searchInput)this.searchInput.value="",this.searchInput.focus(),this.searchQuery="",this.options=JSON.parse(JSON.stringify(this.originalOptions)),this.renderOptions();else{this.selectedIndex=-1;let e=this.getVisibleOptions();if(this.isMultiple){if(Array.isArray(this.state)&&this.state.length>0){for(let s=0;s0&&(this.selectedIndex=0),this.selectedIndex>=0&&(e[this.selectedIndex].classList.add("fi-selected"),e[this.selectedIndex].focus())}}positionDropdown(){let t=this.position==="top"?"top-start":"bottom-start",e=[_t(4),qt({padding:5})];this.position!=="top"&&this.position!=="bottom"&&e.push(Jt());let s=this.selectButton.closest(".fi-absolute-positioning-context")!==null;jt(this.selectButton,this.dropdown,{placement:t,middleware:e,strategy:s?"absolute":"fixed"}).then(({x:n,y:o})=>{Object.assign(this.dropdown.style,{left:`${n}px`,top:`${o}px`})})}closeDropdown(){this.dropdown.style.display="none",this.selectButton.setAttribute("aria-expanded","false"),this.isOpen=!1,this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null),this.scrollListener&&(window.removeEventListener("scroll",this.scrollListener,!0),this.scrollListener=null),this.getVisibleOptions().forEach(e=>{e.classList.remove("fi-selected")})}focusNextOption(){let t=this.getVisibleOptions();if(t.length!==0){if(this.selectedIndex>=0&&this.selectedIndex=0&&this.selectedIndexe.bottom?this.dropdown.scrollTop+=s.bottom-e.bottom:s.top li[role="option"]')):t=Array.from(this.optionsList.querySelectorAll(':scope > ul.fi-dropdown-list > li[role="option"]'));let e=Array.from(this.optionsList.querySelectorAll('li.fi-select-input-option-group > ul > li[role="option"]'));return[...t,...e]}getSelectedOptionLabels(){if(!Array.isArray(this.state)||this.state.length===0)return{};let t={};for(let e of this.state){let s=!1;for(let n of this.options)if(n.options&&Array.isArray(n.options)){for(let o of n.options)if(o.value===e){t[e]=o.label,s=!0;break}if(s)break}else if(n.value===e){t[e]=n.label,s=!0;break}}return t}handleSearch(t){let e=t.target.value.trim().toLowerCase();if(this.searchQuery=e,this.searchTimeout&&clearTimeout(this.searchTimeout),e===""){this.options=JSON.parse(JSON.stringify(this.originalOptions)),this.renderOptions();return}if(!this.getSearchResultsUsing||typeof this.getSearchResultsUsing!="function"||!this.hasDynamicSearchResults){this.filterOptions(e);return}this.searchTimeout=setTimeout(async()=>{try{this.showLoadingState(!0);let s=await this.getSearchResultsUsing(e);this.options=s,this.populateLabelRepositoryFromOptions(s),this.hideLoadingState(),this.renderOptions(),this.isOpen&&this.positionDropdown(),this.options.length===0&&this.showNoResultsMessage()}catch(s){console.error("Error fetching search results:",s),this.hideLoadingState(),this.options=JSON.parse(JSON.stringify(this.originalOptions)),this.renderOptions()}},this.searchDebounce)}showLoadingState(t=!1){this.optionsList.parentNode===this.dropdown&&(this.optionsList.innerHTML=""),this.hideLoadingState();let e=document.createElement("div");e.className="fi-select-input-message",e.textContent=t?this.searchingMessage:this.loadingMessage,this.dropdown.appendChild(e)}hideLoadingState(){let t=this.dropdown.querySelector(".fi-select-input-message");t&&t.remove()}showNoResultsMessage(){this.optionsList.parentNode===this.dropdown&&this.optionsList.children.length>0&&(this.optionsList.innerHTML=""),this.hideLoadingState();let t=document.createElement("div");t.className="fi-select-input-message",t.textContent=this.noSearchResultsMessage,this.dropdown.appendChild(t)}filterOptions(t){let e=this.searchableOptionFields.includes("label"),s=this.searchableOptionFields.includes("value"),n=[];for(let o of this.originalOptions)if(o.options&&Array.isArray(o.options)){let r=o.options.filter(l=>e&&l.label.toLowerCase().includes(t)||s&&String(l.value).toLowerCase().includes(t));r.length>0&&n.push({label:o.label,options:r})}else(e&&o.label.toLowerCase().includes(t)||s&&String(o.value).toLowerCase().includes(t))&&n.push(o);this.options=n,this.renderOptions(),this.options.length===0&&this.showNoResultsMessage(),this.isOpen&&this.positionDropdown()}selectOption(t){if(this.isDisabled)return;if(!this.isMultiple){this.state=t,this.updateSelectedDisplay(),this.renderOptions(),this.closeDropdown(),this.selectButton.focus(),this.onStateChange(this.state);return}let e=Array.isArray(this.state)?[...this.state]:[];if(e.includes(t)){let n=this.selectedDisplay.querySelector(`[data-value="${t}"]`);if(w(n)){let o=n.parentElement;w(o)&&o.children.length===1?(e=e.filter(r=>r!==t),this.state=e,this.updateSelectedDisplay()):(n.remove(),e=e.filter(r=>r!==t),this.state=e)}else e=e.filter(o=>o!==t),this.state=e,this.updateSelectedDisplay();this.renderOptions(),this.isOpen&&this.positionDropdown(),this.maintainFocusInMultipleMode(),this.onStateChange(this.state);return}if(this.maxItems&&e.length>=this.maxItems){this.maxItemsMessage&&alert(this.maxItemsMessage);return}e.push(t),this.state=e;let s=this.selectedDisplay.querySelector(".fi-select-input-value-badges-ctn");N(s)?this.updateSelectedDisplay():this.addSingleBadge(t,s),this.renderOptions(),this.isOpen&&this.positionDropdown(),this.maintainFocusInMultipleMode(),this.onStateChange(this.state)}async addSingleBadge(t,e){let s=this.labelRepository[t];if(N(s)&&(s=this.getSelectedOptionLabel(t),w(s)&&(this.labelRepository[t]=s)),N(s)&&this.getOptionLabelsUsing)try{let o=await this.getOptionLabelsUsing();for(let r of o)if(w(r)&&r.value===t&&r.label!==void 0){s=r.label,this.labelRepository[t]=s;break}}catch(o){console.error("Error fetching option label:",o)}N(s)&&(s=t);let n=this.createBadgeElement(t,s);e.appendChild(n)}maintainFocusInMultipleMode(){if(this.isSearchable&&this.searchInput){this.searchInput.focus();return}let t=this.getVisibleOptions();if(t.length!==0){if(this.selectedIndex=-1,Array.isArray(this.state)&&this.state.length>0){for(let e=0;e{e.setAttribute("disabled","disabled"),e.classList.add("fi-disabled")}),!this.isMultiple&&this.canSelectPlaceholder){let t=this.container.querySelector(".fi-select-input-value-remove-btn");t&&(t.setAttribute("disabled","disabled"),t.classList.add("fi-disabled"))}this.isSearchable&&this.searchInput&&(this.searchInput.setAttribute("disabled","disabled"),this.searchInput.classList.add("fi-disabled"))}else{if(this.selectButton.removeAttribute("disabled"),this.selectButton.removeAttribute("aria-disabled"),this.selectButton.classList.remove("fi-disabled"),this.isMultiple&&this.container.querySelectorAll(".fi-select-input-badge-remove").forEach(e=>{e.removeAttribute("disabled"),e.classList.remove("fi-disabled")}),!this.isMultiple&&this.canSelectPlaceholder){let t=this.container.querySelector(".fi-select-input-value-remove-btn");t&&(t.removeAttribute("disabled"),t.classList.add("fi-disabled"))}this.isSearchable&&this.searchInput&&(this.searchInput.removeAttribute("disabled"),this.searchInput.classList.remove("fi-disabled"))}}destroy(){this.selectButton&&this.buttonClickListener&&this.selectButton.removeEventListener("click",this.buttonClickListener),this.documentClickListener&&document.removeEventListener("click",this.documentClickListener),this.selectButton&&this.buttonKeydownListener&&this.selectButton.removeEventListener("keydown",this.buttonKeydownListener),this.dropdown&&this.dropdownKeydownListener&&this.dropdown.removeEventListener("keydown",this.dropdownKeydownListener),this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null),this.scrollListener&&(window.removeEventListener("scroll",this.scrollListener,!0),this.scrollListener=null),this.refreshOptionLabelListener&&window.removeEventListener("filament-forms::select.refreshSelectedOptionLabel",this.refreshOptionLabelListener),this.isOpen&&this.closeDropdown(),this.searchTimeout&&(clearTimeout(this.searchTimeout),this.searchTimeout=null),this.container&&this.container.remove()}};function Ee({canOptionLabelsWrap:i,canSelectPlaceholder:t,isHtmlAllowed:e,getOptionLabelUsing:s,getOptionLabelsUsing:n,getOptionsUsing:o,getSearchResultsUsing:r,initialOptionLabel:l,initialOptionLabels:a,initialState:c,isAutofocused:h,isDisabled:d,isMultiple:p,isSearchable:f,hasDynamicOptions:u,hasDynamicSearchResults:m,livewireId:g,loadingMessage:y,maxItems:b,maxItemsMessage:v,noSearchResultsMessage:L,options:x,optionsLimit:q,placeholder:Q,position:$,searchDebounce:F,searchingMessage:I,searchPrompt:J,searchableOptionFields:j,state:Y,statePath:A}){return{select:null,state:Y,init(){this.select=new pt({element:this.$refs.select,options:x,placeholder:Q,state:this.state,canOptionLabelsWrap:i,canSelectPlaceholder:t,initialOptionLabel:l,initialOptionLabels:a,initialState:c,isHtmlAllowed:e,isAutofocused:h,isDisabled:d,isMultiple:p,isSearchable:f,getOptionLabelUsing:s,getOptionLabelsUsing:n,getOptionsUsing:o,getSearchResultsUsing:r,hasDynamicOptions:u,hasDynamicSearchResults:m,searchPrompt:J,searchDebounce:F,loadingMessage:y,searchingMessage:I,noSearchResultsMessage:L,maxItems:b,maxItemsMessage:v,optionsLimit:q,position:$,searchableOptionFields:j,livewireId:g,statePath:A,onStateChange:T=>{this.state=T}}),this.$watch("state",T=>{this.select&&this.select.state!==T&&(this.select.state=T,this.select.updateSelectedDisplay(),this.select.renderOptions())})},destroy(){this.select&&(this.select.destroy(),this.select=null)}}}export{Ee as default}; diff --git a/public/js/filament/forms/components/slider.js b/public/js/filament/forms/components/slider.js new file mode 100644 index 0000000..1ca4361 --- /dev/null +++ b/public/js/filament/forms/components/slider.js @@ -0,0 +1 @@ +var I;(function(r){r.Range="range",r.Steps="steps",r.Positions="positions",r.Count="count",r.Values="values"})(I||(I={}));var O;(function(r){r[r.None=-1]="None",r[r.NoValue=0]="NoValue",r[r.LargeValue=1]="LargeValue",r[r.SmallValue=2]="SmallValue"})(O||(O={}));function we(r){return rt(r)&&typeof r.from=="function"}function rt(r){return typeof r=="object"&&typeof r.to=="function"}function zt(r){r.parentElement.removeChild(r)}function St(r){return r!=null}function Ft(r){r.preventDefault()}function Ce(r){return r.filter(function(t){return this[t]?!1:this[t]=!0},{})}function Ee(r,t){return Math.round(r/t)*t}function Ae(r,t){var s=r.getBoundingClientRect(),f=r.ownerDocument,u=f.documentElement,d=Bt(f);return/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(d.x=0),t?s.top+d.y-u.clientTop:s.left+d.x-u.clientLeft}function R(r){return typeof r=="number"&&!isNaN(r)&&isFinite(r)}function Rt(r,t,s){s>0&&(L(r,t),setTimeout(function(){et(r,t)},s))}function jt(r){return Math.max(Math.min(r,100),0)}function it(r){return Array.isArray(r)?r:[r]}function Pe(r){r=String(r);var t=r.split(".");return t.length>1?t[1].length:0}function L(r,t){r.classList&&!/\s/.test(t)?r.classList.add(t):r.className+=" "+t}function et(r,t){r.classList&&!/\s/.test(t)?r.classList.remove(t):r.className=r.className.replace(new RegExp("(^|\\b)"+t.split(" ").join("|")+"(\\b|$)","gi")," ")}function Ve(r,t){return r.classList?r.classList.contains(t):new RegExp("\\b"+t+"\\b").test(r.className)}function Bt(r){var t=window.pageXOffset!==void 0,s=(r.compatMode||"")==="CSS1Compat",f=t?window.pageXOffset:s?r.documentElement.scrollLeft:r.body.scrollLeft,u=t?window.pageYOffset:s?r.documentElement.scrollTop:r.body.scrollTop;return{x:f,y:u}}function De(){return window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"}}function ye(){var r=!1;try{var t=Object.defineProperty({},"passive",{get:function(){r=!0}});window.addEventListener("test",null,t)}catch{}return r}function ke(){return window.CSS&&CSS.supports&&CSS.supports("touch-action","none")}function bt(r,t){return 100/(t-r)}function xt(r,t,s){return t*100/(r[s+1]-r[s])}function Ue(r,t){return xt(r,r[0]<0?t+Math.abs(r[0]):t-r[0],0)}function Me(r,t){return t*(r[1]-r[0])/100+r[0]}function G(r,t){for(var s=1;r>=t[s];)s+=1;return s}function _e(r,t,s){if(s>=r.slice(-1)[0])return 100;var f=G(s,r),u=r[f-1],d=r[f],v=t[f-1],w=t[f];return v+Ue([u,d],s)/bt(v,w)}function Le(r,t,s){if(s>=100)return r.slice(-1)[0];var f=G(s,t),u=r[f-1],d=r[f],v=t[f-1],w=t[f];return Me([u,d],(s-v)*bt(v,w))}function Oe(r,t,s,f){if(f===100)return f;var u=G(f,r),d=r[u-1],v=r[u];return s?f-d>(v-d)/2?v:d:t[u-1]?r[u-1]+Ee(f-r[u-1],t[u-1]):f}var Kt=function(){function r(t,s,f){this.xPct=[],this.xVal=[],this.xSteps=[],this.xNumSteps=[],this.xHighestCompleteStep=[],this.xSteps=[f||!1],this.xNumSteps=[!1],this.snap=s;var u,d=[];for(Object.keys(t).forEach(function(v){d.push([it(t[v]),v])}),d.sort(function(v,w){return v[0][0]-w[0][0]}),u=0;uthis.xPct[u+1];)u++;else t===this.xPct[this.xPct.length-1]&&(u=this.xPct.length-2);!f&&t===this.xPct[u+1]&&u++,s===null&&(s=[]);var d,v=1,w=s[u],C=0,p=0,D=0,y=0;for(f?d=(t-this.xPct[u])/(this.xPct[u+1]-this.xPct[u]):d=(this.xPct[u+1]-t)/(this.xPct[u+1]-this.xPct[u]);w>0;)C=this.xPct[u+1+y]-this.xPct[u+y],s[u+y]*v+100-d*100>100?(p=C*d,v=(w-100*d)/s[u+y],d=1):(p=s[u+y]*C/100*v,v=0),f?(D=D-p,this.xPct.length+y>=1&&y--):(D=D+p,this.xPct.length-y>=1&&y++),w=s[u+y]*v;return t+D},r.prototype.toStepping=function(t){return t=_e(this.xVal,this.xPct,t),t},r.prototype.fromStepping=function(t){return Le(this.xVal,this.xPct,t)},r.prototype.getStep=function(t){return t=Oe(this.xPct,this.xSteps,this.snap,t),t},r.prototype.getDefaultStep=function(t,s,f){var u=G(t,this.xPct);return(t===100||s&&t===this.xPct[u-1])&&(u=Math.max(u-1,1)),(this.xVal[u]-this.xVal[u-1])/f},r.prototype.getNearbySteps=function(t){var s=G(t,this.xPct);return{stepBefore:{startValue:this.xVal[s-2],step:this.xNumSteps[s-2],highestStep:this.xHighestCompleteStep[s-2]},thisStep:{startValue:this.xVal[s-1],step:this.xNumSteps[s-1],highestStep:this.xHighestCompleteStep[s-1]},stepAfter:{startValue:this.xVal[s],step:this.xNumSteps[s],highestStep:this.xHighestCompleteStep[s]}}},r.prototype.countStepDecimals=function(){var t=this.xNumSteps.map(Pe);return Math.max.apply(null,t)},r.prototype.hasNoSize=function(){return this.xVal[0]===this.xVal[this.xVal.length-1]},r.prototype.convert=function(t){return this.getStep(this.toStepping(t))},r.prototype.handleEntryPoint=function(t,s){var f;if(t==="min"?f=0:t==="max"?f=100:f=parseFloat(t),!R(f)||!R(s[0]))throw new Error("noUiSlider: 'range' value isn't numeric.");this.xPct.push(f),this.xVal.push(s[0]);var u=Number(s[1]);f?this.xSteps.push(isNaN(u)?!1:u):isNaN(u)||(this.xSteps[0]=u),this.xHighestCompleteStep.push(0)},r.prototype.handleStepPoint=function(t,s){if(s){if(this.xVal[t]===this.xVal[t+1]){this.xSteps[t]=this.xHighestCompleteStep[t]=this.xVal[t];return}this.xSteps[t]=xt([this.xVal[t],this.xVal[t+1]],s,0)/bt(this.xPct[t],this.xPct[t+1]);var f=(this.xVal[t+1]-this.xVal[t])/this.xNumSteps[t],u=Math.ceil(Number(f.toFixed(3))-1),d=this.xVal[t]+this.xNumSteps[t]*u;this.xHighestCompleteStep[t]=d}},r}(),Nt={to:function(r){return r===void 0?"":r.toFixed(2)},from:Number},It={target:"target",base:"base",origin:"origin",handle:"handle",handleLower:"handle-lower",handleUpper:"handle-upper",touchArea:"touch-area",horizontal:"horizontal",vertical:"vertical",background:"background",connect:"connect",connects:"connects",ltr:"ltr",rtl:"rtl",textDirectionLtr:"txt-dir-ltr",textDirectionRtl:"txt-dir-rtl",draggable:"draggable",drag:"state-drag",tap:"state-tap",active:"active",tooltip:"tooltip",pips:"pips",pipsHorizontal:"pips-horizontal",pipsVertical:"pips-vertical",marker:"marker",markerHorizontal:"marker-horizontal",markerVertical:"marker-vertical",markerNormal:"marker-normal",markerLarge:"marker-large",markerSub:"marker-sub",value:"value",valueHorizontal:"value-horizontal",valueVertical:"value-vertical",valueNormal:"value-normal",valueLarge:"value-large",valueSub:"value-sub"},K={tooltips:".__tooltips",aria:".__aria"};function He(r,t){if(!R(t))throw new Error("noUiSlider: 'step' is not numeric.");r.singleStep=t}function ze(r,t){if(!R(t))throw new Error("noUiSlider: 'keyboardPageMultiplier' is not numeric.");r.keyboardPageMultiplier=t}function Fe(r,t){if(!R(t))throw new Error("noUiSlider: 'keyboardMultiplier' is not numeric.");r.keyboardMultiplier=t}function Re(r,t){if(!R(t))throw new Error("noUiSlider: 'keyboardDefaultStep' is not numeric.");r.keyboardDefaultStep=t}function je(r,t){if(typeof t!="object"||Array.isArray(t))throw new Error("noUiSlider: 'range' is not an object.");if(t.min===void 0||t.max===void 0)throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'.");r.spectrum=new Kt(t,r.snap||!1,r.singleStep)}function Ne(r,t){if(t=it(t),!Array.isArray(t)||!t.length)throw new Error("noUiSlider: 'start' option is incorrect.");r.handles=t.length,r.start=t}function Be(r,t){if(typeof t!="boolean")throw new Error("noUiSlider: 'snap' option must be a boolean.");r.snap=t}function Ke(r,t){if(typeof t!="boolean")throw new Error("noUiSlider: 'animate' option must be a boolean.");r.animate=t}function Ie(r,t){if(typeof t!="number")throw new Error("noUiSlider: 'animationDuration' option must be a number.");r.animationDuration=t}function qt(r,t){var s=[!1],f;if(t==="lower"?t=[!0,!1]:t==="upper"&&(t=[!1,!0]),t===!0||t===!1){for(f=1;f1)throw new Error("noUiSlider: 'padding' option must not exceed 100% of the range.")}}function Ye(r,t){switch(t){case"ltr":r.dir=0;break;case"rtl":r.dir=1;break;default:throw new Error("noUiSlider: 'direction' option was not recognized.")}}function We(r,t){if(typeof t!="string")throw new Error("noUiSlider: 'behaviour' must be a string containing options.");var s=t.indexOf("tap")>=0,f=t.indexOf("drag")>=0,u=t.indexOf("fixed")>=0,d=t.indexOf("snap")>=0,v=t.indexOf("hover")>=0,w=t.indexOf("unconstrained")>=0,C=t.indexOf("invert-connects")>=0,p=t.indexOf("drag-all")>=0,D=t.indexOf("smooth-steps")>=0;if(u){if(r.handles!==2)throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles");Tt(r,r.start[1]-r.start[0])}if(C&&r.handles!==2)throw new Error("noUiSlider: 'invert-connects' behaviour must be used with 2 handles");if(w&&(r.margin||r.limit))throw new Error("noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit");r.events={tap:s||d,drag:f,dragAll:p,smoothSteps:D,fixed:u,snap:d,hover:v,unconstrained:w,invertConnects:C}}function $e(r,t){if(t!==!1)if(t===!0||rt(t)){r.tooltips=[];for(var s=0;s= 2) required for mode 'count'.");for(var i=e.values-1,a=100/i,n=[];i--;)n[i]=i*a;return n.push(100),Et(n,e.stepped)}return e.mode===I.Positions?Et(e.values,e.stepped):e.mode===I.Values?e.stepped?e.values.map(function(o){return m.fromStepping(m.getStep(m.toStepping(o)))}):e.values:[]}function Et(e,i){return e.map(function(a){return m.fromStepping(i?m.getStep(a):a)})}function ie(e){function i(x,E){return Number((x+E).toFixed(7))}var a=re(e),n={},o=m.xVal[0],l=m.xVal[m.xVal.length-1],h=!1,c=!1,S=0;return a=Ce(a.slice().sort(function(x,E){return x-E})),a[0]!==o&&(a.unshift(o),h=!0),a[a.length-1]!==l&&(a.push(l),c=!0),a.forEach(function(x,E){var A,g,V,_=x,k=a[E+1],U,dt,pt,mt,Lt,gt,Ot,Ht=e.mode===I.Steps;for(Ht&&(A=m.xNumSteps[E]),A||(A=k-_),k===void 0&&(k=_),A=Math.max(A,1e-7),g=_;g<=k;g=i(g,A)){for(U=m.toStepping(g),dt=U-S,Lt=dt/(e.density||1),gt=Math.round(Lt),Ot=dt/gt,V=1;V<=gt;V+=1)pt=S+V*Ot,n[pt.toFixed(5)]=[m.fromStepping(pt),0];mt=a.indexOf(g)>-1?O.LargeValue:Ht?O.SmallValue:O.NoValue,!E&&h&&g!==k&&(mt=0),g===k&&c||(n[U.toFixed(5)]=[g,mt]),S=U}}),n}function ae(e,i,a){var n,o,l=B.createElement("div"),h=(n={},n[O.None]="",n[O.NoValue]=t.cssClasses.valueNormal,n[O.LargeValue]=t.cssClasses.valueLarge,n[O.SmallValue]=t.cssClasses.valueSub,n),c=(o={},o[O.None]="",o[O.NoValue]=t.cssClasses.markerNormal,o[O.LargeValue]=t.cssClasses.markerLarge,o[O.SmallValue]=t.cssClasses.markerSub,o),S=[t.cssClasses.valueHorizontal,t.cssClasses.valueVertical],x=[t.cssClasses.markerHorizontal,t.cssClasses.markerVertical];L(l,t.cssClasses.pips),L(l,t.ort===0?t.cssClasses.pipsHorizontal:t.cssClasses.pipsVertical);function E(g,V){var _=V===t.cssClasses.value,k=_?S:x,U=_?h:c;return V+" "+k[t.ort]+" "+U[g]}function A(g,V,_){if(_=i?i(V,_):_,_!==O.None){var k=N(l,!1);k.className=E(_,t.cssClasses.marker),k.style[t.style]=g+"%",_>O.NoValue&&(k=N(l,!1),k.className=E(_,t.cssClasses.value),k.setAttribute("data-value",String(V)),k.style[t.style]=g+"%",k.innerHTML=String(a.to(V)))}}return Object.keys(e).forEach(function(g){A(g,e[g][0],e[g][1])}),l}function ot(){y&&(zt(y),y=null)}function lt(e){ot();var i=ie(e),a=e.filter,n=e.format||{to:function(o){return String(Math.round(o))}};return y=v.appendChild(ae(i,a,n)),y}function At(){var e=w.getBoundingClientRect(),i="offset"+["Width","Height"][t.ort];return t.ort===0?e.width||w[i]:e.height||w[i]}function T(e,i,a,n){var o=function(h){var c=ne(h,n.pageOffset,n.target||i);if(!c||wt()&&!n.doNotReject||Ve(v,t.cssClasses.tap)&&!n.doNotReject||e===f.start&&c.buttons!==void 0&&c.buttons>1||n.hover&&c.buttons)return!1;d||c.preventDefault(),c.calcPoint=c.points[t.ort],a(c,n)},l=[];return e.split(" ").forEach(function(h){i.addEventListener(h,o,d?{passive:!0}:!1),l.push([h,o])}),l}function ne(e,i,a){var n=e.type.indexOf("touch")===0,o=e.type.indexOf("mouse")===0,l=e.type.indexOf("pointer")===0,h=0,c=0;if(e.type.indexOf("MSPointer")===0&&(l=!0),e.type==="mousedown"&&!e.buttons&&!e.touches)return!1;if(n){var S=function(A){var g=A.target;return g===a||a.contains(g)||e.composed&&e.composedPath().shift()===a};if(e.type==="touchstart"){var x=Array.prototype.filter.call(e.touches,S);if(x.length>1)return!1;h=x[0].pageX,c=x[0].pageY}else{var E=Array.prototype.find.call(e.changedTouches,S);if(!E)return!1;h=E.pageX,c=E.pageY}}return i=i||Bt(B),(o||l)&&(h=e.clientX+i.x,c=e.clientY+i.y),e.pageOffset=i,e.points=[h,c],e.cursor=o||l,e}function Pt(e){var i=e-Ae(w,t.ort),a=i*100/At();return a=jt(a),t.dir?100-a:a}function se(e){var i=100,a=!1;return p.forEach(function(n,o){if(!nt(o)){var l=b[o],h=Math.abs(l-e),c=h===100&&i===100,S=hl;(S||x||c)&&(a=o,i=h)}}),a}function oe(e,i){e.type==="mouseout"&&e.target.nodeName==="HTML"&&e.relatedTarget===null&&ft(e,i)}function le(e,i){if(navigator.appVersion.indexOf("MSIE 9")===-1&&e.buttons===0&&i.buttonsProperty!==0)return ft(e,i);var a=(t.dir?-1:1)*(e.calcPoint-i.startCalcPoint),n=a*100/i.baseSize;Dt(a>0,n,i.locations,i.handleNumbers,i.connect)}function ft(e,i){i.handle&&(et(i.handle,t.cssClasses.active),Y-=1),i.listeners.forEach(function(a){H.removeEventListener(a[0],a[1])}),Y===0&&(et(v,t.cssClasses.drag),vt(),e.cursor&&(J.style.cursor="",J.removeEventListener("selectstart",Ft))),t.events.smoothSteps&&(i.handleNumbers.forEach(function(a){X(a,b[a],!0,!0,!1,!1)}),i.handleNumbers.forEach(function(a){P("update",a)})),i.handleNumbers.forEach(function(a){P("change",a),P("set",a),P("end",a)})}function ut(e,i){if(!i.handleNumbers.some(nt)){var a;if(i.handleNumbers.length===1){var n=p[i.handleNumbers[0]];a=n.children[0],Y+=1,L(a,t.cssClasses.active)}e.stopPropagation();var o=[],l=T(f.move,H,le,{target:e.target,handle:a,connect:i.connect,listeners:o,startCalcPoint:e.calcPoint,baseSize:At(),pageOffset:e.pageOffset,handleNumbers:i.handleNumbers,buttonsProperty:e.buttons,locations:b.slice()}),h=T(f.end,H,ft,{target:e.target,handle:a,listeners:o,doNotReject:!0,handleNumbers:i.handleNumbers}),c=T("mouseout",H,oe,{target:e.target,handle:a,listeners:o,doNotReject:!0,handleNumbers:i.handleNumbers});o.push.apply(o,l.concat(h,c)),e.cursor&&(J.style.cursor=getComputedStyle(e.target).cursor,p.length>1&&L(v,t.cssClasses.drag),J.addEventListener("selectstart",Ft,!1)),i.handleNumbers.forEach(function(S){P("start",S)})}}function fe(e){e.stopPropagation();var i=Pt(e.calcPoint),a=se(i);a!==!1&&(t.events.snap||Rt(v,t.cssClasses.tap,t.animationDuration),X(a,i,!0,!0),vt(),P("slide",a,!0),P("update",a,!0),t.events.snap?ut(e,{handleNumbers:[a]}):(P("change",a,!0),P("set",a,!0)))}function ue(e){var i=Pt(e.calcPoint),a=m.getStep(i),n=m.fromStepping(a);Object.keys(F).forEach(function(o){o.split(".")[0]==="hover"&&F[o].forEach(function(l){l.call(tt,n)})})}function ce(e,i){if(wt()||nt(i))return!1;var a=["Left","Right"],n=["Down","Up"],o=["PageDown","PageUp"],l=["Home","End"];t.dir&&!t.ort?a.reverse():t.ort&&!t.dir&&(n.reverse(),o.reverse());var h=e.key.replace("Arrow",""),c=h===o[0],S=h===o[1],x=h===n[0]||h===a[0]||c,E=h===n[1]||h===a[1]||S,A=h===l[0],g=h===l[1];if(!x&&!E&&!A&&!g)return!0;e.preventDefault();var V;if(E||x){var _=x?0:1,k=Mt(i),U=k[_];if(U===null)return!1;U===!1&&(U=m.getDefaultStep(b[i],x,t.keyboardDefaultStep)),S||c?U*=t.keyboardPageMultiplier:U*=t.keyboardMultiplier,U=Math.max(U,1e-7),U=(x?-1:1)*U,V=z[i]+U}else g?V=t.spectrum.xVal[t.spectrum.xVal.length-1]:V=t.spectrum.xVal[0];return X(i,m.toStepping(V),!0,!0),P("slide",i),P("update",i),P("change",i),P("set",i),!1}function Vt(e){e.fixed||p.forEach(function(i,a){T(f.start,i.children[0],ut,{handleNumbers:[a]})}),e.tap&&T(f.start,w,fe,{}),e.hover&&T(f.move,w,ue,{hover:!0}),e.drag&&D.forEach(function(i,a){if(!(i===!1||a===0||a===D.length-1)){var n=p[a-1],o=p[a],l=[i],h=[n,o],c=[a-1,a];L(i,t.cssClasses.draggable),e.fixed&&(l.push(n.children[0]),l.push(o.children[0])),e.dragAll&&(h=p,c=M),l.forEach(function(S){T(f.start,S,ut,{handles:h,handleNumbers:c,connect:i})})}})}function ct(e,i){F[e]=F[e]||[],F[e].push(i),e.split(".")[0]==="update"&&p.forEach(function(a,n){P("update",n)})}function he(e){return e===K.aria||e===K.tooltips}function W(e){var i=e&&e.split(".")[0],a=i?e.substring(i.length):e;Object.keys(F).forEach(function(n){var o=n.split(".")[0],l=n.substring(o.length);(!i||i===o)&&(!a||a===l)&&(!he(l)||a===l)&&delete F[n]})}function P(e,i,a){Object.keys(F).forEach(function(n){var o=n.split(".")[0];e===o&&F[n].forEach(function(l){l.call(tt,z.map(t.format.to),i,z.slice(),a||!1,b.slice(),tt)})})}function Z(e,i,a,n,o,l,h){var c;return p.length>1&&!t.events.unconstrained&&(n&&i>0&&(c=m.getAbsoluteDistance(e[i-1],t.margin,!1),a=Math.max(a,c)),o&&i1&&t.limit&&(n&&i>0&&(c=m.getAbsoluteDistance(e[i-1],t.limit,!1),a=Math.min(a,c)),o&&i1?n.forEach(function(A,g){var V=Z(l,A,l[A]+i,S[g],x[g],!1,c);V===!1?i=0:(i=V-l[A],l[A]=V)}):S=x=[!0];var E=!1;n.forEach(function(A,g){E=X(A,a[A]+i,S[g],x[g],!1,c)||E}),E&&(n.forEach(function(A){P("update",A),P("slide",A)}),o!=null&&P("drag",h))}function yt(e,i){return t.dir?100-e-i:e}function ve(e,i){b[e]=i,z[e]=m.fromStepping(i);var a=yt(i,0)-Wt,n="translate("+ht(a+"%","0")+")";if(p[e].style[t.transformRule]=n,t.events.invertConnects&&b.length>1){var o=b.every(function(l,h,c){return h===0||l>=c[h-1]});if(q!==!o){xe();return}}$(e),$(e+1),q&&($(e-1),$(e+2))}function vt(){M.forEach(function(e){var i=b[e]>50?-1:1,a=3+(p.length+i*e);p[e].style.zIndex=String(a)})}function X(e,i,a,n,o,l){return o||(i=Z(b,e,i,a,n,!1,l)),i===!1?!1:(ve(e,i),!0)}function $(e){if(D[e]){var i=b.slice();q&&i.sort(function(c,S){return c-S});var a=0,n=100;e!==0&&(a=i[e-1]),e!==D.length-1&&(n=i[e]);var o=n-a,l="translate("+ht(yt(a,o)+"%","0")+")",h="scale("+ht(o/100,"1")+")";D[e].style[t.transformRule]=l+" "+h}}function kt(e,i){return e===null||e===!1||e===void 0||(typeof e=="number"&&(e=String(e)),e=t.format.from(e),e!==!1&&(e=m.toStepping(e)),e===!1||isNaN(e))?b[i]:e}function Q(e,i,a){var n=it(e),o=b[0]===void 0;i=i===void 0?!0:i,t.animate&&!o&&Rt(v,t.cssClasses.tap,t.animationDuration),M.forEach(function(c){X(c,kt(n[c],c),!0,!1,a)});var l=M.length===1?0:1;if(o&&m.hasNoSize()&&(a=!0,b[0]=0,M.length>1)){var h=100/(M.length-1);M.forEach(function(c){b[c]=c*h})}for(;l=0&&ea.stepAfter.startValue&&(o=a.stepAfter.startValue-n),n>a.thisStep.startValue?l=a.thisStep.step:a.stepBefore.step===!1?l=!1:l=n-a.stepBefore.highestStep,i===100?o=null:i===0&&(l=null);var h=m.countStepDecimals();return o!==null&&o!==!1&&(o=Number(o.toFixed(h))),l!==null&&l!==!1&&(l=Number(l.toFixed(h))),[l,o]}function ge(){return M.map(Mt)}function Se(e,i){var a=Ut(),n=["margin","limit","padding","range","animate","snap","step","format","pips","tooltips","connect"];n.forEach(function(l){e[l]!==void 0&&(s[l]=e[l])});var o=Xt(s);n.forEach(function(l){e[l]!==void 0&&(t[l]=o[l])}),m=o.spectrum,t.margin=o.margin,t.limit=o.limit,t.padding=o.padding,t.pips?lt(t.pips):ot(),t.tooltips?Ct():st(),b=[],Q(St(e.start)?e.start:a,i),e.connect&&_t()}function _t(){for(;C.firstChild;)C.removeChild(C.firstChild);for(var e=0;e<=t.handles;e++)D[e]=at(C,t.connect[e]),$(e);Vt({drag:t.events.drag,fixed:!0})}function xe(){q=!q,qt(t,t.connect.map(function(e){return!e})),_t()}function be(){w=Jt(v),Gt(t.connect,w),Vt(t.events),Q(t.start),t.pips&<(t.pips),t.tooltips&&Ct(),ee()}be();var tt={destroy:me,steps:ge,on:ct,off:W,get:Ut,set:Q,setHandle:pe,reset:de,disable:Qt,enable:te,__moveHandles:function(e,i,a){Dt(e,i,b,a)},options:s,updateOptions:Se,target:v,removePips:ot,removeTooltips:st,getPositions:function(){return b.slice()},getTooltips:function(){return j},getOrigins:function(){return p},pips:lt};return tt}function ar(r,t){if(!r||!r.nodeName)throw new Error("noUiSlider: create requires a single element, got: "+r);if(r.noUiSlider)throw new Error("noUiSlider: Slider was already initialized.");var s=Xt(t),f=ir(r,s,t);return r.noUiSlider=f,f}var Yt={__spectrum:Kt,cssClasses:It,create:ar};function nr({arePipsStepped:r,behavior:t,decimalPlaces:s,fillTrack:f,isDisabled:u,isRtl:d,isVertical:v,maxDifference:w,minDifference:C,maxValue:p,minValue:D,nonLinearPoints:y,pipsDensity:j,pipsFilter:m,pipsFormatter:z,pipsMode:b,pipsValues:M,rangePadding:Y,state:F,step:q,tooltips:B}){return{state:F,slider:null,init(){this.slider=Yt.create(this.$el,{behaviour:t,direction:d?"rtl":"ltr",connect:f,format:{from:H=>H,to:H=>s!==null?+H.toFixed(s):H},limit:w,margin:C,orientation:v?"vertical":"horizontal",padding:Y,pips:b?{density:j??10,filter:m,format:z,mode:b,stepped:r,values:M}:null,range:{min:D,...y??{},max:p},start:Alpine.raw(this.state),step:q,tooltips:B}),u&&this.slider.disable(),this.slider.on("change",H=>{this.state=H.length>1?H:H[0]}),this.$watch("state",()=>{this.slider.set(Alpine.raw(this.state))})},destroy(){this.slider.destroy(),this.slider=null}}}export{nr as default}; diff --git a/public/js/filament/forms/components/tags-input.js b/public/js/filament/forms/components/tags-input.js new file mode 100644 index 0000000..2266d49 --- /dev/null +++ b/public/js/filament/forms/components/tags-input.js @@ -0,0 +1 @@ +function s({state:n,splitKeys:a}){return{newTag:"",state:n,createTag(){if(this.newTag=this.newTag.trim(),this.newTag!==""){if(this.state.includes(this.newTag)){this.newTag="";return}this.state.push(this.newTag),this.newTag=""}},deleteTag(t){this.state=this.state.filter(e=>e!==t)},reorderTags(t){let e=this.state.splice(t.oldIndex,1)[0];this.state.splice(t.newIndex,0,e),this.state=[...this.state]},input:{"x-on:blur":"createTag()","x-model":"newTag","x-on:keydown"(t){["Enter",...a].includes(t.key)&&(t.preventDefault(),t.stopPropagation(),this.createTag())},"x-on:paste"(){this.$nextTick(()=>{if(a.length===0){this.createTag();return}let t=a.map(e=>e.replace(/[/\-\\^$*+?.()|[\]{}]/g,"\\$&")).join("|");this.newTag.split(new RegExp(t,"g")).forEach(e=>{this.newTag=e,this.createTag()})})}}}}export{s as default}; diff --git a/public/js/filament/forms/components/textarea.js b/public/js/filament/forms/components/textarea.js new file mode 100644 index 0000000..4a344f1 --- /dev/null +++ b/public/js/filament/forms/components/textarea.js @@ -0,0 +1 @@ +function r({initialHeight:t,shouldAutosize:i,state:s}){return{state:s,wrapperEl:null,init(){this.wrapperEl=this.$el.parentNode,this.setInitialHeight(),i?this.$watch("state",()=>{this.resize()}):this.setUpResizeObserver()},setInitialHeight(){this.$el.scrollHeight<=0||(this.wrapperEl.style.height=t+"rem")},resize(){if(this.setInitialHeight(),this.$el.scrollHeight<=0)return;let e=this.$el.scrollHeight+"px";this.wrapperEl.style.height!==e&&(this.wrapperEl.style.height=e)},setUpResizeObserver(){new ResizeObserver(()=>{this.wrapperEl.style.height=this.$el.style.height}).observe(this.$el)}}}export{r as default}; diff --git a/public/js/filament/notifications/notifications.js b/public/js/filament/notifications/notifications.js new file mode 100644 index 0000000..efe3ee6 --- /dev/null +++ b/public/js/filament/notifications/notifications.js @@ -0,0 +1 @@ +(()=>{var O=Object.create;var N=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var H=Object.getPrototypeOf,W=Object.prototype.hasOwnProperty;var d=(i,t)=>()=>(t||i((t={exports:{}}).exports,t),t.exports);var j=(i,t,e,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Y(t))!W.call(i,n)&&n!==e&&N(i,n,{get:()=>t[n],enumerable:!(s=V(t,n))||s.enumerable});return i};var J=(i,t,e)=>(e=i!=null?O(H(i)):{},j(t||!i||!i.__esModule?N(e,"default",{value:i,enumerable:!0}):e,i));var S=d((ut,_)=>{var v,g=typeof global<"u"&&(global.crypto||global.msCrypto);g&&g.getRandomValues&&(y=new Uint8Array(16),v=function(){return g.getRandomValues(y),y});var y;v||(T=new Array(16),v=function(){for(var i=0,t;i<16;i++)(i&3)===0&&(t=Math.random()*4294967296),T[i]=t>>>((i&3)<<3)&255;return T});var T;_.exports=v});var C=d((ct,U)=>{var P=[];for(f=0;f<256;++f)P[f]=(f+256).toString(16).substr(1);var f;function K(i,t){var e=t||0,s=P;return s[i[e++]]+s[i[e++]]+s[i[e++]]+s[i[e++]]+"-"+s[i[e++]]+s[i[e++]]+"-"+s[i[e++]]+s[i[e++]]+"-"+s[i[e++]]+s[i[e++]]+"-"+s[i[e++]]+s[i[e++]]+s[i[e++]]+s[i[e++]]+s[i[e++]]+s[i[e++]]}U.exports=K});var R=d((lt,F)=>{var Q=S(),X=C(),a=Q(),Z=[a[0]|1,a[1],a[2],a[3],a[4],a[5]],b=(a[6]<<8|a[7])&16383,D=0,A=0;function tt(i,t,e){var s=t&&e||0,n=t||[];i=i||{};var r=i.clockseq!==void 0?i.clockseq:b,o=i.msecs!==void 0?i.msecs:new Date().getTime(),h=i.nsecs!==void 0?i.nsecs:A+1,l=o-D+(h-A)/1e4;if(l<0&&i.clockseq===void 0&&(r=r+1&16383),(l<0||o>D)&&i.nsecs===void 0&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");D=o,A=h,b=r,o+=122192928e5;var c=((o&268435455)*1e4+h)%4294967296;n[s++]=c>>>24&255,n[s++]=c>>>16&255,n[s++]=c>>>8&255,n[s++]=c&255;var u=o/4294967296*1e4&268435455;n[s++]=u>>>8&255,n[s++]=u&255,n[s++]=u>>>24&15|16,n[s++]=u>>>16&255,n[s++]=r>>>8|128,n[s++]=r&255;for(var $=i.node||Z,m=0;m<6;++m)n[s+m]=$[m];return t||X(n)}F.exports=tt});var G=d((dt,B)=>{var it=S(),et=C();function st(i,t,e){var s=t&&e||0;typeof i=="string"&&(t=i=="binary"?new Array(16):null,i=null),i=i||{};var n=i.random||(i.rng||it)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t)for(var r=0;r<16;++r)t[s+r]=n[r];return t||et(n)}B.exports=st});var M=d((ft,L)=>{var nt=R(),I=G(),E=I;E.v1=nt;E.v4=I;L.exports=E});function k(i,t=()=>{}){let e=!1;return function(){e?t.apply(this,arguments):(e=!0,i.apply(this,arguments))}}var q=i=>{i.data("notificationComponent",({notification:t})=>({isShown:!1,computedStyle:null,transitionDuration:null,transitionEasing:null,init(){this.computedStyle=window.getComputedStyle(this.$el),this.transitionDuration=parseFloat(this.computedStyle.transitionDuration)*1e3,this.transitionEasing=this.computedStyle.transitionTimingFunction,this.configureTransitions(),this.configureAnimations(),t.duration&&t.duration!=="persistent"&&setTimeout(()=>{if(!this.$el.matches(":hover")){this.close();return}this.$el.addEventListener("mouseleave",()=>this.close())},t.duration),this.isShown=!0},configureTransitions(){let e=this.computedStyle.display,s=()=>{i.mutateDom(()=>{this.$el.style.setProperty("display",e),this.$el.style.setProperty("visibility","visible")}),this.$el._x_isShown=!0},n=()=>{i.mutateDom(()=>{this.$el._x_isShown?this.$el.style.setProperty("visibility","hidden"):this.$el.style.setProperty("display","none")})},r=k(o=>o?s():n(),o=>{this.$el._x_toggleAndCascadeWithTransitions(this.$el,o,s,n)});i.effect(()=>r(this.isShown))},configureAnimations(){let e;Livewire.hook("commit",({component:s,commit:n,succeed:r,fail:o,respond:h})=>{s.snapshot.data.isFilamentNotificationsComponent&&requestAnimationFrame(()=>{let l=()=>this.$el.getBoundingClientRect().top,c=l();h(()=>{e=()=>{this.isShown&&this.$el.animate([{transform:`translateY(${c-l()}px)`},{transform:"translateY(0px)"}],{duration:this.transitionDuration,easing:this.transitionEasing})},this.$el.getAnimations().forEach(u=>u.finish())}),r(({snapshot:u,effect:$})=>{e()})})})},close(){this.isShown=!1,setTimeout(()=>window.dispatchEvent(new CustomEvent("notificationClosed",{detail:{id:t.id}})),this.transitionDuration)},markAsRead(){window.dispatchEvent(new CustomEvent("markedNotificationAsRead",{detail:{id:t.id}}))},markAsUnread(){window.dispatchEvent(new CustomEvent("markedNotificationAsUnread",{detail:{id:t.id}}))}}))};var z=J(M(),1),p=class{constructor(){return this.id((0,z.v4)()),this}id(t){return this.id=t,this}title(t){return this.title=t,this}body(t){return this.body=t,this}actions(t){return this.actions=t,this}status(t){return this.status=t,this}color(t){return this.color=t,this}icon(t){return this.icon=t,this}iconColor(t){return this.iconColor=t,this}duration(t){return this.duration=t,this}seconds(t){return this.duration(t*1e3),this}persistent(){return this.duration("persistent"),this}danger(){return this.status("danger"),this}info(){return this.status("info"),this}success(){return this.status("success"),this}warning(){return this.status("warning"),this}view(t){return this.view=t,this}viewData(t){return this.viewData=t,this}send(){return window.dispatchEvent(new CustomEvent("notificationSent",{detail:{notification:this}})),this}},w=class{constructor(t){return this.name(t),this}name(t){return this.name=t,this}color(t){return this.color=t,this}dispatch(t,e){return this.event(t),this.eventData(e),this}dispatchSelf(t,e){return this.dispatch(t,e),this.dispatchDirection="self",this}dispatchTo(t,e,s){return this.dispatch(e,s),this.dispatchDirection="to",this.dispatchToComponent=t,this}emit(t,e){return this.dispatch(t,e),this}emitSelf(t,e){return this.dispatchSelf(t,e),this}emitTo(t,e,s){return this.dispatchTo(t,e,s),this}dispatchDirection(t){return this.dispatchDirection=t,this}dispatchToComponent(t){return this.dispatchToComponent=t,this}event(t){return this.event=t,this}eventData(t){return this.eventData=t,this}extraAttributes(t){return this.extraAttributes=t,this}icon(t){return this.icon=t,this}iconPosition(t){return this.iconPosition=t,this}outlined(t=!0){return this.isOutlined=t,this}disabled(t=!0){return this.isDisabled=t,this}label(t){return this.label=t,this}close(t=!0){return this.shouldClose=t,this}openUrlInNewTab(t=!0){return this.shouldOpenUrlInNewTab=t,this}size(t){return this.size=t,this}url(t){return this.url=t,this}view(t){return this.view=t,this}button(){return this.view("filament::components.button.index"),this}grouped(){return this.view("filament::components.dropdown.list.item"),this}iconButton(){return this.view("filament::components.icon-button"),this}link(){return this.view("filament::components.link"),this}},x=class{constructor(t){return this.actions(t),this}actions(t){return this.actions=t.map(e=>e.grouped()),this}color(t){return this.color=t,this}icon(t){return this.icon=t,this}iconPosition(t){return this.iconPosition=t,this}label(t){return this.label=t,this}tooltip(t){return this.tooltip=t,this}};window.FilamentNotificationAction=w;window.FilamentNotificationActionGroup=x;window.FilamentNotification=p;document.addEventListener("alpine:init",()=>{window.Alpine.plugin(q)});})(); diff --git a/public/js/filament/schemas/components/actions.js b/public/js/filament/schemas/components/actions.js new file mode 100644 index 0000000..8bda328 --- /dev/null +++ b/public/js/filament/schemas/components/actions.js @@ -0,0 +1 @@ +var o=()=>({isSticky:!1,init(){this.evaluatePageScrollPosition()},evaluatePageScrollPosition(){let i=this.$el.getBoundingClientRect(),t=i.top>window.innerHeight,e=i.topwindow.innerHeight;this.isSticky=t||e}});export{o as default}; diff --git a/public/js/filament/schemas/components/tabs.js b/public/js/filament/schemas/components/tabs.js new file mode 100644 index 0000000..cf431be --- /dev/null +++ b/public/js/filament/schemas/components/tabs.js @@ -0,0 +1 @@ +function u({activeTab:a,isTabPersistedInQueryString:e,livewireId:h,tab:o,tabQueryStringKey:s}){return{tab:o,init(){let t=this.getTabs(),i=new URLSearchParams(window.location.search);e&&i.has(s)&&t.includes(i.get(s))&&(this.tab=i.get(s)),this.$watch("tab",()=>this.updateQueryString()),(!this.tab||!t.includes(this.tab))&&(this.tab=t[a-1]),Livewire.hook("commit",({component:r,commit:f,succeed:c,fail:l,respond:b})=>{c(({snapshot:d,effect:m})=>{this.$nextTick(()=>{if(r.id!==h)return;let n=this.getTabs();n.includes(this.tab)||(this.tab=n[a-1]??this.tab)})})})},getTabs(){return this.$refs.tabsData?JSON.parse(this.$refs.tabsData.value):[]},updateQueryString(){if(!e)return;let t=new URL(window.location.href);t.searchParams.set(s,this.tab),history.replaceState(null,document.title,t.toString())}}}export{u as default}; diff --git a/public/js/filament/schemas/components/wizard.js b/public/js/filament/schemas/components/wizard.js new file mode 100644 index 0000000..2b33541 --- /dev/null +++ b/public/js/filament/schemas/components/wizard.js @@ -0,0 +1 @@ +function o({isSkippable:s,isStepPersistedInQueryString:i,key:r,startStep:h,stepQueryStringKey:n}){return{step:null,init(){this.$watch("step",()=>this.updateQueryString()),this.step=this.getSteps().at(h-1),this.autofocusFields()},async requestNextStep(){await this.$wire.callSchemaComponentMethod(r,"nextStep",{currentStepIndex:this.getStepIndex(this.step)})},goToNextStep(){let t=this.getStepIndex(this.step)+1;t>=this.getSteps().length||(this.step=this.getSteps()[t],this.autofocusFields(),this.scroll())},goToPreviousStep(){let t=this.getStepIndex(this.step)-1;t<0||(this.step=this.getSteps()[t],this.autofocusFields(),this.scroll())},scroll(){this.$nextTick(()=>{this.$refs.header?.children[this.getStepIndex(this.step)].scrollIntoView({behavior:"smooth",block:"start"})})},autofocusFields(){this.$nextTick(()=>this.$refs[`step-${this.step}`].querySelector("[autofocus]")?.focus())},getStepIndex(t){let e=this.getSteps().findIndex(p=>p===t);return e===-1?0:e},getSteps(){return JSON.parse(this.$refs.stepsData.value)},isFirstStep(){return this.getStepIndex(this.step)<=0},isLastStep(){return this.getStepIndex(this.step)+1>=this.getSteps().length},isStepAccessible(t){return s||this.getStepIndex(this.step)>this.getStepIndex(t)},updateQueryString(){if(!i)return;let t=new URL(window.location.href);t.searchParams.set(n,this.step),history.replaceState(null,document.title,t.toString())}}}export{o as default}; diff --git a/public/js/filament/schemas/schemas.js b/public/js/filament/schemas/schemas.js new file mode 100644 index 0000000..464474e --- /dev/null +++ b/public/js/filament/schemas/schemas.js @@ -0,0 +1 @@ +(()=>{var d=()=>({isSticky:!1,init(){this.evaluatePageScrollPosition()},evaluatePageScrollPosition(){let n=this.$el.getBoundingClientRect(),e=n.top>window.innerHeight,i=n.topwindow.innerHeight;this.isSticky=e||i}});var m=function(n,e,i){let t=n;if(e.startsWith("/")&&(i=!0,e=e.slice(1)),i)return e;for(;e.startsWith("../");)t=t.includes(".")?t.slice(0,t.lastIndexOf(".")):null,e=e.slice(3);return["",null,void 0].includes(t)?e:["",null,void 0].includes(e)?t:`${t}.${e}`},u=n=>{let e=Alpine.findClosest(n,i=>i.__livewire);if(!e)throw"Could not find Livewire component in DOM tree.";return e.__livewire};document.addEventListener("alpine:init",()=>{window.Alpine.data("filamentSchema",({livewireId:n})=>({handleFormValidationError(e){e.detail.livewireId===n&&this.$nextTick(()=>{let i=this.$el.querySelector("[data-validation-error]");if(!i)return;let t=i;for(;t;)t.dispatchEvent(new CustomEvent("expand")),t=t.parentNode;setTimeout(()=>i.closest("[data-field-wrapper]").scrollIntoView({behavior:"smooth",block:"start",inline:"start"}),200)})}})),window.Alpine.data("filamentSchemaComponent",({path:n,containerPath:e,isLive:i,$wire:t})=>({$statePath:n,$get:(r,l)=>t.$get(m(e,r,l)),$set:(r,l,a,o=null)=>(o??(o=i),t.$set(m(e,r,a),l,o)),get $state(){return t.$get(n)}})),window.Alpine.data("filamentActionsSchemaComponent",d),Livewire.hook("commit",({component:n,commit:e,respond:i,succeed:t,fail:r})=>{t(({snapshot:l,effects:a})=>{a.dispatches?.forEach(o=>{if(!o.params?.awaitSchemaComponent)return;let s=Array.from(n.el.querySelectorAll(`[wire\\:partial="schema-component::${o.params.awaitSchemaComponent}"]`)).filter(c=>u(c)===n);if(s.length!==1){if(s.length>1)throw`Multiple schema components found with key [${o.params.awaitSchemaComponent}].`;window.addEventListener(`schema-component-${n.id}-${o.params.awaitSchemaComponent}-loaded`,()=>{window.dispatchEvent(new CustomEvent(o.name,{detail:o.params}))},{once:!0})}})})})});})(); diff --git a/public/js/filament/support/support.js b/public/js/filament/support/support.js new file mode 100644 index 0000000..144691e --- /dev/null +++ b/public/js/filament/support/support.js @@ -0,0 +1,46 @@ +(()=>{var qo=Object.create;var Ti=Object.defineProperty;var Go=Object.getOwnPropertyDescriptor;var Ko=Object.getOwnPropertyNames;var Jo=Object.getPrototypeOf,Qo=Object.prototype.hasOwnProperty;var Kr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Zo=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ko(t))!Qo.call(e,i)&&i!==r&&Ti(e,i,{get:()=>t[i],enumerable:!(n=Go(t,i))||n.enumerable});return e};var ea=(e,t,r)=>(r=e!=null?qo(Jo(e)):{},Zo(t||!e||!e.__esModule?Ti(r,"default",{value:e,enumerable:!0}):r,e));var uo=Kr(()=>{});var po=Kr(()=>{});var ho=Kr((Hs,yr)=>{(function(){"use strict";var e="input is invalid type",t="finalize already called",r=typeof window=="object",n=r?window:{};n.JS_MD5_NO_WINDOW&&(r=!1);var i=!r&&typeof self=="object",o=!n.JS_MD5_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;o?n=global:i&&(n=self);var a=!n.JS_MD5_NO_COMMON_JS&&typeof yr=="object"&&yr.exports,d=typeof define=="function"&&define.amd,f=!n.JS_MD5_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",u="0123456789abcdef".split(""),y=[128,32768,8388608,-2147483648],m=[0,8,16,24],O=["hex","array","digest","buffer","arrayBuffer","base64"],E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),S=[],_;if(f){var I=new ArrayBuffer(68);_=new Uint8Array(I),S=new Uint32Array(I)}var $=Array.isArray;(n.JS_MD5_NO_NODE_JS||!$)&&($=function(l){return Object.prototype.toString.call(l)==="[object Array]"});var A=ArrayBuffer.isView;f&&(n.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW||!A)&&(A=function(l){return typeof l=="object"&&l.buffer&&l.buffer.constructor===ArrayBuffer});var k=function(l){var h=typeof l;if(h==="string")return[l,!0];if(h!=="object"||l===null)throw new Error(e);if(f&&l.constructor===ArrayBuffer)return[new Uint8Array(l),!1];if(!$(l)&&!A(l))throw new Error(e);return[l,!1]},Y=function(l){return function(h){return new X(!0).update(h)[l]()}},ne=function(){var l=Y("hex");o&&(l=J(l)),l.create=function(){return new X},l.update=function(p){return l.create().update(p)};for(var h=0;h>>6,ze[M++]=128|p&63):p<55296||p>=57344?(ze[M++]=224|p>>>12,ze[M++]=128|p>>>6&63,ze[M++]=128|p&63):(p=65536+((p&1023)<<10|l.charCodeAt(++j)&1023),ze[M++]=240|p>>>18,ze[M++]=128|p>>>12&63,ze[M++]=128|p>>>6&63,ze[M++]=128|p&63);else for(M=this.start;j>>2]|=p<>>2]|=(192|p>>>6)<>>2]|=(128|p&63)<=57344?(Z[M>>>2]|=(224|p>>>12)<>>2]|=(128|p>>>6&63)<>>2]|=(128|p&63)<>>2]|=(240|p>>>18)<>>2]|=(128|p>>>12&63)<>>2]|=(128|p>>>6&63)<>>2]|=(128|p&63)<>>2]|=l[j]<=64?(this.start=M-64,this.hash(),this.hashed=!0):this.start=M}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this},X.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var l=this.blocks,h=this.lastByteIndex;l[h>>>2]|=y[h&3],h>=56&&(this.hashed||this.hash(),l[0]=l[16],l[16]=l[1]=l[2]=l[3]=l[4]=l[5]=l[6]=l[7]=l[8]=l[9]=l[10]=l[11]=l[12]=l[13]=l[14]=l[15]=0),l[14]=this.bytes<<3,l[15]=this.hBytes<<3|this.bytes>>>29,this.hash()}},X.prototype.hash=function(){var l,h,v,p,j,M,R=this.blocks;this.first?(l=R[0]-680876937,l=(l<<7|l>>>25)-271733879<<0,p=(-1732584194^l&2004318071)+R[1]-117830708,p=(p<<12|p>>>20)+l<<0,v=(-271733879^p&(l^-271733879))+R[2]-1126478375,v=(v<<17|v>>>15)+p<<0,h=(l^v&(p^l))+R[3]-1316259209,h=(h<<22|h>>>10)+v<<0):(l=this.h0,h=this.h1,v=this.h2,p=this.h3,l+=(p^h&(v^p))+R[0]-680876936,l=(l<<7|l>>>25)+h<<0,p+=(v^l&(h^v))+R[1]-389564586,p=(p<<12|p>>>20)+l<<0,v+=(h^p&(l^h))+R[2]+606105819,v=(v<<17|v>>>15)+p<<0,h+=(l^v&(p^l))+R[3]-1044525330,h=(h<<22|h>>>10)+v<<0),l+=(p^h&(v^p))+R[4]-176418897,l=(l<<7|l>>>25)+h<<0,p+=(v^l&(h^v))+R[5]+1200080426,p=(p<<12|p>>>20)+l<<0,v+=(h^p&(l^h))+R[6]-1473231341,v=(v<<17|v>>>15)+p<<0,h+=(l^v&(p^l))+R[7]-45705983,h=(h<<22|h>>>10)+v<<0,l+=(p^h&(v^p))+R[8]+1770035416,l=(l<<7|l>>>25)+h<<0,p+=(v^l&(h^v))+R[9]-1958414417,p=(p<<12|p>>>20)+l<<0,v+=(h^p&(l^h))+R[10]-42063,v=(v<<17|v>>>15)+p<<0,h+=(l^v&(p^l))+R[11]-1990404162,h=(h<<22|h>>>10)+v<<0,l+=(p^h&(v^p))+R[12]+1804603682,l=(l<<7|l>>>25)+h<<0,p+=(v^l&(h^v))+R[13]-40341101,p=(p<<12|p>>>20)+l<<0,v+=(h^p&(l^h))+R[14]-1502002290,v=(v<<17|v>>>15)+p<<0,h+=(l^v&(p^l))+R[15]+1236535329,h=(h<<22|h>>>10)+v<<0,l+=(v^p&(h^v))+R[1]-165796510,l=(l<<5|l>>>27)+h<<0,p+=(h^v&(l^h))+R[6]-1069501632,p=(p<<9|p>>>23)+l<<0,v+=(l^h&(p^l))+R[11]+643717713,v=(v<<14|v>>>18)+p<<0,h+=(p^l&(v^p))+R[0]-373897302,h=(h<<20|h>>>12)+v<<0,l+=(v^p&(h^v))+R[5]-701558691,l=(l<<5|l>>>27)+h<<0,p+=(h^v&(l^h))+R[10]+38016083,p=(p<<9|p>>>23)+l<<0,v+=(l^h&(p^l))+R[15]-660478335,v=(v<<14|v>>>18)+p<<0,h+=(p^l&(v^p))+R[4]-405537848,h=(h<<20|h>>>12)+v<<0,l+=(v^p&(h^v))+R[9]+568446438,l=(l<<5|l>>>27)+h<<0,p+=(h^v&(l^h))+R[14]-1019803690,p=(p<<9|p>>>23)+l<<0,v+=(l^h&(p^l))+R[3]-187363961,v=(v<<14|v>>>18)+p<<0,h+=(p^l&(v^p))+R[8]+1163531501,h=(h<<20|h>>>12)+v<<0,l+=(v^p&(h^v))+R[13]-1444681467,l=(l<<5|l>>>27)+h<<0,p+=(h^v&(l^h))+R[2]-51403784,p=(p<<9|p>>>23)+l<<0,v+=(l^h&(p^l))+R[7]+1735328473,v=(v<<14|v>>>18)+p<<0,h+=(p^l&(v^p))+R[12]-1926607734,h=(h<<20|h>>>12)+v<<0,j=h^v,l+=(j^p)+R[5]-378558,l=(l<<4|l>>>28)+h<<0,p+=(j^l)+R[8]-2022574463,p=(p<<11|p>>>21)+l<<0,M=p^l,v+=(M^h)+R[11]+1839030562,v=(v<<16|v>>>16)+p<<0,h+=(M^v)+R[14]-35309556,h=(h<<23|h>>>9)+v<<0,j=h^v,l+=(j^p)+R[1]-1530992060,l=(l<<4|l>>>28)+h<<0,p+=(j^l)+R[4]+1272893353,p=(p<<11|p>>>21)+l<<0,M=p^l,v+=(M^h)+R[7]-155497632,v=(v<<16|v>>>16)+p<<0,h+=(M^v)+R[10]-1094730640,h=(h<<23|h>>>9)+v<<0,j=h^v,l+=(j^p)+R[13]+681279174,l=(l<<4|l>>>28)+h<<0,p+=(j^l)+R[0]-358537222,p=(p<<11|p>>>21)+l<<0,M=p^l,v+=(M^h)+R[3]-722521979,v=(v<<16|v>>>16)+p<<0,h+=(M^v)+R[6]+76029189,h=(h<<23|h>>>9)+v<<0,j=h^v,l+=(j^p)+R[9]-640364487,l=(l<<4|l>>>28)+h<<0,p+=(j^l)+R[12]-421815835,p=(p<<11|p>>>21)+l<<0,M=p^l,v+=(M^h)+R[15]+530742520,v=(v<<16|v>>>16)+p<<0,h+=(M^v)+R[2]-995338651,h=(h<<23|h>>>9)+v<<0,l+=(v^(h|~p))+R[0]-198630844,l=(l<<6|l>>>26)+h<<0,p+=(h^(l|~v))+R[7]+1126891415,p=(p<<10|p>>>22)+l<<0,v+=(l^(p|~h))+R[14]-1416354905,v=(v<<15|v>>>17)+p<<0,h+=(p^(v|~l))+R[5]-57434055,h=(h<<21|h>>>11)+v<<0,l+=(v^(h|~p))+R[12]+1700485571,l=(l<<6|l>>>26)+h<<0,p+=(h^(l|~v))+R[3]-1894986606,p=(p<<10|p>>>22)+l<<0,v+=(l^(p|~h))+R[10]-1051523,v=(v<<15|v>>>17)+p<<0,h+=(p^(v|~l))+R[1]-2054922799,h=(h<<21|h>>>11)+v<<0,l+=(v^(h|~p))+R[8]+1873313359,l=(l<<6|l>>>26)+h<<0,p+=(h^(l|~v))+R[15]-30611744,p=(p<<10|p>>>22)+l<<0,v+=(l^(p|~h))+R[6]-1560198380,v=(v<<15|v>>>17)+p<<0,h+=(p^(v|~l))+R[13]+1309151649,h=(h<<21|h>>>11)+v<<0,l+=(v^(h|~p))+R[4]-145523070,l=(l<<6|l>>>26)+h<<0,p+=(h^(l|~v))+R[11]-1120210379,p=(p<<10|p>>>22)+l<<0,v+=(l^(p|~h))+R[2]+718787259,v=(v<<15|v>>>17)+p<<0,h+=(p^(v|~l))+R[9]-343485551,h=(h<<21|h>>>11)+v<<0,this.first?(this.h0=l+1732584193<<0,this.h1=h-271733879<<0,this.h2=v-1732584194<<0,this.h3=p+271733878<<0,this.first=!1):(this.h0=this.h0+l<<0,this.h1=this.h1+h<<0,this.h2=this.h2+v<<0,this.h3=this.h3+p<<0)},X.prototype.hex=function(){this.finalize();var l=this.h0,h=this.h1,v=this.h2,p=this.h3;return u[l>>>4&15]+u[l&15]+u[l>>>12&15]+u[l>>>8&15]+u[l>>>20&15]+u[l>>>16&15]+u[l>>>28&15]+u[l>>>24&15]+u[h>>>4&15]+u[h&15]+u[h>>>12&15]+u[h>>>8&15]+u[h>>>20&15]+u[h>>>16&15]+u[h>>>28&15]+u[h>>>24&15]+u[v>>>4&15]+u[v&15]+u[v>>>12&15]+u[v>>>8&15]+u[v>>>20&15]+u[v>>>16&15]+u[v>>>28&15]+u[v>>>24&15]+u[p>>>4&15]+u[p&15]+u[p>>>12&15]+u[p>>>8&15]+u[p>>>20&15]+u[p>>>16&15]+u[p>>>28&15]+u[p>>>24&15]},X.prototype.toString=X.prototype.hex,X.prototype.digest=function(){this.finalize();var l=this.h0,h=this.h1,v=this.h2,p=this.h3;return[l&255,l>>>8&255,l>>>16&255,l>>>24&255,h&255,h>>>8&255,h>>>16&255,h>>>24&255,v&255,v>>>8&255,v>>>16&255,v>>>24&255,p&255,p>>>8&255,p>>>16&255,p>>>24&255]},X.prototype.array=X.prototype.digest,X.prototype.arrayBuffer=function(){this.finalize();var l=new ArrayBuffer(16),h=new Uint32Array(l);return h[0]=this.h0,h[1]=this.h1,h[2]=this.h2,h[3]=this.h3,l},X.prototype.buffer=X.prototype.arrayBuffer,X.prototype.base64=function(){for(var l,h,v,p="",j=this.array(),M=0;M<15;)l=j[M++],h=j[M++],v=j[M++],p+=E[l>>>2]+E[(l<<4|h>>>4)&63]+E[(h<<2|v>>>6)&63]+E[v&63];return l=j[M],p+=E[l>>>2]+E[l<<4&63]+"==",p};function Q(l,h){var v,p=k(l);if(l=p[0],p[1]){var j=[],M=l.length,R=0,Z;for(v=0;v>>6,j[R++]=128|Z&63):Z<55296||Z>=57344?(j[R++]=224|Z>>>12,j[R++]=128|Z>>>6&63,j[R++]=128|Z&63):(Z=65536+((Z&1023)<<10|l.charCodeAt(++v)&1023),j[R++]=240|Z>>>18,j[R++]=128|Z>>>12&63,j[R++]=128|Z>>>6&63,j[R++]=128|Z&63);l=j}l.length>64&&(l=new X(!0).update(l).array());var ze=[],Rt=[];for(v=0;v<64;++v){var Ut=l[v]||0;ze[v]=92^Ut,Rt[v]=54^Ut}X.call(this,h),this.update(Rt),this.oKeyPad=ze,this.inner=!0,this.sharedMemory=h}Q.prototype=new X,Q.prototype.finalize=function(){if(X.prototype.finalize.call(this),this.inner){this.inner=!1;var l=this.array();X.call(this,this.sharedMemory),this.update(this.oKeyPad),this.update(l),X.prototype.finalize.call(this)}};var me=ne();me.md5=me,me.md5.hmac=de(),a?yr.exports=me:(n.md5=me,d&&define(function(){return me}))})()});var Hi=["top","right","bottom","left"],Pi=["start","end"],Mi=Hi.reduce((e,t)=>e.concat(t,t+"-"+Pi[0],t+"-"+Pi[1]),[]),Et=Math.min,tt=Math.max,hr=Math.round,pr=Math.floor,nn=e=>({x:e,y:e}),ta={left:"right",right:"left",bottom:"top",top:"bottom"},na={start:"end",end:"start"};function Jr(e,t,r){return tt(e,Et(t,r))}function jt(e,t){return typeof e=="function"?e(t):e}function pt(e){return e.split("-")[0]}function xt(e){return e.split("-")[1]}function $i(e){return e==="x"?"y":"x"}function Qr(e){return e==="y"?"height":"width"}function Pn(e){return["top","bottom"].includes(pt(e))?"y":"x"}function Zr(e){return $i(Pn(e))}function Wi(e,t,r){r===void 0&&(r=!1);let n=xt(e),i=Zr(e),o=Qr(i),a=i==="x"?n===(r?"end":"start")?"right":"left":n==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(a=mr(a)),[a,mr(a)]}function ra(e){let t=mr(e);return[vr(e),t,vr(t)]}function vr(e){return e.replace(/start|end/g,t=>na[t])}function ia(e,t,r){let n=["left","right"],i=["right","left"],o=["top","bottom"],a=["bottom","top"];switch(e){case"top":case"bottom":return r?t?i:n:t?n:i;case"left":case"right":return t?o:a;default:return[]}}function oa(e,t,r,n){let i=xt(e),o=ia(pt(e),r==="start",n);return i&&(o=o.map(a=>a+"-"+i),t&&(o=o.concat(o.map(vr)))),o}function mr(e){return e.replace(/left|right|bottom|top/g,t=>ta[t])}function aa(e){return{top:0,right:0,bottom:0,left:0,...e}}function ei(e){return typeof e!="number"?aa(e):{top:e,right:e,bottom:e,left:e}}function Cn(e){return{...e,top:e.y,left:e.x,right:e.x+e.width,bottom:e.y+e.height}}function Ri(e,t,r){let{reference:n,floating:i}=e,o=Pn(t),a=Zr(t),d=Qr(a),f=pt(t),u=o==="y",y=n.x+n.width/2-i.width/2,m=n.y+n.height/2-i.height/2,O=n[d]/2-i[d]/2,E;switch(f){case"top":E={x:y,y:n.y-i.height};break;case"bottom":E={x:y,y:n.y+n.height};break;case"right":E={x:n.x+n.width,y:m};break;case"left":E={x:n.x-i.width,y:m};break;default:E={x:n.x,y:n.y}}switch(xt(t)){case"start":E[a]-=O*(r&&u?-1:1);break;case"end":E[a]+=O*(r&&u?-1:1);break}return E}var sa=async(e,t,r)=>{let{placement:n="bottom",strategy:i="absolute",middleware:o=[],platform:a}=r,d=o.filter(Boolean),f=await(a.isRTL==null?void 0:a.isRTL(t)),u=await a.getElementRects({reference:e,floating:t,strategy:i}),{x:y,y:m}=Ri(u,n,f),O=n,E={},S=0;for(let _=0;_({name:"arrow",options:e,async fn(t){let{x:r,y:n,placement:i,rects:o,platform:a,elements:d,middlewareData:f}=t,{element:u,padding:y=0}=jt(e,t)||{};if(u==null)return{};let m=ei(y),O={x:r,y:n},E=Zr(i),S=Qr(E),_=await a.getDimensions(u),I=E==="y",$=I?"top":"left",A=I?"bottom":"right",k=I?"clientHeight":"clientWidth",Y=o.reference[S]+o.reference[E]-O[E]-o.floating[S],ne=O[E]-o.reference[E],J=await(a.getOffsetParent==null?void 0:a.getOffsetParent(u)),V=J?J[k]:0;(!V||!await(a.isElement==null?void 0:a.isElement(J)))&&(V=d.floating[k]||o.floating[S]);let de=Y/2-ne/2,X=V/2-_[S]/2-1,Q=Et(m[$],X),me=Et(m[A],X),l=Q,h=V-_[S]-me,v=V/2-_[S]/2+de,p=Jr(l,v,h),j=!f.arrow&&xt(i)!=null&&v!==p&&o.reference[S]/2-(vxt(i)===e),...r.filter(i=>xt(i)!==e)]:r.filter(i=>pt(i)===i)).filter(i=>e?xt(i)===e||(t?vr(i)!==i:!1):!0)}var ca=function(e){return e===void 0&&(e={}),{name:"autoPlacement",options:e,async fn(t){var r,n,i;let{rects:o,middlewareData:a,placement:d,platform:f,elements:u}=t,{crossAxis:y=!1,alignment:m,allowedPlacements:O=Mi,autoAlignment:E=!0,...S}=jt(e,t),_=m!==void 0||O===Mi?fa(m||null,E,O):O,I=await _n(t,S),$=((r=a.autoPlacement)==null?void 0:r.index)||0,A=_[$];if(A==null)return{};let k=Wi(A,o,await(f.isRTL==null?void 0:f.isRTL(u.floating)));if(d!==A)return{reset:{placement:_[0]}};let Y=[I[pt(A)],I[k[0]],I[k[1]]],ne=[...((n=a.autoPlacement)==null?void 0:n.overflows)||[],{placement:A,overflows:Y}],J=_[$+1];if(J)return{data:{index:$+1,overflows:ne},reset:{placement:J}};let V=ne.map(Q=>{let me=xt(Q.placement);return[Q.placement,me&&y?Q.overflows.slice(0,2).reduce((l,h)=>l+h,0):Q.overflows[0],Q.overflows]}).sort((Q,me)=>Q[1]-me[1]),X=((i=V.filter(Q=>Q[2].slice(0,xt(Q[0])?2:3).every(me=>me<=0))[0])==null?void 0:i[0])||V[0][0];return X!==d?{data:{index:$+1,overflows:ne},reset:{placement:X}}:{}}}},ua=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var r,n;let{placement:i,middlewareData:o,rects:a,initialPlacement:d,platform:f,elements:u}=t,{mainAxis:y=!0,crossAxis:m=!0,fallbackPlacements:O,fallbackStrategy:E="bestFit",fallbackAxisSideDirection:S="none",flipAlignment:_=!0,...I}=jt(e,t);if((r=o.arrow)!=null&&r.alignmentOffset)return{};let $=pt(i),A=pt(d)===d,k=await(f.isRTL==null?void 0:f.isRTL(u.floating)),Y=O||(A||!_?[mr(d)]:ra(d));!O&&S!=="none"&&Y.push(...oa(d,_,S,k));let ne=[d,...Y],J=await _n(t,I),V=[],de=((n=o.flip)==null?void 0:n.overflows)||[];if(y&&V.push(J[$]),m){let l=Wi(i,a,k);V.push(J[l[0]],J[l[1]])}if(de=[...de,{placement:i,overflows:V}],!V.every(l=>l<=0)){var X,Q;let l=(((X=o.flip)==null?void 0:X.index)||0)+1,h=ne[l];if(h)return{data:{index:l,overflows:de},reset:{placement:h}};let v=(Q=de.filter(p=>p.overflows[0]<=0).sort((p,j)=>p.overflows[1]-j.overflows[1])[0])==null?void 0:Q.placement;if(!v)switch(E){case"bestFit":{var me;let p=(me=de.map(j=>[j.placement,j.overflows.filter(M=>M>0).reduce((M,R)=>M+R,0)]).sort((j,M)=>j[1]-M[1])[0])==null?void 0:me[0];p&&(v=p);break}case"initialPlacement":v=d;break}if(i!==v)return{reset:{placement:v}}}return{}}}};function Ii(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Li(e){return Hi.some(t=>e[t]>=0)}var da=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){let{rects:r}=t,{strategy:n="referenceHidden",...i}=jt(e,t);switch(n){case"referenceHidden":{let o=await _n(t,{...i,elementContext:"reference"}),a=Ii(o,r.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:Li(a)}}}case"escaped":{let o=await _n(t,{...i,altBoundary:!0}),a=Ii(o,r.floating);return{data:{escapedOffsets:a,escaped:Li(a)}}}default:return{}}}}};function Ui(e){let t=Et(...e.map(o=>o.left)),r=Et(...e.map(o=>o.top)),n=tt(...e.map(o=>o.right)),i=tt(...e.map(o=>o.bottom));return{x:t,y:r,width:n-t,height:i-r}}function pa(e){let t=e.slice().sort((i,o)=>i.y-o.y),r=[],n=null;for(let i=0;in.height/2?r.push([o]):r[r.length-1].push(o),n=o}return r.map(i=>Cn(Ui(i)))}var ha=function(e){return e===void 0&&(e={}),{name:"inline",options:e,async fn(t){let{placement:r,elements:n,rects:i,platform:o,strategy:a}=t,{padding:d=2,x:f,y:u}=jt(e,t),y=Array.from(await(o.getClientRects==null?void 0:o.getClientRects(n.reference))||[]),m=pa(y),O=Cn(Ui(y)),E=ei(d);function S(){if(m.length===2&&m[0].left>m[1].right&&f!=null&&u!=null)return m.find(I=>f>I.left-E.left&&fI.top-E.top&&u=2){if(Pn(r)==="y"){let Q=m[0],me=m[m.length-1],l=pt(r)==="top",h=Q.top,v=me.bottom,p=l?Q.left:me.left,j=l?Q.right:me.right,M=j-p,R=v-h;return{top:h,bottom:v,left:p,right:j,width:M,height:R,x:p,y:h}}let I=pt(r)==="left",$=tt(...m.map(Q=>Q.right)),A=Et(...m.map(Q=>Q.left)),k=m.filter(Q=>I?Q.left===A:Q.right===$),Y=k[0].top,ne=k[k.length-1].bottom,J=A,V=$,de=V-J,X=ne-Y;return{top:Y,bottom:ne,left:J,right:V,width:de,height:X,x:J,y:Y}}return O}let _=await o.getElementRects({reference:{getBoundingClientRect:S},floating:n.floating,strategy:a});return i.reference.x!==_.reference.x||i.reference.y!==_.reference.y||i.reference.width!==_.reference.width||i.reference.height!==_.reference.height?{reset:{rects:_}}:{}}}};async function va(e,t){let{placement:r,platform:n,elements:i}=e,o=await(n.isRTL==null?void 0:n.isRTL(i.floating)),a=pt(r),d=xt(r),f=Pn(r)==="y",u=["left","top"].includes(a)?-1:1,y=o&&f?-1:1,m=jt(t,e),{mainAxis:O,crossAxis:E,alignmentAxis:S}=typeof m=="number"?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...m};return d&&typeof S=="number"&&(E=d==="end"?S*-1:S),f?{x:E*y,y:O*u}:{x:O*u,y:E*y}}var Vi=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var r,n;let{x:i,y:o,placement:a,middlewareData:d}=t,f=await va(t,e);return a===((r=d.offset)==null?void 0:r.placement)&&(n=d.arrow)!=null&&n.alignmentOffset?{}:{x:i+f.x,y:o+f.y,data:{...f,placement:a}}}}},ma=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){let{x:r,y:n,placement:i}=t,{mainAxis:o=!0,crossAxis:a=!1,limiter:d={fn:I=>{let{x:$,y:A}=I;return{x:$,y:A}}},...f}=jt(e,t),u={x:r,y:n},y=await _n(t,f),m=Pn(pt(i)),O=$i(m),E=u[O],S=u[m];if(o){let I=O==="y"?"top":"left",$=O==="y"?"bottom":"right",A=E+y[I],k=E-y[$];E=Jr(A,E,k)}if(a){let I=m==="y"?"top":"left",$=m==="y"?"bottom":"right",A=S+y[I],k=S-y[$];S=Jr(A,S,k)}let _=d.fn({...t,[O]:E,[m]:S});return{..._,data:{x:_.x-r,y:_.y-n}}}}},ga=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){let{placement:r,rects:n,platform:i,elements:o}=t,{apply:a=()=>{},...d}=jt(e,t),f=await _n(t,d),u=pt(r),y=xt(r),m=Pn(r)==="y",{width:O,height:E}=n.floating,S,_;u==="top"||u==="bottom"?(S=u,_=y===(await(i.isRTL==null?void 0:i.isRTL(o.floating))?"start":"end")?"left":"right"):(_=u,S=y==="end"?"top":"bottom");let I=E-f[S],$=O-f[_],A=!t.middlewareData.shift,k=I,Y=$;if(m){let J=O-f.left-f.right;Y=y||A?Et($,J):J}else{let J=E-f.top-f.bottom;k=y||A?Et(I,J):J}if(A&&!y){let J=tt(f.left,0),V=tt(f.right,0),de=tt(f.top,0),X=tt(f.bottom,0);m?Y=O-2*(J!==0||V!==0?J+V:tt(f.left,f.right)):k=E-2*(de!==0||X!==0?de+X:tt(f.top,f.bottom))}await a({...t,availableWidth:Y,availableHeight:k});let ne=await i.getDimensions(o.floating);return O!==ne.width||E!==ne.height?{reset:{rects:!0}}:{}}}};function rn(e){return zi(e)?(e.nodeName||"").toLowerCase():"#document"}function ft(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Bt(e){var t;return(t=(zi(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function zi(e){return e instanceof Node||e instanceof ft(e).Node}function kt(e){return e instanceof Element||e instanceof ft(e).Element}function Tt(e){return e instanceof HTMLElement||e instanceof ft(e).HTMLElement}function Fi(e){return typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof ft(e).ShadowRoot}function zn(e){let{overflow:t,overflowX:r,overflowY:n,display:i}=ht(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&!["inline","contents"].includes(i)}function ba(e){return["table","td","th"].includes(rn(e))}function ti(e){let t=ni(),r=ht(e);return r.transform!=="none"||r.perspective!=="none"||(r.containerType?r.containerType!=="normal":!1)||!t&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!t&&(r.filter?r.filter!=="none":!1)||["transform","perspective","filter"].some(n=>(r.willChange||"").includes(n))||["paint","layout","strict","content"].some(n=>(r.contain||"").includes(n))}function ya(e){let t=Tn(e);for(;Tt(t)&&!gr(t);){if(ti(t))return t;t=Tn(t)}return null}function ni(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function gr(e){return["html","body","#document"].includes(rn(e))}function ht(e){return ft(e).getComputedStyle(e)}function br(e){return kt(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Tn(e){if(rn(e)==="html")return e;let t=e.assignedSlot||e.parentNode||Fi(e)&&e.host||Bt(e);return Fi(t)?t.host:t}function Yi(e){let t=Tn(e);return gr(t)?e.ownerDocument?e.ownerDocument.body:e.body:Tt(t)&&zn(t)?t:Yi(t)}function Vn(e,t,r){var n;t===void 0&&(t=[]),r===void 0&&(r=!0);let i=Yi(e),o=i===((n=e.ownerDocument)==null?void 0:n.body),a=ft(i);return o?t.concat(a,a.visualViewport||[],zn(i)?i:[],a.frameElement&&r?Vn(a.frameElement):[]):t.concat(i,Vn(i,[],r))}function Xi(e){let t=ht(e),r=parseFloat(t.width)||0,n=parseFloat(t.height)||0,i=Tt(e),o=i?e.offsetWidth:r,a=i?e.offsetHeight:n,d=hr(r)!==o||hr(n)!==a;return d&&(r=o,n=a),{width:r,height:n,$:d}}function ri(e){return kt(e)?e:e.contextElement}function Dn(e){let t=ri(e);if(!Tt(t))return nn(1);let r=t.getBoundingClientRect(),{width:n,height:i,$:o}=Xi(t),a=(o?hr(r.width):r.width)/n,d=(o?hr(r.height):r.height)/i;return(!a||!Number.isFinite(a))&&(a=1),(!d||!Number.isFinite(d))&&(d=1),{x:a,y:d}}var wa=nn(0);function qi(e){let t=ft(e);return!ni()||!t.visualViewport?wa:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function xa(e,t,r){return t===void 0&&(t=!1),!r||t&&r!==ft(e)?!1:t}function vn(e,t,r,n){t===void 0&&(t=!1),r===void 0&&(r=!1);let i=e.getBoundingClientRect(),o=ri(e),a=nn(1);t&&(n?kt(n)&&(a=Dn(n)):a=Dn(e));let d=xa(o,r,n)?qi(o):nn(0),f=(i.left+d.x)/a.x,u=(i.top+d.y)/a.y,y=i.width/a.x,m=i.height/a.y;if(o){let O=ft(o),E=n&&kt(n)?ft(n):n,S=O,_=S.frameElement;for(;_&&n&&E!==S;){let I=Dn(_),$=_.getBoundingClientRect(),A=ht(_),k=$.left+(_.clientLeft+parseFloat(A.paddingLeft))*I.x,Y=$.top+(_.clientTop+parseFloat(A.paddingTop))*I.y;f*=I.x,u*=I.y,y*=I.x,m*=I.y,f+=k,u+=Y,S=ft(_),_=S.frameElement}}return Cn({width:y,height:m,x:f,y:u})}var Ea=[":popover-open",":modal"];function Gi(e){return Ea.some(t=>{try{return e.matches(t)}catch{return!1}})}function Oa(e){let{elements:t,rect:r,offsetParent:n,strategy:i}=e,o=i==="fixed",a=Bt(n),d=t?Gi(t.floating):!1;if(n===a||d&&o)return r;let f={scrollLeft:0,scrollTop:0},u=nn(1),y=nn(0),m=Tt(n);if((m||!m&&!o)&&((rn(n)!=="body"||zn(a))&&(f=br(n)),Tt(n))){let O=vn(n);u=Dn(n),y.x=O.x+n.clientLeft,y.y=O.y+n.clientTop}return{width:r.width*u.x,height:r.height*u.y,x:r.x*u.x-f.scrollLeft*u.x+y.x,y:r.y*u.y-f.scrollTop*u.y+y.y}}function Sa(e){return Array.from(e.getClientRects())}function Ki(e){return vn(Bt(e)).left+br(e).scrollLeft}function Aa(e){let t=Bt(e),r=br(e),n=e.ownerDocument.body,i=tt(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),o=tt(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight),a=-r.scrollLeft+Ki(e),d=-r.scrollTop;return ht(n).direction==="rtl"&&(a+=tt(t.clientWidth,n.clientWidth)-i),{width:i,height:o,x:a,y:d}}function Da(e,t){let r=ft(e),n=Bt(e),i=r.visualViewport,o=n.clientWidth,a=n.clientHeight,d=0,f=0;if(i){o=i.width,a=i.height;let u=ni();(!u||u&&t==="fixed")&&(d=i.offsetLeft,f=i.offsetTop)}return{width:o,height:a,x:d,y:f}}function Ca(e,t){let r=vn(e,!0,t==="fixed"),n=r.top+e.clientTop,i=r.left+e.clientLeft,o=Tt(e)?Dn(e):nn(1),a=e.clientWidth*o.x,d=e.clientHeight*o.y,f=i*o.x,u=n*o.y;return{width:a,height:d,x:f,y:u}}function Ni(e,t,r){let n;if(t==="viewport")n=Da(e,r);else if(t==="document")n=Aa(Bt(e));else if(kt(t))n=Ca(t,r);else{let i=qi(e);n={...t,x:t.x-i.x,y:t.y-i.y}}return Cn(n)}function Ji(e,t){let r=Tn(e);return r===t||!kt(r)||gr(r)?!1:ht(r).position==="fixed"||Ji(r,t)}function _a(e,t){let r=t.get(e);if(r)return r;let n=Vn(e,[],!1).filter(d=>kt(d)&&rn(d)!=="body"),i=null,o=ht(e).position==="fixed",a=o?Tn(e):e;for(;kt(a)&&!gr(a);){let d=ht(a),f=ti(a);!f&&d.position==="fixed"&&(i=null),(o?!f&&!i:!f&&d.position==="static"&&!!i&&["absolute","fixed"].includes(i.position)||zn(a)&&!f&&Ji(e,a))?n=n.filter(y=>y!==a):i=d,a=Tn(a)}return t.set(e,n),n}function Ta(e){let{element:t,boundary:r,rootBoundary:n,strategy:i}=e,a=[...r==="clippingAncestors"?_a(t,this._c):[].concat(r),n],d=a[0],f=a.reduce((u,y)=>{let m=Ni(t,y,i);return u.top=tt(m.top,u.top),u.right=Et(m.right,u.right),u.bottom=Et(m.bottom,u.bottom),u.left=tt(m.left,u.left),u},Ni(t,d,i));return{width:f.right-f.left,height:f.bottom-f.top,x:f.left,y:f.top}}function Pa(e){let{width:t,height:r}=Xi(e);return{width:t,height:r}}function Ma(e,t,r){let n=Tt(t),i=Bt(t),o=r==="fixed",a=vn(e,!0,o,t),d={scrollLeft:0,scrollTop:0},f=nn(0);if(n||!n&&!o)if((rn(t)!=="body"||zn(i))&&(d=br(t)),n){let m=vn(t,!0,o,t);f.x=m.x+t.clientLeft,f.y=m.y+t.clientTop}else i&&(f.x=Ki(i));let u=a.left+d.scrollLeft-f.x,y=a.top+d.scrollTop-f.y;return{x:u,y,width:a.width,height:a.height}}function ki(e,t){return!Tt(e)||ht(e).position==="fixed"?null:t?t(e):e.offsetParent}function Qi(e,t){let r=ft(e);if(!Tt(e)||Gi(e))return r;let n=ki(e,t);for(;n&&ba(n)&&ht(n).position==="static";)n=ki(n,t);return n&&(rn(n)==="html"||rn(n)==="body"&&ht(n).position==="static"&&!ti(n))?r:n||ya(e)||r}var Ra=async function(e){let t=this.getOffsetParent||Qi,r=this.getDimensions;return{reference:Ma(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,...await r(e.floating)}}};function Ia(e){return ht(e).direction==="rtl"}var La={convertOffsetParentRelativeRectToViewportRelativeRect:Oa,getDocumentElement:Bt,getClippingRect:Ta,getOffsetParent:Qi,getElementRects:Ra,getClientRects:Sa,getDimensions:Pa,getScale:Dn,isElement:kt,isRTL:Ia};function Fa(e,t){let r=null,n,i=Bt(e);function o(){var d;clearTimeout(n),(d=r)==null||d.disconnect(),r=null}function a(d,f){d===void 0&&(d=!1),f===void 0&&(f=1),o();let{left:u,top:y,width:m,height:O}=e.getBoundingClientRect();if(d||t(),!m||!O)return;let E=pr(y),S=pr(i.clientWidth-(u+m)),_=pr(i.clientHeight-(y+O)),I=pr(u),A={rootMargin:-E+"px "+-S+"px "+-_+"px "+-I+"px",threshold:tt(0,Et(1,f))||1},k=!0;function Y(ne){let J=ne[0].intersectionRatio;if(J!==f){if(!k)return a();J?a(!1,J):n=setTimeout(()=>{a(!1,1e-7)},100)}k=!1}try{r=new IntersectionObserver(Y,{...A,root:i.ownerDocument})}catch{r=new IntersectionObserver(Y,A)}r.observe(e)}return a(!0),o}function ji(e,t,r,n){n===void 0&&(n={});let{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:d=typeof IntersectionObserver=="function",animationFrame:f=!1}=n,u=ri(e),y=i||o?[...u?Vn(u):[],...Vn(t)]:[];y.forEach($=>{i&&$.addEventListener("scroll",r,{passive:!0}),o&&$.addEventListener("resize",r)});let m=u&&d?Fa(u,r):null,O=-1,E=null;a&&(E=new ResizeObserver($=>{let[A]=$;A&&A.target===u&&E&&(E.unobserve(t),cancelAnimationFrame(O),O=requestAnimationFrame(()=>{var k;(k=E)==null||k.observe(t)})),r()}),u&&!f&&E.observe(u),E.observe(t));let S,_=f?vn(e):null;f&&I();function I(){let $=vn(e);_&&($.x!==_.x||$.y!==_.y||$.width!==_.width||$.height!==_.height)&&r(),_=$,S=requestAnimationFrame(I)}return r(),()=>{var $;y.forEach(A=>{i&&A.removeEventListener("scroll",r),o&&A.removeEventListener("resize",r)}),m?.(),($=E)==null||$.disconnect(),E=null,f&&cancelAnimationFrame(S)}}var ii=ca,Zi=ma,eo=ua,to=ga,no=da,ro=la,io=ha,Bi=(e,t,r)=>{let n=new Map,i={platform:La,...r},o={...i.platform,_c:n};return sa(e,t,{...i,platform:o})},Na=e=>{let t={placement:"bottom",strategy:"absolute",middleware:[]},r=Object.keys(e),n=i=>e[i];return r.includes("offset")&&t.middleware.push(Vi(n("offset"))),r.includes("teleport")&&(t.strategy="fixed"),r.includes("placement")&&(t.placement=n("placement")),r.includes("autoPlacement")&&!r.includes("flip")&&t.middleware.push(ii(n("autoPlacement"))),r.includes("flip")&&t.middleware.push(eo(n("flip"))),r.includes("shift")&&t.middleware.push(Zi(n("shift"))),r.includes("inline")&&t.middleware.push(io(n("inline"))),r.includes("arrow")&&t.middleware.push(ro(n("arrow"))),r.includes("hide")&&t.middleware.push(no(n("hide"))),r.includes("size")&&t.middleware.push(to(n("size"))),t},ka=(e,t)=>{let r={component:{trap:!1},float:{placement:"bottom",strategy:"absolute",middleware:[]}},n=i=>e[e.indexOf(i)+1];if(e.includes("trap")&&(r.component.trap=!0),e.includes("teleport")&&(r.float.strategy="fixed"),e.includes("offset")&&r.float.middleware.push(Vi(t.offset||10)),e.includes("placement")&&(r.float.placement=n("placement")),e.includes("autoPlacement")&&!e.includes("flip")&&r.float.middleware.push(ii(t.autoPlacement)),e.includes("flip")&&r.float.middleware.push(eo(t.flip)),e.includes("shift")&&r.float.middleware.push(Zi(t.shift)),e.includes("inline")&&r.float.middleware.push(io(t.inline)),e.includes("arrow")&&r.float.middleware.push(ro(t.arrow)),e.includes("hide")&&r.float.middleware.push(no(t.hide)),e.includes("size")){let i=t.size?.availableWidth??null,o=t.size?.availableHeight??null;i&&delete t.size.availableWidth,o&&delete t.size.availableHeight,r.float.middleware.push(to({...t.size,apply({availableWidth:a,availableHeight:d,elements:f}){Object.assign(f.floating.style,{maxWidth:`${i??a}px`,maxHeight:`${o??d}px`})}}))}return r},ja=e=>{var t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz".split(""),r="";e||(e=Math.floor(Math.random()*t.length));for(var n=0;n{}){let r=!1;return function(){r?t.apply(this,arguments):(r=!0,e.apply(this,arguments))}}function Ha(e){let t={dismissable:!0,trap:!1};function r(n,i=null){if(n){if(n.hasAttribute("aria-expanded")||n.setAttribute("aria-expanded",!1),i.hasAttribute("id"))n.setAttribute("aria-controls",i.getAttribute("id"));else{let o=`panel-${ja(8)}`;n.setAttribute("aria-controls",o),i.setAttribute("id",o)}i.setAttribute("aria-modal",!0),i.setAttribute("role","dialog")}}e.magic("float",n=>(i={},o={})=>{let a={...t,...o},d=Object.keys(i).length>0?Na(i):{middleware:[ii()]},f=n,u=n.parentElement.closest("[x-data]"),y=u.querySelector('[x-ref="panel"]');r(f,y);function m(){return y.style.display=="block"}function O(){y.style.display="none",f.setAttribute("aria-expanded","false"),a.trap&&y.setAttribute("x-trap","false"),ji(n,y,_)}function E(){y.style.display="block",f.setAttribute("aria-expanded","true"),a.trap&&y.setAttribute("x-trap","true"),_()}function S(){m()?O():E()}async function _(){return await Bi(n,y,d).then(({middlewareData:I,placement:$,x:A,y:k})=>{if(I.arrow){let Y=I.arrow?.x,ne=I.arrow?.y,J=d.middleware.filter(de=>de.name=="arrow")[0].options.element,V={top:"bottom",right:"left",bottom:"top",left:"right"}[$.split("-")[0]];Object.assign(J.style,{left:Y!=null?`${Y}px`:"",top:ne!=null?`${ne}px`:"",right:"",bottom:"",[V]:"-4px"})}if(I.hide){let{referenceHidden:Y}=I.hide;Object.assign(y.style,{visibility:Y?"hidden":"visible"})}Object.assign(y.style,{left:`${A}px`,top:`${k}px`})})}a.dismissable&&(window.addEventListener("click",I=>{!u.contains(I.target)&&m()&&S()}),window.addEventListener("keydown",I=>{I.key==="Escape"&&m()&&S()},!0)),S()}),e.directive("float",(n,{modifiers:i,expression:o},{evaluate:a,effect:d})=>{let f=o?a(o):{},u=i.length>0?ka(i,f):{},y=null;u.float.strategy=="fixed"&&(n.style.position="fixed");let m=V=>n.parentElement&&!n.parentElement.closest("[x-data]").contains(V.target)?n.close():null,O=V=>V.key==="Escape"?n.close():null,E=n.getAttribute("x-ref"),S=n.parentElement.closest("[x-data]"),_=S.querySelectorAll(`[\\@click^="$refs.${E}"]`),I=S.querySelectorAll(`[x-on\\:click^="$refs.${E}"]`);n.style.setProperty("display","none"),r([..._,...I][0],n),n._x_isShown=!1,n.trigger=null,n._x_doHide||(n._x_doHide=()=>{n.style.setProperty("display","none",i.includes("important")?"important":void 0)}),n._x_doShow||(n._x_doShow=()=>{n.style.setProperty("display","block",i.includes("important")?"important":void 0)});let $=()=>{n._x_doHide(),n._x_isShown=!1},A=()=>{n._x_doShow(),n._x_isShown=!0},k=()=>setTimeout(A),Y=Ba(V=>V?A():$(),V=>{typeof n._x_toggleAndCascadeWithTransitions=="function"?n._x_toggleAndCascadeWithTransitions(n,V,A,$):V?k():$()}),ne,J=!0;d(()=>a(V=>{!J&&V===ne||(i.includes("immediate")&&(V?k():$()),Y(V),ne=V,J=!1)})),n.open=async function(V){n.trigger=V.currentTarget?V.currentTarget:V,Y(!0),n.trigger.setAttribute("aria-expanded","true"),u.component.trap&&n.setAttribute("x-trap","true"),y=ji(n.trigger,n,()=>{Bi(n.trigger,n,u.float).then(({middlewareData:de,placement:X,x:Q,y:me})=>{if(de.arrow){let l=de.arrow?.x,h=de.arrow?.y,v=u.float.middleware.filter(j=>j.name=="arrow")[0].options.element,p={top:"bottom",right:"left",bottom:"top",left:"right"}[X.split("-")[0]];Object.assign(v.style,{left:l!=null?`${l}px`:"",top:h!=null?`${h}px`:"",right:"",bottom:"",[p]:"-4px"})}if(de.hide){let{referenceHidden:l}=de.hide;Object.assign(n.style,{visibility:l?"hidden":"visible"})}Object.assign(n.style,{left:`${Q}px`,top:`${me}px`})})}),window.addEventListener("click",m),window.addEventListener("keydown",O,!0)},n.close=function(){if(!n._x_isShown)return!1;Y(!1),n.trigger.setAttribute("aria-expanded","false"),u.component.trap&&n.setAttribute("x-trap","false"),y(),window.removeEventListener("click",m),window.removeEventListener("keydown",O,!1)},n.toggle=function(V){n._x_isShown?n.close():n.open(V)}})}var oo=Ha;function $a(e){e.store("lazyLoadedAssets",{loaded:new Set,check(a){return Array.isArray(a)?a.every(d=>this.loaded.has(d)):this.loaded.has(a)},markLoaded(a){Array.isArray(a)?a.forEach(d=>this.loaded.add(d)):this.loaded.add(a)}});let t=a=>new CustomEvent(a,{bubbles:!0,composed:!0,cancelable:!0}),r=(a,d={},f,u)=>{let y=document.createElement(a);return Object.entries(d).forEach(([m,O])=>y[m]=O),f&&(u?f.insertBefore(y,u):f.appendChild(y)),y},n=(a,d,f={},u=null,y=null)=>{let m=a==="link"?`link[href="${d}"]`:`script[src="${d}"]`;if(document.querySelector(m)||e.store("lazyLoadedAssets").check(d))return Promise.resolve();let O=a==="link"?{...f,href:d}:{...f,src:d},E=r(a,O,u,y);return new Promise((S,_)=>{E.onload=()=>{e.store("lazyLoadedAssets").markLoaded(d),S()},E.onerror=()=>{_(new Error(`Failed to load ${a}: ${d}`))}})},i=async(a,d,f=null,u=null)=>{let y={type:"text/css",rel:"stylesheet"};d&&(y.media=d);let m=document.head,O=null;if(f&&u){let E=document.querySelector(`link[href*="${u}"]`);E?(m=E.parentElement,O=f==="before"?E:E.nextSibling):(console.warn(`Target (${u}) not found for ${a}. Appending to head.`),m=document.head,O=null)}await n("link",a,y,m,O)},o=async(a,d,f=null,u=null,y=null)=>{let m=document.head,O=null;if(f&&u){let S=document.querySelector(`script[src*="${u}"]`);S?(m=S.parentElement,O=f==="before"?S:S.nextSibling):(console.warn(`Target (${u}) not found for ${a}. Falling back to head or body.`),m=document.head,O=null)}else(d.has("body-start")||d.has("body-end"))&&(m=document.body,d.has("body-start")&&(O=document.body.firstChild));let E={};y&&(E.type="module"),await n("script",a,E,m,O)};e.directive("load-css",(a,{expression:d},{evaluate:f})=>{let u=f(d),y=a.media,m=a.getAttribute("data-dispatch"),O=a.getAttribute("data-css-before")?"before":a.getAttribute("data-css-after")?"after":null,E=a.getAttribute("data-css-before")||a.getAttribute("data-css-after")||null;Promise.all(u.map(S=>i(S,y,O,E))).then(()=>{m&&window.dispatchEvent(t(`${m}-css`))}).catch(console.error)}),e.directive("load-js",(a,{expression:d,modifiers:f},{evaluate:u})=>{let y=u(d),m=new Set(f),O=a.getAttribute("data-js-before")?"before":a.getAttribute("data-js-after")?"after":null,E=a.getAttribute("data-js-before")||a.getAttribute("data-js-after")||null,S=a.getAttribute("data-js-as-module")||a.getAttribute("data-as-module")||!1,_=a.getAttribute("data-dispatch");Promise.all(y.map(I=>o(I,m,O,E,S))).then(()=>{_&&window.dispatchEvent(t(`${_}-js`))}).catch(console.error)})}var ao=$a;function Wa(){return!0}function Ua({component:e,argument:t}){return new Promise(r=>{if(t)window.addEventListener(t,()=>r(),{once:!0});else{let n=i=>{i.detail.id===e.id&&(window.removeEventListener("async-alpine:load",n),r())};window.addEventListener("async-alpine:load",n)}})}function Va(){return new Promise(e=>{"requestIdleCallback"in window?window.requestIdleCallback(e):setTimeout(e,200)})}function za({argument:e}){return new Promise(t=>{if(!e)return console.log("Async Alpine: media strategy requires a media query. Treating as 'eager'"),t();let r=window.matchMedia(`(${e})`);r.matches?t():r.addEventListener("change",t,{once:!0})})}function Ya({component:e,argument:t}){return new Promise(r=>{let n=t||"0px 0px 0px 0px",i=new IntersectionObserver(o=>{o[0].isIntersecting&&(i.disconnect(),r())},{rootMargin:n});i.observe(e.el)})}var so={eager:Wa,event:Ua,idle:Va,media:za,visible:Ya};async function Xa(e){let t=qa(e.strategy);await oi(e,t)}async function oi(e,t){if(t.type==="expression"){if(t.operator==="&&")return Promise.all(t.parameters.map(r=>oi(e,r)));if(t.operator==="||")return Promise.any(t.parameters.map(r=>oi(e,r)))}return so[t.method]?so[t.method]({component:e,argument:t.argument}):!1}function qa(e){let t=Ga(e),r=fo(t);return r.type==="method"?{type:"expression",operator:"&&",parameters:[r]}:r}function Ga(e){let t=/\s*([()])\s*|\s*(\|\||&&|\|)\s*|\s*((?:[^()&|]+\([^()]+\))|[^()&|]+)\s*/g,r=[],n;for(;(n=t.exec(e))!==null;){let[i,o,a,d]=n;if(o!==void 0)r.push({type:"parenthesis",value:o});else if(a!==void 0)r.push({type:"operator",value:a==="|"?"&&":a});else{let f={type:"method",method:d.trim()};d.includes("(")&&(f.method=d.substring(0,d.indexOf("(")).trim(),f.argument=d.substring(d.indexOf("(")+1,d.indexOf(")"))),d.method==="immediate"&&(d.method="eager"),r.push(f)}}return r}function fo(e){let t=lo(e);for(;e.length>0&&(e[0].value==="&&"||e[0].value==="|"||e[0].value==="||");){let r=e.shift().value,n=lo(e);t.type==="expression"&&t.operator===r?t.parameters.push(n):t={type:"expression",operator:r,parameters:[t,n]}}return t}function lo(e){if(e[0].value==="("){e.shift();let t=fo(e);return e[0].value===")"&&e.shift(),t}else return e.shift()}function co(e){let t="load",r=e.prefixed("load-src"),n=e.prefixed("ignore"),i={defaultStrategy:"eager",keepRelativeURLs:!1},o=!1,a={},d=0;function f(){return d++}e.asyncOptions=A=>{i={...i,...A}},e.asyncData=(A,k=!1)=>{a[A]={loaded:!1,download:k}},e.asyncUrl=(A,k)=>{!A||!k||a[A]||(a[A]={loaded:!1,download:()=>import($(k))})},e.asyncAlias=A=>{o=A};let u=A=>{e.skipDuringClone(()=>{A._x_async||(A._x_async="init",A._x_ignore=!0,A.setAttribute(n,""))})()},y=async A=>{e.skipDuringClone(async()=>{if(A._x_async!=="init")return;A._x_async="await";let{name:k,strategy:Y}=m(A);await Xa({name:k,strategy:Y,el:A,id:A.id||f()}),A.isConnected&&(await O(k),A.isConnected&&(S(A),A._x_async="loaded"))})()};y.inline=u,e.directive(t,y).before("ignore");function m(A){let k=I(A.getAttribute(e.prefixed("data"))),Y=A.getAttribute(e.prefixed(t))||i.defaultStrategy,ne=A.getAttribute(r);return ne&&e.asyncUrl(k,ne),{name:k,strategy:Y}}async function O(A){if(A.startsWith("_x_async_")||(_(A),!a[A]||a[A].loaded))return;let k=await E(A);e.data(A,k),a[A].loaded=!0}async function E(A){if(!a[A])return;let k=await a[A].download(A);return typeof k=="function"?k:k[A]||k.default||Object.values(k)[0]||!1}function S(A){e.destroyTree(A),A._x_ignore=!1,A.removeAttribute(n),!A.closest(`[${n}]`)&&e.initTree(A)}function _(A){if(!(!o||a[A])){if(typeof o=="function"){e.asyncData(A,o);return}e.asyncUrl(A,o.replaceAll("[name]",A))}}function I(A){return(A||"").split(/[({]/g)[0]||`_x_async_${f()}`}function $(A){return i.keepRelativeURLs||new RegExp("^(?:[a-z+]+:)?//","i").test(A)?A:new URL(A,document.baseURI).href}}var Xo=ea(ho(),1);function vo(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Mt(e){for(var t=1;t=0)&&(r[i]=e[i]);return r}function Qa(e,t){if(e==null)return{};var r=Ja(e,t),n,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Za="1.15.6";function Ht(e){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(e)}var Wt=Ht(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),er=Ht(/Edge/i),mo=Ht(/firefox/i),Gn=Ht(/safari/i)&&!Ht(/chrome/i)&&!Ht(/android/i),yi=Ht(/iP(ad|od|hone)/i),So=Ht(/chrome/i)&&Ht(/android/i),Ao={capture:!1,passive:!1};function Oe(e,t,r){e.addEventListener(t,r,!Wt&&Ao)}function Ee(e,t,r){e.removeEventListener(t,r,!Wt&&Ao)}function Tr(e,t){if(t){if(t[0]===">"&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch{return!1}return!1}}function Do(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function St(e,t,r,n){if(e){r=r||document;do{if(t!=null&&(t[0]===">"?e.parentNode===r&&Tr(e,t):Tr(e,t))||n&&e===r)return e;if(e===r)break}while(e=Do(e))}return null}var go=/\s+/g;function ct(e,t,r){if(e&&t)if(e.classList)e.classList[r?"add":"remove"](t);else{var n=(" "+e.className+" ").replace(go," ").replace(" "+t+" "," ");e.className=(n+(r?" "+t:"")).replace(go," ")}}function ae(e,t,r){var n=e&&e.style;if(n){if(r===void 0)return document.defaultView&&document.defaultView.getComputedStyle?r=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(r=e.currentStyle),t===void 0?r:r[t];!(t in n)&&t.indexOf("webkit")===-1&&(t="-webkit-"+t),n[t]=r+(typeof r=="string"?"":"px")}}function Fn(e,t){var r="";if(typeof e=="string")r=e;else do{var n=ae(e,"transform");n&&n!=="none"&&(r=n+" "+r)}while(!t&&(e=e.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(r)}function Co(e,t,r){if(e){var n=e.getElementsByTagName(t),i=0,o=n.length;if(r)for(;i=o:a=i<=o,!a)return n;if(n===Pt())break;n=sn(n,!1)}return!1}function Nn(e,t,r,n){for(var i=0,o=0,a=e.children;o2&&arguments[2]!==void 0?arguments[2]:{},i=n.evt,o=Qa(n,ss);tr.pluginEvent.bind(se)(t,r,Mt({dragEl:N,parentEl:Ve,ghostEl:ue,rootEl:ke,nextEl:bn,lastDownEl:Ar,cloneEl:We,cloneHidden:an,dragStarted:Yn,putSortable:Qe,activeSortable:se.active,originalEvent:i,oldIndex:Ln,oldDraggableIndex:Jn,newIndex:ut,newDraggableIndex:on,hideGhostForTarget:Fo,unhideGhostForTarget:No,cloneNowHidden:function(){an=!0},cloneNowShown:function(){an=!1},dispatchSortableEvent:function(d){it({sortable:r,name:d,originalEvent:i})}},o))};function it(e){as(Mt({putSortable:Qe,cloneEl:We,targetEl:N,rootEl:ke,oldIndex:Ln,oldDraggableIndex:Jn,newIndex:ut,newDraggableIndex:on},e))}var N,Ve,ue,ke,bn,Ar,We,an,Ln,ut,Jn,on,wr,Qe,In=!1,Pr=!1,Mr=[],mn,Ot,li,fi,wo,xo,Yn,Rn,Qn,Zn=!1,xr=!1,Dr,nt,ci=[],vi=!1,Rr=[],Lr=typeof document<"u",Er=yi,Eo=er||Wt?"cssFloat":"float",ls=Lr&&!So&&!yi&&"draggable"in document.createElement("div"),Ro=function(){if(Lr){if(Wt)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto",e.style.pointerEvents==="auto"}}(),Io=function(t,r){var n=ae(t),i=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),o=Nn(t,0,r),a=Nn(t,1,r),d=o&&ae(o),f=a&&ae(a),u=d&&parseInt(d.marginLeft)+parseInt(d.marginRight)+qe(o).width,y=f&&parseInt(f.marginLeft)+parseInt(f.marginRight)+qe(a).width;if(n.display==="flex")return n.flexDirection==="column"||n.flexDirection==="column-reverse"?"vertical":"horizontal";if(n.display==="grid")return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(o&&d.float&&d.float!=="none"){var m=d.float==="left"?"left":"right";return a&&(f.clear==="both"||f.clear===m)?"vertical":"horizontal"}return o&&(d.display==="block"||d.display==="flex"||d.display==="table"||d.display==="grid"||u>=i&&n[Eo]==="none"||a&&n[Eo]==="none"&&u+y>i)?"vertical":"horizontal"},fs=function(t,r,n){var i=n?t.left:t.top,o=n?t.right:t.bottom,a=n?t.width:t.height,d=n?r.left:r.top,f=n?r.right:r.bottom,u=n?r.width:r.height;return i===d||o===f||i+a/2===d+u/2},cs=function(t,r){var n;return Mr.some(function(i){var o=i[st].options.emptyInsertThreshold;if(!(!o||wi(i))){var a=qe(i),d=t>=a.left-o&&t<=a.right+o,f=r>=a.top-o&&r<=a.bottom+o;if(d&&f)return n=i}}),n},Lo=function(t){function r(o,a){return function(d,f,u,y){var m=d.options.group.name&&f.options.group.name&&d.options.group.name===f.options.group.name;if(o==null&&(a||m))return!0;if(o==null||o===!1)return!1;if(a&&o==="clone")return o;if(typeof o=="function")return r(o(d,f,u,y),a)(d,f,u,y);var O=(a?d:f).options.group.name;return o===!0||typeof o=="string"&&o===O||o.join&&o.indexOf(O)>-1}}var n={},i=t.group;(!i||Sr(i)!="object")&&(i={name:i}),n.name=i.name,n.checkPull=r(i.pull,!0),n.checkPut=r(i.put),n.revertClone=i.revertClone,t.group=n},Fo=function(){!Ro&&ue&&ae(ue,"display","none")},No=function(){!Ro&&ue&&ae(ue,"display","")};Lr&&!So&&document.addEventListener("click",function(e){if(Pr)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),Pr=!1,!1},!0);var gn=function(t){if(N){t=t.touches?t.touches[0]:t;var r=cs(t.clientX,t.clientY);if(r){var n={};for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);n.target=n.rootEl=r,n.preventDefault=void 0,n.stopPropagation=void 0,r[st]._onDragOver(n)}}},us=function(t){N&&N.parentNode[st]._isOutsideThisEl(t.target)};function se(e,t){if(!(e&&e.nodeType&&e.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=$t({},t),e[st]=this;var r={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Io(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(a,d){a.setData("Text",d.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:se.supportPointer!==!1&&"PointerEvent"in window&&(!Gn||yi),emptyInsertThreshold:5};tr.initializePlugins(this,e,r);for(var n in r)!(n in t)&&(t[n]=r[n]);Lo(t);for(var i in this)i.charAt(0)==="_"&&typeof this[i]=="function"&&(this[i]=this[i].bind(this));this.nativeDraggable=t.forceFallback?!1:ls,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?Oe(e,"pointerdown",this._onTapStart):(Oe(e,"mousedown",this._onTapStart),Oe(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(Oe(e,"dragover",this),Oe(e,"dragenter",this)),Mr.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),$t(this,rs())}se.prototype={constructor:se,_isOutsideThisEl:function(t){!this.el.contains(t)&&t!==this.el&&(Rn=null)},_getDirection:function(t,r){return typeof this.options.direction=="function"?this.options.direction.call(this,t,r,N):this.options.direction},_onTapStart:function(t){if(t.cancelable){var r=this,n=this.el,i=this.options,o=i.preventOnFilter,a=t.type,d=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,f=(d||t).target,u=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||f,y=i.filter;if(ys(n),!N&&!(/mousedown|pointerdown/.test(a)&&t.button!==0||i.disabled)&&!u.isContentEditable&&!(!this.nativeDraggable&&Gn&&f&&f.tagName.toUpperCase()==="SELECT")&&(f=St(f,i.draggable,n,!1),!(f&&f.animated)&&Ar!==f)){if(Ln=vt(f),Jn=vt(f,i.draggable),typeof y=="function"){if(y.call(this,t,f,this)){it({sortable:r,rootEl:u,name:"filter",targetEl:f,toEl:n,fromEl:n}),at("filter",r,{evt:t}),o&&t.preventDefault();return}}else if(y&&(y=y.split(",").some(function(m){if(m=St(u,m.trim(),n,!1),m)return it({sortable:r,rootEl:m,name:"filter",targetEl:f,fromEl:n,toEl:n}),at("filter",r,{evt:t}),!0}),y)){o&&t.preventDefault();return}i.handle&&!St(u,i.handle,n,!1)||this._prepareDragStart(t,d,f)}}},_prepareDragStart:function(t,r,n){var i=this,o=i.el,a=i.options,d=o.ownerDocument,f;if(n&&!N&&n.parentNode===o){var u=qe(n);if(ke=o,N=n,Ve=N.parentNode,bn=N.nextSibling,Ar=n,wr=a.group,se.dragged=N,mn={target:N,clientX:(r||t).clientX,clientY:(r||t).clientY},wo=mn.clientX-u.left,xo=mn.clientY-u.top,this._lastX=(r||t).clientX,this._lastY=(r||t).clientY,N.style["will-change"]="all",f=function(){if(at("delayEnded",i,{evt:t}),se.eventCanceled){i._onDrop();return}i._disableDelayedDragEvents(),!mo&&i.nativeDraggable&&(N.draggable=!0),i._triggerDragStart(t,r),it({sortable:i,name:"choose",originalEvent:t}),ct(N,a.chosenClass,!0)},a.ignore.split(",").forEach(function(y){Co(N,y.trim(),ui)}),Oe(d,"dragover",gn),Oe(d,"mousemove",gn),Oe(d,"touchmove",gn),a.supportPointer?(Oe(d,"pointerup",i._onDrop),!this.nativeDraggable&&Oe(d,"pointercancel",i._onDrop)):(Oe(d,"mouseup",i._onDrop),Oe(d,"touchend",i._onDrop),Oe(d,"touchcancel",i._onDrop)),mo&&this.nativeDraggable&&(this.options.touchStartThreshold=4,N.draggable=!0),at("delayStart",this,{evt:t}),a.delay&&(!a.delayOnTouchOnly||r)&&(!this.nativeDraggable||!(er||Wt))){if(se.eventCanceled){this._onDrop();return}a.supportPointer?(Oe(d,"pointerup",i._disableDelayedDrag),Oe(d,"pointercancel",i._disableDelayedDrag)):(Oe(d,"mouseup",i._disableDelayedDrag),Oe(d,"touchend",i._disableDelayedDrag),Oe(d,"touchcancel",i._disableDelayedDrag)),Oe(d,"mousemove",i._delayedDragTouchMoveHandler),Oe(d,"touchmove",i._delayedDragTouchMoveHandler),a.supportPointer&&Oe(d,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(f,a.delay)}else f()}},_delayedDragTouchMoveHandler:function(t){var r=t.touches?t.touches[0]:t;Math.max(Math.abs(r.clientX-this._lastX),Math.abs(r.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){N&&ui(N),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;Ee(t,"mouseup",this._disableDelayedDrag),Ee(t,"touchend",this._disableDelayedDrag),Ee(t,"touchcancel",this._disableDelayedDrag),Ee(t,"pointerup",this._disableDelayedDrag),Ee(t,"pointercancel",this._disableDelayedDrag),Ee(t,"mousemove",this._delayedDragTouchMoveHandler),Ee(t,"touchmove",this._delayedDragTouchMoveHandler),Ee(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,r){r=r||t.pointerType=="touch"&&t,!this.nativeDraggable||r?this.options.supportPointer?Oe(document,"pointermove",this._onTouchMove):r?Oe(document,"touchmove",this._onTouchMove):Oe(document,"mousemove",this._onTouchMove):(Oe(N,"dragend",this),Oe(ke,"dragstart",this._onDragStart));try{document.selection?Cr(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,r){if(In=!1,ke&&N){at("dragStarted",this,{evt:r}),this.nativeDraggable&&Oe(document,"dragover",us);var n=this.options;!t&&ct(N,n.dragClass,!1),ct(N,n.ghostClass,!0),se.active=this,t&&this._appendGhost(),it({sortable:this,name:"start",originalEvent:r})}else this._nulling()},_emulateDragOver:function(){if(Ot){this._lastX=Ot.clientX,this._lastY=Ot.clientY,Fo();for(var t=document.elementFromPoint(Ot.clientX,Ot.clientY),r=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(Ot.clientX,Ot.clientY),t!==r);)r=t;if(N.parentNode[st]._isOutsideThisEl(t),r)do{if(r[st]){var n=void 0;if(n=r[st]._onDragOver({clientX:Ot.clientX,clientY:Ot.clientY,target:t,rootEl:r}),n&&!this.options.dragoverBubble)break}t=r}while(r=Do(r));No()}},_onTouchMove:function(t){if(mn){var r=this.options,n=r.fallbackTolerance,i=r.fallbackOffset,o=t.touches?t.touches[0]:t,a=ue&&Fn(ue,!0),d=ue&&a&&a.a,f=ue&&a&&a.d,u=Er&&nt&&yo(nt),y=(o.clientX-mn.clientX+i.x)/(d||1)+(u?u[0]-ci[0]:0)/(d||1),m=(o.clientY-mn.clientY+i.y)/(f||1)+(u?u[1]-ci[1]:0)/(f||1);if(!se.active&&!In){if(n&&Math.max(Math.abs(o.clientX-this._lastX),Math.abs(o.clientY-this._lastY))=0&&(it({rootEl:Ve,name:"add",toEl:Ve,fromEl:ke,originalEvent:t}),it({sortable:this,name:"remove",toEl:Ve,originalEvent:t}),it({rootEl:Ve,name:"sort",toEl:Ve,fromEl:ke,originalEvent:t}),it({sortable:this,name:"sort",toEl:Ve,originalEvent:t})),Qe&&Qe.save()):ut!==Ln&&ut>=0&&(it({sortable:this,name:"update",toEl:Ve,originalEvent:t}),it({sortable:this,name:"sort",toEl:Ve,originalEvent:t})),se.active&&((ut==null||ut===-1)&&(ut=Ln,on=Jn),it({sortable:this,name:"end",toEl:Ve,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){at("nulling",this),ke=N=Ve=ue=bn=We=Ar=an=mn=Ot=Yn=ut=on=Ln=Jn=Rn=Qn=Qe=wr=se.dragged=se.ghost=se.clone=se.active=null,Rr.forEach(function(t){t.checked=!0}),Rr.length=li=fi=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":N&&(this._onDragOver(t),ds(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t=[],r,n=this.el.children,i=0,o=n.length,a=this.options;ii.right+o||e.clientY>n.bottom&&e.clientX>n.left:e.clientY>i.bottom+o||e.clientX>n.right&&e.clientY>n.top}function ms(e,t,r,n,i,o,a,d){var f=n?e.clientY:e.clientX,u=n?r.height:r.width,y=n?r.top:r.left,m=n?r.bottom:r.right,O=!1;if(!a){if(d&&Dry+u*o/2:fm-Dr)return-Qn}else if(f>y+u*(1-i)/2&&fm-u*o/2)?f>y+u/2?1:-1:0}function gs(e){return vt(N){e.directive("sortable",t=>{let r=parseInt(t.dataset?.sortableAnimationDuration);r!==0&&!r&&(r=300),t.sortable=Oi.create(t,{group:t.getAttribute("x-sortable-group"),draggable:"[x-sortable-item]",handle:"[x-sortable-handle]",dataIdAttr:"x-sortable-item",animation:r,ghostClass:"fi-sortable-ghost",onEnd(n){let{item:i,to:o,oldDraggableIndex:a,newDraggableIndex:d}=n;if(a===d)return;let f=this.options.draggable,u=o.querySelectorAll(`:scope > ${f}`)[d-1];u&&o.insertBefore(i,u.nextSibling)}})})};var xs=Object.create,Di=Object.defineProperty,Es=Object.getPrototypeOf,Os=Object.prototype.hasOwnProperty,Ss=Object.getOwnPropertyNames,As=Object.getOwnPropertyDescriptor,Ds=e=>Di(e,"__esModule",{value:!0}),Bo=(e,t)=>()=>(t||(t={exports:{}},e(t.exports,t)),t.exports),Cs=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ss(t))!Os.call(e,n)&&n!=="default"&&Di(e,n,{get:()=>t[n],enumerable:!(r=As(t,n))||r.enumerable});return e},Ho=e=>Cs(Ds(Di(e!=null?xs(Es(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e),_s=Bo(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});function t(c){var s=c.getBoundingClientRect();return{width:s.width,height:s.height,top:s.top,right:s.right,bottom:s.bottom,left:s.left,x:s.left,y:s.top}}function r(c){if(c==null)return window;if(c.toString()!=="[object Window]"){var s=c.ownerDocument;return s&&s.defaultView||window}return c}function n(c){var s=r(c),b=s.pageXOffset,T=s.pageYOffset;return{scrollLeft:b,scrollTop:T}}function i(c){var s=r(c).Element;return c instanceof s||c instanceof Element}function o(c){var s=r(c).HTMLElement;return c instanceof s||c instanceof HTMLElement}function a(c){if(typeof ShadowRoot>"u")return!1;var s=r(c).ShadowRoot;return c instanceof s||c instanceof ShadowRoot}function d(c){return{scrollLeft:c.scrollLeft,scrollTop:c.scrollTop}}function f(c){return c===r(c)||!o(c)?n(c):d(c)}function u(c){return c?(c.nodeName||"").toLowerCase():null}function y(c){return((i(c)?c.ownerDocument:c.document)||window.document).documentElement}function m(c){return t(y(c)).left+n(c).scrollLeft}function O(c){return r(c).getComputedStyle(c)}function E(c){var s=O(c),b=s.overflow,T=s.overflowX,P=s.overflowY;return/auto|scroll|overlay|hidden/.test(b+P+T)}function S(c,s,b){b===void 0&&(b=!1);var T=y(s),P=t(c),F=o(s),U={scrollLeft:0,scrollTop:0},H={x:0,y:0};return(F||!F&&!b)&&((u(s)!=="body"||E(T))&&(U=f(s)),o(s)?(H=t(s),H.x+=s.clientLeft,H.y+=s.clientTop):T&&(H.x=m(T))),{x:P.left+U.scrollLeft-H.x,y:P.top+U.scrollTop-H.y,width:P.width,height:P.height}}function _(c){var s=t(c),b=c.offsetWidth,T=c.offsetHeight;return Math.abs(s.width-b)<=1&&(b=s.width),Math.abs(s.height-T)<=1&&(T=s.height),{x:c.offsetLeft,y:c.offsetTop,width:b,height:T}}function I(c){return u(c)==="html"?c:c.assignedSlot||c.parentNode||(a(c)?c.host:null)||y(c)}function $(c){return["html","body","#document"].indexOf(u(c))>=0?c.ownerDocument.body:o(c)&&E(c)?c:$(I(c))}function A(c,s){var b;s===void 0&&(s=[]);var T=$(c),P=T===((b=c.ownerDocument)==null?void 0:b.body),F=r(T),U=P?[F].concat(F.visualViewport||[],E(T)?T:[]):T,H=s.concat(U);return P?H:H.concat(A(I(U)))}function k(c){return["table","td","th"].indexOf(u(c))>=0}function Y(c){return!o(c)||O(c).position==="fixed"?null:c.offsetParent}function ne(c){var s=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,b=navigator.userAgent.indexOf("Trident")!==-1;if(b&&o(c)){var T=O(c);if(T.position==="fixed")return null}for(var P=I(c);o(P)&&["html","body"].indexOf(u(P))<0;){var F=O(P);if(F.transform!=="none"||F.perspective!=="none"||F.contain==="paint"||["transform","perspective"].indexOf(F.willChange)!==-1||s&&F.willChange==="filter"||s&&F.filter&&F.filter!=="none")return P;P=P.parentNode}return null}function J(c){for(var s=r(c),b=Y(c);b&&k(b)&&O(b).position==="static";)b=Y(b);return b&&(u(b)==="html"||u(b)==="body"&&O(b).position==="static")?s:b||ne(c)||s}var V="top",de="bottom",X="right",Q="left",me="auto",l=[V,de,X,Q],h="start",v="end",p="clippingParents",j="viewport",M="popper",R="reference",Z=l.reduce(function(c,s){return c.concat([s+"-"+h,s+"-"+v])},[]),ze=[].concat(l,[me]).reduce(function(c,s){return c.concat([s,s+"-"+h,s+"-"+v])},[]),Rt="beforeRead",Ut="read",Fr="afterRead",Nr="beforeMain",kr="main",Vt="afterMain",nr="beforeWrite",jr="write",rr="afterWrite",It=[Rt,Ut,Fr,Nr,kr,Vt,nr,jr,rr];function Br(c){var s=new Map,b=new Set,T=[];c.forEach(function(F){s.set(F.name,F)});function P(F){b.add(F.name);var U=[].concat(F.requires||[],F.requiresIfExists||[]);U.forEach(function(H){if(!b.has(H)){var G=s.get(H);G&&P(G)}}),T.push(F)}return c.forEach(function(F){b.has(F.name)||P(F)}),T}function mt(c){var s=Br(c);return It.reduce(function(b,T){return b.concat(s.filter(function(P){return P.phase===T}))},[])}function zt(c){var s;return function(){return s||(s=new Promise(function(b){Promise.resolve().then(function(){s=void 0,b(c())})})),s}}function At(c){for(var s=arguments.length,b=new Array(s>1?s-1:0),T=1;T=0,T=b&&o(c)?J(c):c;return i(T)?s.filter(function(P){return i(P)&&kn(P,T)&&u(P)!=="body"}):[]}function wn(c,s,b){var T=s==="clippingParents"?yn(c):[].concat(s),P=[].concat(T,[b]),F=P[0],U=P.reduce(function(H,G){var oe=sr(c,G);return H.top=gt(oe.top,H.top),H.right=ln(oe.right,H.right),H.bottom=ln(oe.bottom,H.bottom),H.left=gt(oe.left,H.left),H},sr(c,F));return U.width=U.right-U.left,U.height=U.bottom-U.top,U.x=U.left,U.y=U.top,U}function fn(c){return c.split("-")[1]}function dt(c){return["top","bottom"].indexOf(c)>=0?"x":"y"}function lr(c){var s=c.reference,b=c.element,T=c.placement,P=T?ot(T):null,F=T?fn(T):null,U=s.x+s.width/2-b.width/2,H=s.y+s.height/2-b.height/2,G;switch(P){case V:G={x:U,y:s.y-b.height};break;case de:G={x:U,y:s.y+s.height};break;case X:G={x:s.x+s.width,y:H};break;case Q:G={x:s.x-b.width,y:H};break;default:G={x:s.x,y:s.y}}var oe=P?dt(P):null;if(oe!=null){var z=oe==="y"?"height":"width";switch(F){case h:G[oe]=G[oe]-(s[z]/2-b[z]/2);break;case v:G[oe]=G[oe]+(s[z]/2-b[z]/2);break}}return G}function fr(){return{top:0,right:0,bottom:0,left:0}}function cr(c){return Object.assign({},fr(),c)}function ur(c,s){return s.reduce(function(b,T){return b[T]=c,b},{})}function qt(c,s){s===void 0&&(s={});var b=s,T=b.placement,P=T===void 0?c.placement:T,F=b.boundary,U=F===void 0?p:F,H=b.rootBoundary,G=H===void 0?j:H,oe=b.elementContext,z=oe===void 0?M:oe,Ce=b.altBoundary,Fe=Ce===void 0?!1:Ce,De=b.padding,xe=De===void 0?0:De,Me=cr(typeof xe!="number"?xe:ur(xe,l)),Se=z===M?R:M,Be=c.elements.reference,Re=c.rects.popper,He=c.elements[Fe?Se:z],fe=wn(i(He)?He:He.contextElement||y(c.elements.popper),U,G),Pe=t(Be),_e=lr({reference:Pe,element:Re,strategy:"absolute",placement:P}),Ne=Xt(Object.assign({},Re,_e)),Le=z===M?Ne:Pe,Ye={top:fe.top-Le.top+Me.top,bottom:Le.bottom-fe.bottom+Me.bottom,left:fe.left-Le.left+Me.left,right:Le.right-fe.right+Me.right},$e=c.modifiersData.offset;if(z===M&&$e){var Ue=$e[P];Object.keys(Ye).forEach(function(wt){var et=[X,de].indexOf(wt)>=0?1:-1,Ft=[V,de].indexOf(wt)>=0?"y":"x";Ye[wt]+=Ue[Ft]*et})}return Ye}var dr="Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.",Vr="Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.",xn={placement:"bottom",modifiers:[],strategy:"absolute"};function cn(){for(var c=arguments.length,s=new Array(c),b=0;b100){console.error(Vr);break}if(z.reset===!0){z.reset=!1,Pe=-1;continue}var _e=z.orderedModifiers[Pe],Ne=_e.fn,Le=_e.options,Ye=Le===void 0?{}:Le,$e=_e.name;typeof Ne=="function"&&(z=Ne({state:z,options:Ye,name:$e,instance:De})||z)}}},update:zt(function(){return new Promise(function(Se){De.forceUpdate(),Se(z)})}),destroy:function(){Me(),Fe=!0}};if(!cn(H,G))return console.error(dr),De;De.setOptions(oe).then(function(Se){!Fe&&oe.onFirstUpdate&&oe.onFirstUpdate(Se)});function xe(){z.orderedModifiers.forEach(function(Se){var Be=Se.name,Re=Se.options,He=Re===void 0?{}:Re,fe=Se.effect;if(typeof fe=="function"){var Pe=fe({state:z,name:Be,instance:De,options:He}),_e=function(){};Ce.push(Pe||_e)}})}function Me(){Ce.forEach(function(Se){return Se()}),Ce=[]}return De}}var On={passive:!0};function zr(c){var s=c.state,b=c.instance,T=c.options,P=T.scroll,F=P===void 0?!0:P,U=T.resize,H=U===void 0?!0:U,G=r(s.elements.popper),oe=[].concat(s.scrollParents.reference,s.scrollParents.popper);return F&&oe.forEach(function(z){z.addEventListener("scroll",b.update,On)}),H&&G.addEventListener("resize",b.update,On),function(){F&&oe.forEach(function(z){z.removeEventListener("scroll",b.update,On)}),H&&G.removeEventListener("resize",b.update,On)}}var jn={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:zr,data:{}};function Yr(c){var s=c.state,b=c.name;s.modifiersData[b]=lr({reference:s.rects.reference,element:s.rects.popper,strategy:"absolute",placement:s.placement})}var Bn={name:"popperOffsets",enabled:!0,phase:"read",fn:Yr,data:{}},Xr={top:"auto",right:"auto",bottom:"auto",left:"auto"};function qr(c){var s=c.x,b=c.y,T=window,P=T.devicePixelRatio||1;return{x:Yt(Yt(s*P)/P)||0,y:Yt(Yt(b*P)/P)||0}}function Hn(c){var s,b=c.popper,T=c.popperRect,P=c.placement,F=c.offsets,U=c.position,H=c.gpuAcceleration,G=c.adaptive,oe=c.roundOffsets,z=oe===!0?qr(F):typeof oe=="function"?oe(F):F,Ce=z.x,Fe=Ce===void 0?0:Ce,De=z.y,xe=De===void 0?0:De,Me=F.hasOwnProperty("x"),Se=F.hasOwnProperty("y"),Be=Q,Re=V,He=window;if(G){var fe=J(b),Pe="clientHeight",_e="clientWidth";fe===r(b)&&(fe=y(b),O(fe).position!=="static"&&(Pe="scrollHeight",_e="scrollWidth")),fe=fe,P===V&&(Re=de,xe-=fe[Pe]-T.height,xe*=H?1:-1),P===Q&&(Be=X,Fe-=fe[_e]-T.width,Fe*=H?1:-1)}var Ne=Object.assign({position:U},G&&Xr);if(H){var Le;return Object.assign({},Ne,(Le={},Le[Re]=Se?"0":"",Le[Be]=Me?"0":"",Le.transform=(He.devicePixelRatio||1)<2?"translate("+Fe+"px, "+xe+"px)":"translate3d("+Fe+"px, "+xe+"px, 0)",Le))}return Object.assign({},Ne,(s={},s[Re]=Se?xe+"px":"",s[Be]=Me?Fe+"px":"",s.transform="",s))}function g(c){var s=c.state,b=c.options,T=b.gpuAcceleration,P=T===void 0?!0:T,F=b.adaptive,U=F===void 0?!0:F,H=b.roundOffsets,G=H===void 0?!0:H,oe=O(s.elements.popper).transitionProperty||"";U&&["transform","top","right","bottom","left"].some(function(Ce){return oe.indexOf(Ce)>=0})&&console.warn(["Popper: Detected CSS transitions on at least one of the following",'CSS properties: "transform", "top", "right", "bottom", "left".',` + +`,'Disable the "computeStyles" modifier\'s `adaptive` option to allow',"for smooth transitions, or remove these properties from the CSS","transition declaration on the popper element if only transitioning","opacity or background-color for example.",` + +`,"We recommend using the popper element as a wrapper around an inner","element that can have any CSS property transitioned for animations."].join(" "));var z={placement:ot(s.placement),popper:s.elements.popper,popperRect:s.rects.popper,gpuAcceleration:P};s.modifiersData.popperOffsets!=null&&(s.styles.popper=Object.assign({},s.styles.popper,Hn(Object.assign({},z,{offsets:s.modifiersData.popperOffsets,position:s.options.strategy,adaptive:U,roundOffsets:G})))),s.modifiersData.arrow!=null&&(s.styles.arrow=Object.assign({},s.styles.arrow,Hn(Object.assign({},z,{offsets:s.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:G})))),s.attributes.popper=Object.assign({},s.attributes.popper,{"data-popper-placement":s.placement})}var w={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:g,data:{}};function D(c){var s=c.state;Object.keys(s.elements).forEach(function(b){var T=s.styles[b]||{},P=s.attributes[b]||{},F=s.elements[b];!o(F)||!u(F)||(Object.assign(F.style,T),Object.keys(P).forEach(function(U){var H=P[U];H===!1?F.removeAttribute(U):F.setAttribute(U,H===!0?"":H)}))})}function L(c){var s=c.state,b={popper:{position:s.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(s.elements.popper.style,b.popper),s.styles=b,s.elements.arrow&&Object.assign(s.elements.arrow.style,b.arrow),function(){Object.keys(s.elements).forEach(function(T){var P=s.elements[T],F=s.attributes[T]||{},U=Object.keys(s.styles.hasOwnProperty(T)?s.styles[T]:b[T]),H=U.reduce(function(G,oe){return G[oe]="",G},{});!o(P)||!u(P)||(Object.assign(P.style,H),Object.keys(F).forEach(function(G){P.removeAttribute(G)}))})}}var q={name:"applyStyles",enabled:!0,phase:"write",fn:D,effect:L,requires:["computeStyles"]};function W(c,s,b){var T=ot(c),P=[Q,V].indexOf(T)>=0?-1:1,F=typeof b=="function"?b(Object.assign({},s,{placement:c})):b,U=F[0],H=F[1];return U=U||0,H=(H||0)*P,[Q,X].indexOf(T)>=0?{x:H,y:U}:{x:U,y:H}}function B(c){var s=c.state,b=c.options,T=c.name,P=b.offset,F=P===void 0?[0,0]:P,U=ze.reduce(function(z,Ce){return z[Ce]=W(Ce,s.rects,F),z},{}),H=U[s.placement],G=H.x,oe=H.y;s.modifiersData.popperOffsets!=null&&(s.modifiersData.popperOffsets.x+=G,s.modifiersData.popperOffsets.y+=oe),s.modifiersData[T]=U}var be={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:B},le={left:"right",right:"left",bottom:"top",top:"bottom"};function pe(c){return c.replace(/left|right|bottom|top/g,function(s){return le[s]})}var ye={start:"end",end:"start"};function Te(c){return c.replace(/start|end/g,function(s){return ye[s]})}function je(c,s){s===void 0&&(s={});var b=s,T=b.placement,P=b.boundary,F=b.rootBoundary,U=b.padding,H=b.flipVariations,G=b.allowedAutoPlacements,oe=G===void 0?ze:G,z=fn(T),Ce=z?H?Z:Z.filter(function(xe){return fn(xe)===z}):l,Fe=Ce.filter(function(xe){return oe.indexOf(xe)>=0});Fe.length===0&&(Fe=Ce,console.error(["Popper: The `allowedAutoPlacements` option did not allow any","placements. Ensure the `placement` option matches the variation","of the allowed placements.",'For example, "auto" cannot be used to allow "bottom-start".','Use "auto-start" instead.'].join(" ")));var De=Fe.reduce(function(xe,Me){return xe[Me]=qt(c,{placement:Me,boundary:P,rootBoundary:F,padding:U})[ot(Me)],xe},{});return Object.keys(De).sort(function(xe,Me){return De[xe]-De[Me]})}function Ae(c){if(ot(c)===me)return[];var s=pe(c);return[Te(c),s,Te(s)]}function Ie(c){var s=c.state,b=c.options,T=c.name;if(!s.modifiersData[T]._skip){for(var P=b.mainAxis,F=P===void 0?!0:P,U=b.altAxis,H=U===void 0?!0:U,G=b.fallbackPlacements,oe=b.padding,z=b.boundary,Ce=b.rootBoundary,Fe=b.altBoundary,De=b.flipVariations,xe=De===void 0?!0:De,Me=b.allowedAutoPlacements,Se=s.options.placement,Be=ot(Se),Re=Be===Se,He=G||(Re||!xe?[pe(Se)]:Ae(Se)),fe=[Se].concat(He).reduce(function(te,ge){return te.concat(ot(ge)===me?je(s,{placement:ge,boundary:z,rootBoundary:Ce,padding:oe,flipVariations:xe,allowedAutoPlacements:Me}):ge)},[]),Pe=s.rects.reference,_e=s.rects.popper,Ne=new Map,Le=!0,Ye=fe[0],$e=0;$e=0,dn=Ft?"width":"height",Qt=qt(s,{placement:Ue,boundary:z,rootBoundary:Ce,altBoundary:Fe,padding:oe}),Nt=Ft?et?X:Q:et?de:V;Pe[dn]>_e[dn]&&(Nt=pe(Nt));var $n=pe(Nt),Zt=[];if(F&&Zt.push(Qt[wt]<=0),H&&Zt.push(Qt[Nt]<=0,Qt[$n]<=0),Zt.every(function(te){return te})){Ye=Ue,Le=!1;break}Ne.set(Ue,Zt)}if(Le)for(var Sn=xe?3:1,Wn=function(ge){var we=fe.find(function(Ke){var Je=Ne.get(Ke);if(Je)return Je.slice(0,ge).every(function(Ct){return Ct})});if(we)return Ye=we,"break"},C=Sn;C>0;C--){var K=Wn(C);if(K==="break")break}s.placement!==Ye&&(s.modifiersData[T]._skip=!0,s.placement=Ye,s.reset=!0)}}var re={name:"flip",enabled:!0,phase:"main",fn:Ie,requiresIfExists:["offset"],data:{_skip:!1}};function he(c){return c==="x"?"y":"x"}function ve(c,s,b){return gt(c,ln(s,b))}function ee(c){var s=c.state,b=c.options,T=c.name,P=b.mainAxis,F=P===void 0?!0:P,U=b.altAxis,H=U===void 0?!1:U,G=b.boundary,oe=b.rootBoundary,z=b.altBoundary,Ce=b.padding,Fe=b.tether,De=Fe===void 0?!0:Fe,xe=b.tetherOffset,Me=xe===void 0?0:xe,Se=qt(s,{boundary:G,rootBoundary:oe,padding:Ce,altBoundary:z}),Be=ot(s.placement),Re=fn(s.placement),He=!Re,fe=dt(Be),Pe=he(fe),_e=s.modifiersData.popperOffsets,Ne=s.rects.reference,Le=s.rects.popper,Ye=typeof Me=="function"?Me(Object.assign({},s.rects,{placement:s.placement})):Me,$e={x:0,y:0};if(_e){if(F||H){var Ue=fe==="y"?V:Q,wt=fe==="y"?de:X,et=fe==="y"?"height":"width",Ft=_e[fe],dn=_e[fe]+Se[Ue],Qt=_e[fe]-Se[wt],Nt=De?-Le[et]/2:0,$n=Re===h?Ne[et]:Le[et],Zt=Re===h?-Le[et]:-Ne[et],Sn=s.elements.arrow,Wn=De&&Sn?_(Sn):{width:0,height:0},C=s.modifiersData["arrow#persistent"]?s.modifiersData["arrow#persistent"].padding:fr(),K=C[Ue],te=C[wt],ge=ve(0,Ne[et],Wn[et]),we=He?Ne[et]/2-Nt-ge-K-Ye:$n-ge-K-Ye,Ke=He?-Ne[et]/2+Nt+ge+te+Ye:Zt+ge+te+Ye,Je=s.elements.arrow&&J(s.elements.arrow),Ct=Je?fe==="y"?Je.clientTop||0:Je.clientLeft||0:0,Un=s.modifiersData.offset?s.modifiersData.offset[s.placement][fe]:0,_t=_e[fe]+we-Un-Ct,An=_e[fe]+Ke-Un;if(F){var pn=ve(De?ln(dn,_t):dn,Ft,De?gt(Qt,An):Qt);_e[fe]=pn,$e[fe]=pn-Ft}if(H){var en=fe==="x"?V:Q,Gr=fe==="x"?de:X,tn=_e[Pe],hn=tn+Se[en],Ci=tn-Se[Gr],_i=ve(De?ln(hn,_t):hn,tn,De?gt(Ci,An):Ci);_e[Pe]=_i,$e[Pe]=_i-tn}}s.modifiersData[T]=$e}}var ie={name:"preventOverflow",enabled:!0,phase:"main",fn:ee,requiresIfExists:["offset"]},x=function(s,b){return s=typeof s=="function"?s(Object.assign({},b.rects,{placement:b.placement})):s,cr(typeof s!="number"?s:ur(s,l))};function Ge(c){var s,b=c.state,T=c.name,P=c.options,F=b.elements.arrow,U=b.modifiersData.popperOffsets,H=ot(b.placement),G=dt(H),oe=[Q,X].indexOf(H)>=0,z=oe?"height":"width";if(!(!F||!U)){var Ce=x(P.padding,b),Fe=_(F),De=G==="y"?V:Q,xe=G==="y"?de:X,Me=b.rects.reference[z]+b.rects.reference[G]-U[G]-b.rects.popper[z],Se=U[G]-b.rects.reference[G],Be=J(F),Re=Be?G==="y"?Be.clientHeight||0:Be.clientWidth||0:0,He=Me/2-Se/2,fe=Ce[De],Pe=Re-Fe[z]-Ce[xe],_e=Re/2-Fe[z]/2+He,Ne=ve(fe,_e,Pe),Le=G;b.modifiersData[T]=(s={},s[Le]=Ne,s.centerOffset=Ne-_e,s)}}function ce(c){var s=c.state,b=c.options,T=b.element,P=T===void 0?"[data-popper-arrow]":T;if(P!=null&&!(typeof P=="string"&&(P=s.elements.popper.querySelector(P),!P))){if(o(P)||console.error(['Popper: "arrow" element must be an HTMLElement (not an SVGElement).',"To use an SVG arrow, wrap it in an HTMLElement that will be used as","the arrow."].join(" ")),!kn(s.elements.popper,P)){console.error(['Popper: "arrow" modifier\'s `element` must be a child of the popper',"element."].join(" "));return}s.elements.arrow=P}}var Lt={name:"arrow",enabled:!0,phase:"main",fn:Ge,effect:ce,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function bt(c,s,b){return b===void 0&&(b={x:0,y:0}),{top:c.top-s.height-b.y,right:c.right-s.width+b.x,bottom:c.bottom-s.height+b.y,left:c.left-s.width-b.x}}function Gt(c){return[V,X,de,Q].some(function(s){return c[s]>=0})}function Kt(c){var s=c.state,b=c.name,T=s.rects.reference,P=s.rects.popper,F=s.modifiersData.preventOverflow,U=qt(s,{elementContext:"reference"}),H=qt(s,{altBoundary:!0}),G=bt(U,T),oe=bt(H,P,F),z=Gt(G),Ce=Gt(oe);s.modifiersData[b]={referenceClippingOffsets:G,popperEscapeOffsets:oe,isReferenceHidden:z,hasPopperEscaped:Ce},s.attributes.popper=Object.assign({},s.attributes.popper,{"data-popper-reference-hidden":z,"data-popper-escaped":Ce})}var Jt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Kt},rt=[jn,Bn,w,q],lt=En({defaultModifiers:rt}),yt=[jn,Bn,w,q,be,re,ie,Lt,Jt],un=En({defaultModifiers:yt});e.applyStyles=q,e.arrow=Lt,e.computeStyles=w,e.createPopper=un,e.createPopperLite=lt,e.defaultModifiers=yt,e.detectOverflow=qt,e.eventListeners=jn,e.flip=re,e.hide=Jt,e.offset=be,e.popperGenerator=En,e.popperOffsets=Bn,e.preventOverflow=ie}),$o=Bo(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=_s(),r='',n="tippy-box",i="tippy-content",o="tippy-backdrop",a="tippy-arrow",d="tippy-svg-arrow",f={passive:!0,capture:!0};function u(g,w){return{}.hasOwnProperty.call(g,w)}function y(g,w,D){if(Array.isArray(g)){var L=g[w];return L??(Array.isArray(D)?D[w]:D)}return g}function m(g,w){var D={}.toString.call(g);return D.indexOf("[object")===0&&D.indexOf(w+"]")>-1}function O(g,w){return typeof g=="function"?g.apply(void 0,w):g}function E(g,w){if(w===0)return g;var D;return function(L){clearTimeout(D),D=setTimeout(function(){g(L)},w)}}function S(g,w){var D=Object.assign({},g);return w.forEach(function(L){delete D[L]}),D}function _(g){return g.split(/\s+/).filter(Boolean)}function I(g){return[].concat(g)}function $(g,w){g.indexOf(w)===-1&&g.push(w)}function A(g){return g.filter(function(w,D){return g.indexOf(w)===D})}function k(g){return g.split("-")[0]}function Y(g){return[].slice.call(g)}function ne(g){return Object.keys(g).reduce(function(w,D){return g[D]!==void 0&&(w[D]=g[D]),w},{})}function J(){return document.createElement("div")}function V(g){return["Element","Fragment"].some(function(w){return m(g,w)})}function de(g){return m(g,"NodeList")}function X(g){return m(g,"MouseEvent")}function Q(g){return!!(g&&g._tippy&&g._tippy.reference===g)}function me(g){return V(g)?[g]:de(g)?Y(g):Array.isArray(g)?g:Y(document.querySelectorAll(g))}function l(g,w){g.forEach(function(D){D&&(D.style.transitionDuration=w+"ms")})}function h(g,w){g.forEach(function(D){D&&D.setAttribute("data-state",w)})}function v(g){var w,D=I(g),L=D[0];return!(L==null||(w=L.ownerDocument)==null)&&w.body?L.ownerDocument:document}function p(g,w){var D=w.clientX,L=w.clientY;return g.every(function(q){var W=q.popperRect,B=q.popperState,be=q.props,le=be.interactiveBorder,pe=k(B.placement),ye=B.modifiersData.offset;if(!ye)return!0;var Te=pe==="bottom"?ye.top.y:0,je=pe==="top"?ye.bottom.y:0,Ae=pe==="right"?ye.left.x:0,Ie=pe==="left"?ye.right.x:0,re=W.top-L+Te>le,he=L-W.bottom-je>le,ve=W.left-D+Ae>le,ee=D-W.right-Ie>le;return re||he||ve||ee})}function j(g,w,D){var L=w+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(q){g[L](q,D)})}var M={isTouch:!1},R=0;function Z(){M.isTouch||(M.isTouch=!0,window.performance&&document.addEventListener("mousemove",ze))}function ze(){var g=performance.now();g-R<20&&(M.isTouch=!1,document.removeEventListener("mousemove",ze)),R=g}function Rt(){var g=document.activeElement;if(Q(g)){var w=g._tippy;g.blur&&!w.state.isVisible&&g.blur()}}function Ut(){document.addEventListener("touchstart",Z,f),window.addEventListener("blur",Rt)}var Fr=typeof window<"u"&&typeof document<"u",Nr=Fr?navigator.userAgent:"",kr=/MSIE |Trident\//.test(Nr);function Vt(g){var w=g==="destroy"?"n already-":" ";return[g+"() was called on a"+w+"destroyed instance. This is a no-op but","indicates a potential memory leak."].join(" ")}function nr(g){var w=/[ \t]{2,}/g,D=/^[ \t]*/gm;return g.replace(w," ").replace(D,"").trim()}function jr(g){return nr(` + %ctippy.js + + %c`+nr(g)+` + + %c\u{1F477}\u200D This is a development-only message. It will be removed in production. + `)}function rr(g){return[jr(g),"color: #00C584; font-size: 1.3em; font-weight: bold;","line-height: 1.5","color: #a6a095;"]}var It;Br();function Br(){It=new Set}function mt(g,w){if(g&&!It.has(w)){var D;It.add(w),(D=console).warn.apply(D,rr(w))}}function zt(g,w){if(g&&!It.has(w)){var D;It.add(w),(D=console).error.apply(D,rr(w))}}function At(g){var w=!g,D=Object.prototype.toString.call(g)==="[object Object]"&&!g.addEventListener;zt(w,["tippy() was passed","`"+String(g)+"`","as its targets (first) argument. Valid types are: String, Element,","Element[], or NodeList."].join(" ")),zt(D,["tippy() was passed a plain object which is not supported as an argument","for virtual positioning. Use props.getReferenceClientRect instead."].join(" "))}var Dt={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},Hr={allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999},Ze=Object.assign({appendTo:function(){return document.body},aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},Dt,{},Hr),$r=Object.keys(Ze),Wr=function(w){gt(w,[]);var D=Object.keys(w);D.forEach(function(L){Ze[L]=w[L]})};function ot(g){var w=g.plugins||[],D=w.reduce(function(L,q){var W=q.name,B=q.defaultValue;return W&&(L[W]=g[W]!==void 0?g[W]:B),L},{});return Object.assign({},g,{},D)}function Ur(g,w){var D=w?Object.keys(ot(Object.assign({},Ze,{plugins:w}))):$r,L=D.reduce(function(q,W){var B=(g.getAttribute("data-tippy-"+W)||"").trim();if(!B)return q;if(W==="content")q[W]=B;else try{q[W]=JSON.parse(B)}catch{q[W]=B}return q},{});return L}function ir(g,w){var D=Object.assign({},w,{content:O(w.content,[g])},w.ignoreAttributes?{}:Ur(g,w.plugins));return D.aria=Object.assign({},Ze.aria,{},D.aria),D.aria={expanded:D.aria.expanded==="auto"?w.interactive:D.aria.expanded,content:D.aria.content==="auto"?w.interactive?null:"describedby":D.aria.content},D}function gt(g,w){g===void 0&&(g={}),w===void 0&&(w=[]);var D=Object.keys(g);D.forEach(function(L){var q=S(Ze,Object.keys(Dt)),W=!u(q,L);W&&(W=w.filter(function(B){return B.name===L}).length===0),mt(W,["`"+L+"`","is not a valid prop. You may have spelled it incorrectly, or if it's","a plugin, forgot to pass it in an array as props.plugins.",` + +`,`All props: https://atomiks.github.io/tippyjs/v6/all-props/ +`,"Plugins: https://atomiks.github.io/tippyjs/v6/plugins/"].join(" "))})}var ln=function(){return"innerHTML"};function Yt(g,w){g[ln()]=w}function or(g){var w=J();return g===!0?w.className=a:(w.className=d,V(g)?w.appendChild(g):Yt(w,g)),w}function kn(g,w){V(w.content)?(Yt(g,""),g.appendChild(w.content)):typeof w.content!="function"&&(w.allowHTML?Yt(g,w.content):g.textContent=w.content)}function Xt(g){var w=g.firstElementChild,D=Y(w.children);return{box:w,content:D.find(function(L){return L.classList.contains(i)}),arrow:D.find(function(L){return L.classList.contains(a)||L.classList.contains(d)}),backdrop:D.find(function(L){return L.classList.contains(o)})}}function ar(g){var w=J(),D=J();D.className=n,D.setAttribute("data-state","hidden"),D.setAttribute("tabindex","-1");var L=J();L.className=i,L.setAttribute("data-state","hidden"),kn(L,g.props),w.appendChild(D),D.appendChild(L),q(g.props,g.props);function q(W,B){var be=Xt(w),le=be.box,pe=be.content,ye=be.arrow;B.theme?le.setAttribute("data-theme",B.theme):le.removeAttribute("data-theme"),typeof B.animation=="string"?le.setAttribute("data-animation",B.animation):le.removeAttribute("data-animation"),B.inertia?le.setAttribute("data-inertia",""):le.removeAttribute("data-inertia"),le.style.maxWidth=typeof B.maxWidth=="number"?B.maxWidth+"px":B.maxWidth,B.role?le.setAttribute("role",B.role):le.removeAttribute("role"),(W.content!==B.content||W.allowHTML!==B.allowHTML)&&kn(pe,g.props),B.arrow?ye?W.arrow!==B.arrow&&(le.removeChild(ye),le.appendChild(or(B.arrow))):le.appendChild(or(B.arrow)):ye&&le.removeChild(ye)}return{popper:w,onUpdate:q}}ar.$$tippy=!0;var sr=1,yn=[],wn=[];function fn(g,w){var D=ir(g,Object.assign({},Ze,{},ot(ne(w)))),L,q,W,B=!1,be=!1,le=!1,pe=!1,ye,Te,je,Ae=[],Ie=E(Re,D.interactiveDebounce),re,he=sr++,ve=null,ee=A(D.plugins),ie={isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},x={id:he,reference:g,popper:J(),popperInstance:ve,props:D,state:ie,plugins:ee,clearDelayTimeouts:Ft,setProps:dn,setContent:Qt,show:Nt,hide:$n,hideWithInteractivity:Zt,enable:wt,disable:et,unmount:Sn,destroy:Wn};if(!D.render)return zt(!0,"render() function has not been supplied."),x;var Ge=D.render(x),ce=Ge.popper,Lt=Ge.onUpdate;ce.setAttribute("data-tippy-root",""),ce.id="tippy-"+x.id,x.popper=ce,g._tippy=x,ce._tippy=x;var bt=ee.map(function(C){return C.fn(x)}),Gt=g.hasAttribute("aria-expanded");return Me(),P(),s(),b("onCreate",[x]),D.showOnCreate&&$e(),ce.addEventListener("mouseenter",function(){x.props.interactive&&x.state.isVisible&&x.clearDelayTimeouts()}),ce.addEventListener("mouseleave",function(C){x.props.interactive&&x.props.trigger.indexOf("mouseenter")>=0&&(yt().addEventListener("mousemove",Ie),Ie(C))}),x;function Kt(){var C=x.props.touch;return Array.isArray(C)?C:[C,0]}function Jt(){return Kt()[0]==="hold"}function rt(){var C;return!!((C=x.props.render)!=null&&C.$$tippy)}function lt(){return re||g}function yt(){var C=lt().parentNode;return C?v(C):document}function un(){return Xt(ce)}function c(C){return x.state.isMounted&&!x.state.isVisible||M.isTouch||ye&&ye.type==="focus"?0:y(x.props.delay,C?0:1,Ze.delay)}function s(){ce.style.pointerEvents=x.props.interactive&&x.state.isVisible?"":"none",ce.style.zIndex=""+x.props.zIndex}function b(C,K,te){if(te===void 0&&(te=!0),bt.forEach(function(we){we[C]&&we[C].apply(void 0,K)}),te){var ge;(ge=x.props)[C].apply(ge,K)}}function T(){var C=x.props.aria;if(C.content){var K="aria-"+C.content,te=ce.id,ge=I(x.props.triggerTarget||g);ge.forEach(function(we){var Ke=we.getAttribute(K);if(x.state.isVisible)we.setAttribute(K,Ke?Ke+" "+te:te);else{var Je=Ke&&Ke.replace(te,"").trim();Je?we.setAttribute(K,Je):we.removeAttribute(K)}})}}function P(){if(!(Gt||!x.props.aria.expanded)){var C=I(x.props.triggerTarget||g);C.forEach(function(K){x.props.interactive?K.setAttribute("aria-expanded",x.state.isVisible&&K===lt()?"true":"false"):K.removeAttribute("aria-expanded")})}}function F(){yt().removeEventListener("mousemove",Ie),yn=yn.filter(function(C){return C!==Ie})}function U(C){if(!(M.isTouch&&(le||C.type==="mousedown"))&&!(x.props.interactive&&ce.contains(C.target))){if(lt().contains(C.target)){if(M.isTouch||x.state.isVisible&&x.props.trigger.indexOf("click")>=0)return}else b("onClickOutside",[x,C]);x.props.hideOnClick===!0&&(x.clearDelayTimeouts(),x.hide(),be=!0,setTimeout(function(){be=!1}),x.state.isMounted||z())}}function H(){le=!0}function G(){le=!1}function oe(){var C=yt();C.addEventListener("mousedown",U,!0),C.addEventListener("touchend",U,f),C.addEventListener("touchstart",G,f),C.addEventListener("touchmove",H,f)}function z(){var C=yt();C.removeEventListener("mousedown",U,!0),C.removeEventListener("touchend",U,f),C.removeEventListener("touchstart",G,f),C.removeEventListener("touchmove",H,f)}function Ce(C,K){De(C,function(){!x.state.isVisible&&ce.parentNode&&ce.parentNode.contains(ce)&&K()})}function Fe(C,K){De(C,K)}function De(C,K){var te=un().box;function ge(we){we.target===te&&(j(te,"remove",ge),K())}if(C===0)return K();j(te,"remove",Te),j(te,"add",ge),Te=ge}function xe(C,K,te){te===void 0&&(te=!1);var ge=I(x.props.triggerTarget||g);ge.forEach(function(we){we.addEventListener(C,K,te),Ae.push({node:we,eventType:C,handler:K,options:te})})}function Me(){Jt()&&(xe("touchstart",Be,{passive:!0}),xe("touchend",He,{passive:!0})),_(x.props.trigger).forEach(function(C){if(C!=="manual")switch(xe(C,Be),C){case"mouseenter":xe("mouseleave",He);break;case"focus":xe(kr?"focusout":"blur",fe);break;case"focusin":xe("focusout",fe);break}})}function Se(){Ae.forEach(function(C){var K=C.node,te=C.eventType,ge=C.handler,we=C.options;K.removeEventListener(te,ge,we)}),Ae=[]}function Be(C){var K,te=!1;if(!(!x.state.isEnabled||Pe(C)||be)){var ge=((K=ye)==null?void 0:K.type)==="focus";ye=C,re=C.currentTarget,P(),!x.state.isVisible&&X(C)&&yn.forEach(function(we){return we(C)}),C.type==="click"&&(x.props.trigger.indexOf("mouseenter")<0||B)&&x.props.hideOnClick!==!1&&x.state.isVisible?te=!0:$e(C),C.type==="click"&&(B=!te),te&&!ge&&Ue(C)}}function Re(C){var K=C.target,te=lt().contains(K)||ce.contains(K);if(!(C.type==="mousemove"&&te)){var ge=Ye().concat(ce).map(function(we){var Ke,Je=we._tippy,Ct=(Ke=Je.popperInstance)==null?void 0:Ke.state;return Ct?{popperRect:we.getBoundingClientRect(),popperState:Ct,props:D}:null}).filter(Boolean);p(ge,C)&&(F(),Ue(C))}}function He(C){var K=Pe(C)||x.props.trigger.indexOf("click")>=0&&B;if(!K){if(x.props.interactive){x.hideWithInteractivity(C);return}Ue(C)}}function fe(C){x.props.trigger.indexOf("focusin")<0&&C.target!==lt()||x.props.interactive&&C.relatedTarget&&ce.contains(C.relatedTarget)||Ue(C)}function Pe(C){return M.isTouch?Jt()!==C.type.indexOf("touch")>=0:!1}function _e(){Ne();var C=x.props,K=C.popperOptions,te=C.placement,ge=C.offset,we=C.getReferenceClientRect,Ke=C.moveTransition,Je=rt()?Xt(ce).arrow:null,Ct=we?{getBoundingClientRect:we,contextElement:we.contextElement||lt()}:g,Un={name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(pn){var en=pn.state;if(rt()){var Gr=un(),tn=Gr.box;["placement","reference-hidden","escaped"].forEach(function(hn){hn==="placement"?tn.setAttribute("data-placement",en.placement):en.attributes.popper["data-popper-"+hn]?tn.setAttribute("data-"+hn,""):tn.removeAttribute("data-"+hn)}),en.attributes.popper={}}}},_t=[{name:"offset",options:{offset:ge}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!Ke}},Un];rt()&&Je&&_t.push({name:"arrow",options:{element:Je,padding:3}}),_t.push.apply(_t,K?.modifiers||[]),x.popperInstance=t.createPopper(Ct,ce,Object.assign({},K,{placement:te,onFirstUpdate:je,modifiers:_t}))}function Ne(){x.popperInstance&&(x.popperInstance.destroy(),x.popperInstance=null)}function Le(){var C=x.props.appendTo,K,te=lt();x.props.interactive&&C===Ze.appendTo||C==="parent"?K=te.parentNode:K=O(C,[te]),K.contains(ce)||K.appendChild(ce),_e(),mt(x.props.interactive&&C===Ze.appendTo&&te.nextElementSibling!==ce,["Interactive tippy element may not be accessible via keyboard","navigation because it is not directly after the reference element","in the DOM source order.",` + +`,"Using a wrapper
    or tag around the reference element","solves this by creating a new parentNode context.",` + +`,"Specifying `appendTo: document.body` silences this warning, but it","assumes you are using a focus management solution to handle","keyboard navigation.",` + +`,"See: https://atomiks.github.io/tippyjs/v6/accessibility/#interactivity"].join(" "))}function Ye(){return Y(ce.querySelectorAll("[data-tippy-root]"))}function $e(C){x.clearDelayTimeouts(),C&&b("onTrigger",[x,C]),oe();var K=c(!0),te=Kt(),ge=te[0],we=te[1];M.isTouch&&ge==="hold"&&we&&(K=we),K?L=setTimeout(function(){x.show()},K):x.show()}function Ue(C){if(x.clearDelayTimeouts(),b("onUntrigger",[x,C]),!x.state.isVisible){z();return}if(!(x.props.trigger.indexOf("mouseenter")>=0&&x.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(C.type)>=0&&B)){var K=c(!1);K?q=setTimeout(function(){x.state.isVisible&&x.hide()},K):W=requestAnimationFrame(function(){x.hide()})}}function wt(){x.state.isEnabled=!0}function et(){x.hide(),x.state.isEnabled=!1}function Ft(){clearTimeout(L),clearTimeout(q),cancelAnimationFrame(W)}function dn(C){if(mt(x.state.isDestroyed,Vt("setProps")),!x.state.isDestroyed){b("onBeforeUpdate",[x,C]),Se();var K=x.props,te=ir(g,Object.assign({},x.props,{},C,{ignoreAttributes:!0}));x.props=te,Me(),K.interactiveDebounce!==te.interactiveDebounce&&(F(),Ie=E(Re,te.interactiveDebounce)),K.triggerTarget&&!te.triggerTarget?I(K.triggerTarget).forEach(function(ge){ge.removeAttribute("aria-expanded")}):te.triggerTarget&&g.removeAttribute("aria-expanded"),P(),s(),Lt&&Lt(K,te),x.popperInstance&&(_e(),Ye().forEach(function(ge){requestAnimationFrame(ge._tippy.popperInstance.forceUpdate)})),b("onAfterUpdate",[x,C])}}function Qt(C){x.setProps({content:C})}function Nt(){mt(x.state.isDestroyed,Vt("show"));var C=x.state.isVisible,K=x.state.isDestroyed,te=!x.state.isEnabled,ge=M.isTouch&&!x.props.touch,we=y(x.props.duration,0,Ze.duration);if(!(C||K||te||ge)&&!lt().hasAttribute("disabled")&&(b("onShow",[x],!1),x.props.onShow(x)!==!1)){if(x.state.isVisible=!0,rt()&&(ce.style.visibility="visible"),s(),oe(),x.state.isMounted||(ce.style.transition="none"),rt()){var Ke=un(),Je=Ke.box,Ct=Ke.content;l([Je,Ct],0)}je=function(){var _t;if(!(!x.state.isVisible||pe)){if(pe=!0,ce.offsetHeight,ce.style.transition=x.props.moveTransition,rt()&&x.props.animation){var An=un(),pn=An.box,en=An.content;l([pn,en],we),h([pn,en],"visible")}T(),P(),$(wn,x),(_t=x.popperInstance)==null||_t.forceUpdate(),x.state.isMounted=!0,b("onMount",[x]),x.props.animation&&rt()&&Fe(we,function(){x.state.isShown=!0,b("onShown",[x])})}},Le()}}function $n(){mt(x.state.isDestroyed,Vt("hide"));var C=!x.state.isVisible,K=x.state.isDestroyed,te=!x.state.isEnabled,ge=y(x.props.duration,1,Ze.duration);if(!(C||K||te)&&(b("onHide",[x],!1),x.props.onHide(x)!==!1)){if(x.state.isVisible=!1,x.state.isShown=!1,pe=!1,B=!1,rt()&&(ce.style.visibility="hidden"),F(),z(),s(),rt()){var we=un(),Ke=we.box,Je=we.content;x.props.animation&&(l([Ke,Je],ge),h([Ke,Je],"hidden"))}T(),P(),x.props.animation?rt()&&Ce(ge,x.unmount):x.unmount()}}function Zt(C){mt(x.state.isDestroyed,Vt("hideWithInteractivity")),yt().addEventListener("mousemove",Ie),$(yn,Ie),Ie(C)}function Sn(){mt(x.state.isDestroyed,Vt("unmount")),x.state.isVisible&&x.hide(),x.state.isMounted&&(Ne(),Ye().forEach(function(C){C._tippy.unmount()}),ce.parentNode&&ce.parentNode.removeChild(ce),wn=wn.filter(function(C){return C!==x}),x.state.isMounted=!1,b("onHidden",[x]))}function Wn(){mt(x.state.isDestroyed,Vt("destroy")),!x.state.isDestroyed&&(x.clearDelayTimeouts(),x.unmount(),Se(),delete g._tippy,x.state.isDestroyed=!0,b("onDestroy",[x]))}}function dt(g,w){w===void 0&&(w={});var D=Ze.plugins.concat(w.plugins||[]);At(g),gt(w,D),Ut();var L=Object.assign({},w,{plugins:D}),q=me(g),W=V(L.content),B=q.length>1;mt(W&&B,["tippy() was passed an Element as the `content` prop, but more than","one tippy instance was created by this invocation. This means the","content element will only be appended to the last tippy instance.",` + +`,"Instead, pass the .innerHTML of the element, or use a function that","returns a cloned version of the element instead.",` + +`,`1) content: element.innerHTML +`,"2) content: () => element.cloneNode(true)"].join(" "));var be=q.reduce(function(le,pe){var ye=pe&&fn(pe,L);return ye&&le.push(ye),le},[]);return V(g)?be[0]:be}dt.defaultProps=Ze,dt.setDefaultProps=Wr,dt.currentInput=M;var lr=function(w){var D=w===void 0?{}:w,L=D.exclude,q=D.duration;wn.forEach(function(W){var B=!1;if(L&&(B=Q(L)?W.reference===L:W.popper===L.popper),!B){var be=W.props.duration;W.setProps({duration:q}),W.hide(),W.state.isDestroyed||W.setProps({duration:be})}})},fr=Object.assign({},t.applyStyles,{effect:function(w){var D=w.state,L={popper:{position:D.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(D.elements.popper.style,L.popper),D.styles=L,D.elements.arrow&&Object.assign(D.elements.arrow.style,L.arrow)}}),cr=function(w,D){var L;D===void 0&&(D={}),zt(!Array.isArray(w),["The first argument passed to createSingleton() must be an array of","tippy instances. The passed value was",String(w)].join(" "));var q=w,W=[],B,be=D.overrides,le=[],pe=!1;function ye(){W=q.map(function(ee){return ee.reference})}function Te(ee){q.forEach(function(ie){ee?ie.enable():ie.disable()})}function je(ee){return q.map(function(ie){var x=ie.setProps;return ie.setProps=function(Ge){x(Ge),ie.reference===B&&ee.setProps(Ge)},function(){ie.setProps=x}})}function Ae(ee,ie){var x=W.indexOf(ie);if(ie!==B){B=ie;var Ge=(be||[]).concat("content").reduce(function(ce,Lt){return ce[Lt]=q[x].props[Lt],ce},{});ee.setProps(Object.assign({},Ge,{getReferenceClientRect:typeof Ge.getReferenceClientRect=="function"?Ge.getReferenceClientRect:function(){return ie.getBoundingClientRect()}}))}}Te(!1),ye();var Ie={fn:function(){return{onDestroy:function(){Te(!0)},onHidden:function(){B=null},onClickOutside:function(x){x.props.showOnCreate&&!pe&&(pe=!0,B=null)},onShow:function(x){x.props.showOnCreate&&!pe&&(pe=!0,Ae(x,W[0]))},onTrigger:function(x,Ge){Ae(x,Ge.currentTarget)}}}},re=dt(J(),Object.assign({},S(D,["overrides"]),{plugins:[Ie].concat(D.plugins||[]),triggerTarget:W,popperOptions:Object.assign({},D.popperOptions,{modifiers:[].concat(((L=D.popperOptions)==null?void 0:L.modifiers)||[],[fr])})})),he=re.show;re.show=function(ee){if(he(),!B&&ee==null)return Ae(re,W[0]);if(!(B&&ee==null)){if(typeof ee=="number")return W[ee]&&Ae(re,W[ee]);if(q.includes(ee)){var ie=ee.reference;return Ae(re,ie)}if(W.includes(ee))return Ae(re,ee)}},re.showNext=function(){var ee=W[0];if(!B)return re.show(0);var ie=W.indexOf(B);re.show(W[ie+1]||ee)},re.showPrevious=function(){var ee=W[W.length-1];if(!B)return re.show(ee);var ie=W.indexOf(B),x=W[ie-1]||ee;re.show(x)};var ve=re.setProps;return re.setProps=function(ee){be=ee.overrides||be,ve(ee)},re.setInstances=function(ee){Te(!0),le.forEach(function(ie){return ie()}),q=ee,Te(!1),ye(),je(re),re.setProps({triggerTarget:W})},le=je(re),re},ur={mouseover:"mouseenter",focusin:"focus",click:"click"};function qt(g,w){zt(!(w&&w.target),["You must specity a `target` prop indicating a CSS selector string matching","the target elements that should receive a tippy."].join(" "));var D=[],L=[],q=!1,W=w.target,B=S(w,["target"]),be=Object.assign({},B,{trigger:"manual",touch:!1}),le=Object.assign({},B,{showOnCreate:!0}),pe=dt(g,be),ye=I(pe);function Te(he){if(!(!he.target||q)){var ve=he.target.closest(W);if(ve){var ee=ve.getAttribute("data-tippy-trigger")||w.trigger||Ze.trigger;if(!ve._tippy&&!(he.type==="touchstart"&&typeof le.touch=="boolean")&&!(he.type!=="touchstart"&&ee.indexOf(ur[he.type])<0)){var ie=dt(ve,le);ie&&(L=L.concat(ie))}}}}function je(he,ve,ee,ie){ie===void 0&&(ie=!1),he.addEventListener(ve,ee,ie),D.push({node:he,eventType:ve,handler:ee,options:ie})}function Ae(he){var ve=he.reference;je(ve,"touchstart",Te,f),je(ve,"mouseover",Te),je(ve,"focusin",Te),je(ve,"click",Te)}function Ie(){D.forEach(function(he){var ve=he.node,ee=he.eventType,ie=he.handler,x=he.options;ve.removeEventListener(ee,ie,x)}),D=[]}function re(he){var ve=he.destroy,ee=he.enable,ie=he.disable;he.destroy=function(x){x===void 0&&(x=!0),x&&L.forEach(function(Ge){Ge.destroy()}),L=[],Ie(),ve()},he.enable=function(){ee(),L.forEach(function(x){return x.enable()}),q=!1},he.disable=function(){ie(),L.forEach(function(x){return x.disable()}),q=!0},Ae(he)}return ye.forEach(re),pe}var dr={name:"animateFill",defaultValue:!1,fn:function(w){var D;if(!((D=w.props.render)!=null&&D.$$tippy))return zt(w.props.animateFill,"The `animateFill` plugin requires the default render function."),{};var L=Xt(w.popper),q=L.box,W=L.content,B=w.props.animateFill?Vr():null;return{onCreate:function(){B&&(q.insertBefore(B,q.firstElementChild),q.setAttribute("data-animatefill",""),q.style.overflow="hidden",w.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(B){var le=q.style.transitionDuration,pe=Number(le.replace("ms",""));W.style.transitionDelay=Math.round(pe/10)+"ms",B.style.transitionDuration=le,h([B],"visible")}},onShow:function(){B&&(B.style.transitionDuration="0ms")},onHide:function(){B&&h([B],"hidden")}}}};function Vr(){var g=J();return g.className=o,h([g],"hidden"),g}var xn={clientX:0,clientY:0},cn=[];function En(g){var w=g.clientX,D=g.clientY;xn={clientX:w,clientY:D}}function On(g){g.addEventListener("mousemove",En)}function zr(g){g.removeEventListener("mousemove",En)}var jn={name:"followCursor",defaultValue:!1,fn:function(w){var D=w.reference,L=v(w.props.triggerTarget||D),q=!1,W=!1,B=!0,be=w.props;function le(){return w.props.followCursor==="initial"&&w.state.isVisible}function pe(){L.addEventListener("mousemove",je)}function ye(){L.removeEventListener("mousemove",je)}function Te(){q=!0,w.setProps({getReferenceClientRect:null}),q=!1}function je(re){var he=re.target?D.contains(re.target):!0,ve=w.props.followCursor,ee=re.clientX,ie=re.clientY,x=D.getBoundingClientRect(),Ge=ee-x.left,ce=ie-x.top;(he||!w.props.interactive)&&w.setProps({getReferenceClientRect:function(){var bt=D.getBoundingClientRect(),Gt=ee,Kt=ie;ve==="initial"&&(Gt=bt.left+Ge,Kt=bt.top+ce);var Jt=ve==="horizontal"?bt.top:Kt,rt=ve==="vertical"?bt.right:Gt,lt=ve==="horizontal"?bt.bottom:Kt,yt=ve==="vertical"?bt.left:Gt;return{width:rt-yt,height:lt-Jt,top:Jt,right:rt,bottom:lt,left:yt}}})}function Ae(){w.props.followCursor&&(cn.push({instance:w,doc:L}),On(L))}function Ie(){cn=cn.filter(function(re){return re.instance!==w}),cn.filter(function(re){return re.doc===L}).length===0&&zr(L)}return{onCreate:Ae,onDestroy:Ie,onBeforeUpdate:function(){be=w.props},onAfterUpdate:function(he,ve){var ee=ve.followCursor;q||ee!==void 0&&be.followCursor!==ee&&(Ie(),ee?(Ae(),w.state.isMounted&&!W&&!le()&&pe()):(ye(),Te()))},onMount:function(){w.props.followCursor&&!W&&(B&&(je(xn),B=!1),le()||pe())},onTrigger:function(he,ve){X(ve)&&(xn={clientX:ve.clientX,clientY:ve.clientY}),W=ve.type==="focus"},onHidden:function(){w.props.followCursor&&(Te(),ye(),B=!0)}}}};function Yr(g,w){var D;return{popperOptions:Object.assign({},g.popperOptions,{modifiers:[].concat((((D=g.popperOptions)==null?void 0:D.modifiers)||[]).filter(function(L){var q=L.name;return q!==w.name}),[w])})}}var Bn={name:"inlinePositioning",defaultValue:!1,fn:function(w){var D=w.reference;function L(){return!!w.props.inlinePositioning}var q,W=-1,B=!1,be={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(je){var Ae=je.state;L()&&(q!==Ae.placement&&w.setProps({getReferenceClientRect:function(){return le(Ae.placement)}}),q=Ae.placement)}};function le(Te){return Xr(k(Te),D.getBoundingClientRect(),Y(D.getClientRects()),W)}function pe(Te){B=!0,w.setProps(Te),B=!1}function ye(){B||pe(Yr(w.props,be))}return{onCreate:ye,onAfterUpdate:ye,onTrigger:function(je,Ae){if(X(Ae)){var Ie=Y(w.reference.getClientRects()),re=Ie.find(function(he){return he.left-2<=Ae.clientX&&he.right+2>=Ae.clientX&&he.top-2<=Ae.clientY&&he.bottom+2>=Ae.clientY});W=Ie.indexOf(re)}},onUntrigger:function(){W=-1}}}};function Xr(g,w,D,L){if(D.length<2||g===null)return w;if(D.length===2&&L>=0&&D[0].left>D[1].right)return D[L]||w;switch(g){case"top":case"bottom":{var q=D[0],W=D[D.length-1],B=g==="top",be=q.top,le=W.bottom,pe=B?q.left:W.left,ye=B?q.right:W.right,Te=ye-pe,je=le-be;return{top:be,bottom:le,left:pe,right:ye,width:Te,height:je}}case"left":case"right":{var Ae=Math.min.apply(Math,D.map(function(ce){return ce.left})),Ie=Math.max.apply(Math,D.map(function(ce){return ce.right})),re=D.filter(function(ce){return g==="left"?ce.left===Ae:ce.right===Ie}),he=re[0].top,ve=re[re.length-1].bottom,ee=Ae,ie=Ie,x=ie-ee,Ge=ve-he;return{top:he,bottom:ve,left:ee,right:ie,width:x,height:Ge}}default:return w}}var qr={name:"sticky",defaultValue:!1,fn:function(w){var D=w.reference,L=w.popper;function q(){return w.popperInstance?w.popperInstance.state.elements.reference:D}function W(pe){return w.props.sticky===!0||w.props.sticky===pe}var B=null,be=null;function le(){var pe=W("reference")?q().getBoundingClientRect():null,ye=W("popper")?L.getBoundingClientRect():null;(pe&&Hn(B,pe)||ye&&Hn(be,ye))&&w.popperInstance&&w.popperInstance.update(),B=pe,be=ye,w.state.isMounted&&requestAnimationFrame(le)}return{onMount:function(){w.props.sticky&&le()}}}};function Hn(g,w){return g&&w?g.top!==w.top||g.right!==w.right||g.bottom!==w.bottom||g.left!==w.left:!0}dt.setDefaultProps({render:ar}),e.animateFill=dr,e.createSingleton=cr,e.default=dt,e.delegate=qt,e.followCursor=jn,e.hideAll=lr,e.inlinePositioning=Bn,e.roundArrow=r,e.sticky=qr}),Si=Ho($o()),Ts=Ho($o()),Ps=e=>{let t={plugins:[]},r=i=>e[e.indexOf(i)+1];if(e.includes("animation")&&(t.animation=r("animation")),e.includes("duration")&&(t.duration=parseInt(r("duration"))),e.includes("delay")){let i=r("delay");t.delay=i.includes("-")?i.split("-").map(o=>parseInt(o)):parseInt(i)}if(e.includes("cursor")){t.plugins.push(Ts.followCursor);let i=r("cursor");["x","initial"].includes(i)?t.followCursor=i==="x"?"horizontal":"initial":t.followCursor=!0}e.includes("on")&&(t.trigger=r("on")),e.includes("arrowless")&&(t.arrow=!1),e.includes("html")&&(t.allowHTML=!0),e.includes("interactive")&&(t.interactive=!0),e.includes("border")&&t.interactive&&(t.interactiveBorder=parseInt(r("border"))),e.includes("debounce")&&t.interactive&&(t.interactiveDebounce=parseInt(r("debounce"))),e.includes("max-width")&&(t.maxWidth=parseInt(r("max-width"))),e.includes("theme")&&(t.theme=r("theme")),e.includes("placement")&&(t.placement=r("placement"));let n={};return e.includes("no-flip")&&(n.modifiers||(n.modifiers=[]),n.modifiers.push({name:"flip",enabled:!1})),t.popperOptions=n,t};function Ai(e){e.magic("tooltip",t=>(r,n={})=>{let i=n.timeout;delete n.timeout;let o=(0,Si.default)(t,{content:r,trigger:"manual",...n});o.show(),setTimeout(()=>{o.hide(),setTimeout(()=>o.destroy(),n.duration||300)},i||2e3)}),e.directive("tooltip",(t,{modifiers:r,expression:n},{evaluateLater:i,effect:o,cleanup:a})=>{let d=r.length>0?Ps(r):{};t.__x_tippy||(t.__x_tippy=(0,Si.default)(t,d)),a(()=>{t.__x_tippy&&(t.__x_tippy.destroy(),delete t.__x_tippy)});let f=()=>t.__x_tippy.enable(),u=()=>t.__x_tippy.disable(),y=m=>{m?(f(),t.__x_tippy.setContent(m)):u()};if(r.includes("raw"))y(n);else{let m=i(n);o(()=>{m(O=>{typeof O=="object"?(t.__x_tippy.setProps(O),f()):y(O)})})}})}Ai.defaultProps=e=>(Si.default.setDefaultProps(e),Ai);var Ms=Ai,Wo=Ms;var Uo=()=>({toggle(e){this.$refs.panel?.toggle(e)},open(e){this.$refs.panel?.open(e)},close(e){this.$refs.panel?.close(e)}});var Vo=()=>({form:null,isProcessing:!1,processingMessage:null,init(){let e=this.$el.closest("form");e?.addEventListener("form-processing-started",t=>{this.isProcessing=!0,this.processingMessage=t.detail.message}),e?.addEventListener("form-processing-finished",()=>{this.isProcessing=!1})}});var zo=({id:e})=>({isOpen:!1,isWindowVisible:!1,livewire:null,init(){this.$nextTick(()=>{this.isWindowVisible=this.isOpen,this.$watch("isOpen",()=>this.isWindowVisible=this.isOpen)})},close(){this.closeQuietly(),this.$dispatch("modal-closed",{id:e})},closeQuietly(){this.isOpen=!1},open(){this.$nextTick(()=>{this.isOpen=!0,document.dispatchEvent(new CustomEvent("x-modal-opened",{bubbles:!0,composed:!0,detail:{id:e}}))})}});document.addEventListener("livewire:init",()=>{let e=t=>{let r=Alpine.findClosest(t,n=>n.__livewire);if(!r)throw"Could not find Livewire component in DOM tree.";return r.__livewire};Livewire.hook("commit",({component:t,commit:r,respond:n,succeed:i,fail:o})=>{n(()=>{queueMicrotask(()=>{if(!t.effects.html)for(let[f,u]of Object.entries(t.effects.partials??{})){let y=Array.from(t.el.querySelectorAll(`[wire\\:partial="${f}"]`)).filter(_=>e(_)===t);if(!y.length)continue;if(y.length>1)throw`Multiple elements found for partial [${f}].`;let m=y[0],O=m.parentElement?m.parentElement.tagName.toLowerCase():"div",E=document.createElement(O);E.innerHTML=u,E.__livewire=t;let S=E.firstElementChild;S.__livewire=t,window.Alpine.morph(m,S,{updating:(_,I,$,A)=>{if(!a(_)){if(_.__livewire_replace===!0&&(_.innerHTML=I.innerHTML),_.__livewire_replace_self===!0)return _.outerHTML=I.outerHTML,A();if(_.__livewire_ignore===!0||(_.__livewire_ignore_self===!0&&$(),d(_)&&_.getAttribute("wire:id")!==t.id))return A();d(_)&&(I.__livewire=t)}},key:_=>{if(!a(_))return _.hasAttribute("wire:key")?_.getAttribute("wire:key"):_.hasAttribute("wire:id")?_.getAttribute("wire:id"):_.id},lookahead:!1})}})});function a(f){return typeof f.hasAttribute!="function"}function d(f){return f.hasAttribute("wire:id")}})});var Yo=(e,t,r)=>{let n=(y,m)=>{for(let O of y){let E=i(O,m);if(E!==null)return E}},i=(y,m)=>{let O=y.match(/^[\{\[]([^\[\]\{\}]*)[\}\]](.*)/s);if(O===null||O.length!==3)return null;let E=O[1],S=O[2];if(E.includes(",")){let[_,I]=E.split(",",2);if(I==="*"&&m>=_)return S;if(_==="*"&&m<=I)return S;if(m>=_&&m<=I)return S}return E==m?S:null},o=y=>y.toString().charAt(0).toUpperCase()+y.toString().slice(1),a=(y,m)=>{if(m.length===0)return y;let O={};for(let[E,S]of Object.entries(m))O[":"+o(E??"")]=o(S??""),O[":"+E.toUpperCase()]=S.toString().toUpperCase(),O[":"+E]=S;return Object.entries(O).forEach(([E,S])=>{y=y.replaceAll(E,S)}),y},d=y=>y.map(m=>m.replace(/^[\{\[]([^\[\]\{\}]*)[\}\]]/,"")),f=e.split("|"),u=n(f,t);return u!=null?a(u.trim(),r):(f=d(f),a(f.length>1&&t>1?f[1]:f[0],r))};document.addEventListener("alpine:init",()=>{window.Alpine.plugin(oo),window.Alpine.plugin(ao),window.Alpine.plugin(co),window.Alpine.plugin(jo),window.Alpine.plugin(Wo),window.Alpine.data("filamentDropdown",Uo),window.Alpine.data("filamentFormButton",Vo),window.Alpine.data("filamentModal",zo)});window.jsMd5=Xo.md5;window.pluralize=Yo;})(); +/*! Bundled license information: + +js-md5/src/md5.js: + (** + * [js-md5]{@link https://github.com/emn178/js-md5} + * + * @namespace md5 + * @version 0.8.3 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2014-2023 + * @license MIT + *) + +sortablejs/modular/sortable.esm.js: + (**! + * Sortable 1.15.6 + * @author RubaXa + * @author owenm + * @license MIT + *) +*/ diff --git a/public/js/filament/tables/components/columns/checkbox.js b/public/js/filament/tables/components/columns/checkbox.js new file mode 100644 index 0000000..f177b3c --- /dev/null +++ b/public/js/filament/tables/components/columns/checkbox.js @@ -0,0 +1 @@ +function o({name:i,recordKey:s,state:a}){return{error:void 0,isLoading:!1,state:a,init(){Livewire.hook("commit",({component:e,commit:r,succeed:n,fail:h,respond:u})=>{n(({snapshot:f,effect:d})=>{this.$nextTick(()=>{if(this.isLoading||e.id!==this.$root.closest("[wire\\:id]")?.attributes["wire:id"].value)return;let t=this.getServerState();t===void 0||Alpine.raw(this.state)===t||(this.state=t)})})}),this.$watch("state",async()=>{let e=this.getServerState();if(e===void 0||Alpine.raw(this.state)===e)return;this.isLoading=!0;let r=await this.$wire.updateTableColumnState(i,s,this.state);this.error=r?.error??void 0,!this.error&&this.$refs.serverState&&(this.$refs.serverState.value=this.state?"1":"0"),this.isLoading=!1})},getServerState(){if(this.$refs.serverState)return[1,"1"].includes(this.$refs.serverState.value)}}}export{o as default}; diff --git a/public/js/filament/tables/components/columns/select.js b/public/js/filament/tables/components/columns/select.js new file mode 100644 index 0000000..d44df31 --- /dev/null +++ b/public/js/filament/tables/components/columns/select.js @@ -0,0 +1 @@ +var tt=Math.min,$=Math.max,et=Math.round;var T=i=>({x:i,y:i}),Gt={left:"right",right:"left",bottom:"top",top:"bottom"},Xt={start:"end",end:"start"};function pt(i,t,e){return $(i,tt(t,e))}function it(i,t){return typeof i=="function"?i(t):i}function z(i){return i.split("-")[0]}function st(i){return i.split("-")[1]}function mt(i){return i==="x"?"y":"x"}function gt(i){return i==="y"?"height":"width"}var Qt=new Set(["top","bottom"]);function B(i){return Qt.has(z(i))?"y":"x"}function bt(i){return mt(B(i))}function Ot(i,t,e){e===void 0&&(e=!1);let s=st(i),n=bt(i),o=gt(n),r=n==="x"?s===(e?"end":"start")?"right":"left":s==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(r=Z(r)),[r,Z(r)]}function At(i){let t=Z(i);return[lt(i),t,lt(t)]}function lt(i){return i.replace(/start|end/g,t=>Xt[t])}var vt=["left","right"],Lt=["right","left"],Zt=["top","bottom"],te=["bottom","top"];function ee(i,t,e){switch(i){case"top":case"bottom":return e?t?Lt:vt:t?vt:Lt;case"left":case"right":return t?Zt:te;default:return[]}}function St(i,t,e,s){let n=st(i),o=ee(z(i),e==="start",s);return n&&(o=o.map(r=>r+"-"+n),t&&(o=o.concat(o.map(lt)))),o}function Z(i){return i.replace(/left|right|bottom|top/g,t=>Gt[t])}function ie(i){return{top:0,right:0,bottom:0,left:0,...i}}function Ct(i){return typeof i!="number"?ie(i):{top:i,right:i,bottom:i,left:i}}function U(i){let{x:t,y:e,width:s,height:n}=i;return{width:s,height:n,top:e,left:t,right:t+s,bottom:e+n,x:t,y:e}}function Et(i,t,e){let{reference:s,floating:n}=i,o=B(t),r=bt(t),l=gt(r),a=z(t),c=o==="y",h=s.x+s.width/2-n.width/2,d=s.y+s.height/2-n.height/2,u=s[l]/2-n[l]/2,f;switch(a){case"top":f={x:h,y:s.y-n.height};break;case"bottom":f={x:h,y:s.y+s.height};break;case"right":f={x:s.x+s.width,y:d};break;case"left":f={x:s.x-n.width,y:d};break;default:f={x:s.x,y:s.y}}switch(st(t)){case"start":f[r]-=u*(e&&c?-1:1);break;case"end":f[r]+=u*(e&&c?-1:1);break}return f}var Dt=async(i,t,e)=>{let{placement:s="bottom",strategy:n="absolute",middleware:o=[],platform:r}=e,l=o.filter(Boolean),a=await(r.isRTL==null?void 0:r.isRTL(t)),c=await r.getElementRects({reference:i,floating:t,strategy:n}),{x:h,y:d}=Et(c,s,a),u=s,f={},p=0;for(let m=0;mD<=0)){var H,X;let D=(((H=o.flip)==null?void 0:H.index)||0)+1,J=G[D];if(J&&(!(d==="alignment"?b!==B(J):!1)||S.every(I=>I.overflows[0]>0&&B(I.placement)===b)))return{data:{index:D,overflows:S},reset:{placement:J}};let R=(X=S.filter(M=>M.overflows[0]<=0).sort((M,I)=>M.overflows[1]-I.overflows[1])[0])==null?void 0:X.placement;if(!R)switch(f){case"bestFit":{var Q;let M=(Q=S.filter(I=>{if(q){let V=B(I.placement);return V===b||V==="y"}return!0}).map(I=>[I.placement,I.overflows.filter(V=>V>0).reduce((V,Yt)=>V+Yt,0)]).sort((I,V)=>I[1]-V[1])[0])==null?void 0:Q[0];M&&(R=M);break}case"initialPlacement":R=l;break}if(n!==R)return{reset:{placement:R}}}return{}}}};var se=new Set(["left","top"]);async function ne(i,t){let{placement:e,platform:s,elements:n}=i,o=await(s.isRTL==null?void 0:s.isRTL(n.floating)),r=z(e),l=st(e),a=B(e)==="y",c=se.has(r)?-1:1,h=o&&a?-1:1,d=it(t,i),{mainAxis:u,crossAxis:f,alignmentAxis:p}=typeof d=="number"?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return l&&typeof p=="number"&&(f=l==="end"?p*-1:p),a?{x:f*h,y:u*c}:{x:u*c,y:f*h}}var It=function(i){return i===void 0&&(i=0),{name:"offset",options:i,async fn(t){var e,s;let{x:n,y:o,placement:r,middlewareData:l}=t,a=await ne(t,i);return r===((e=l.offset)==null?void 0:e.placement)&&(s=l.arrow)!=null&&s.alignmentOffset?{}:{x:n+a.x,y:o+a.y,data:{...a,placement:r}}}}},Tt=function(i){return i===void 0&&(i={}),{name:"shift",options:i,async fn(t){let{x:e,y:s,placement:n}=t,{mainAxis:o=!0,crossAxis:r=!1,limiter:l={fn:g=>{let{x:y,y:b}=g;return{x:y,y:b}}},...a}=it(i,t),c={x:e,y:s},h=await wt(t,a),d=B(z(n)),u=mt(d),f=c[u],p=c[d];if(o){let g=u==="y"?"top":"left",y=u==="y"?"bottom":"right",b=f+h[g],v=f-h[y];f=pt(b,f,v)}if(r){let g=d==="y"?"top":"left",y=d==="y"?"bottom":"right",b=p+h[g],v=p-h[y];p=pt(b,p,v)}let m=l.fn({...t,[u]:f,[d]:p});return{...m,data:{x:m.x-e,y:m.y-s,enabled:{[u]:o,[d]:r}}}}}};function ct(){return typeof window<"u"}function K(i){return Pt(i)?(i.nodeName||"").toLowerCase():"#document"}function A(i){var t;return(i==null||(t=i.ownerDocument)==null?void 0:t.defaultView)||window}function P(i){var t;return(t=(Pt(i)?i.ownerDocument:i.document)||window.document)==null?void 0:t.documentElement}function Pt(i){return ct()?i instanceof Node||i instanceof A(i).Node:!1}function C(i){return ct()?i instanceof Element||i instanceof A(i).Element:!1}function k(i){return ct()?i instanceof HTMLElement||i instanceof A(i).HTMLElement:!1}function kt(i){return!ct()||typeof ShadowRoot>"u"?!1:i instanceof ShadowRoot||i instanceof A(i).ShadowRoot}var oe=new Set(["inline","contents"]);function j(i){let{overflow:t,overflowX:e,overflowY:s,display:n}=E(i);return/auto|scroll|overlay|hidden|clip/.test(t+s+e)&&!oe.has(n)}var re=new Set(["table","td","th"]);function Mt(i){return re.has(K(i))}var le=[":popover-open",":modal"];function nt(i){return le.some(t=>{try{return i.matches(t)}catch{return!1}})}var ae=["transform","translate","scale","rotate","perspective"],ce=["transform","translate","scale","rotate","perspective","filter"],de=["paint","layout","strict","content"];function dt(i){let t=ht(),e=C(i)?E(i):i;return ae.some(s=>e[s]?e[s]!=="none":!1)||(e.containerType?e.containerType!=="normal":!1)||!t&&(e.backdropFilter?e.backdropFilter!=="none":!1)||!t&&(e.filter?e.filter!=="none":!1)||ce.some(s=>(e.willChange||"").includes(s))||de.some(s=>(e.contain||"").includes(s))}function Bt(i){let t=N(i);for(;k(t)&&!_(t);){if(dt(t))return t;if(nt(t))return null;t=N(t)}return null}function ht(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}var he=new Set(["html","body","#document"]);function _(i){return he.has(K(i))}function E(i){return A(i).getComputedStyle(i)}function ot(i){return C(i)?{scrollLeft:i.scrollLeft,scrollTop:i.scrollTop}:{scrollLeft:i.scrollX,scrollTop:i.scrollY}}function N(i){if(K(i)==="html")return i;let t=i.assignedSlot||i.parentNode||kt(i)&&i.host||P(i);return kt(t)?t.host:t}function Nt(i){let t=N(i);return _(t)?i.ownerDocument?i.ownerDocument.body:i.body:k(t)&&j(t)?t:Nt(t)}function at(i,t,e){var s;t===void 0&&(t=[]),e===void 0&&(e=!0);let n=Nt(i),o=n===((s=i.ownerDocument)==null?void 0:s.body),r=A(n);if(o){let l=ft(r);return t.concat(r,r.visualViewport||[],j(n)?n:[],l&&e?at(l):[])}return t.concat(n,at(n,[],e))}function ft(i){return i.parent&&Object.getPrototypeOf(i.parent)?i.frameElement:null}function Vt(i){let t=E(i),e=parseFloat(t.width)||0,s=parseFloat(t.height)||0,n=k(i),o=n?i.offsetWidth:e,r=n?i.offsetHeight:s,l=et(e)!==o||et(s)!==r;return l&&(e=o,s=r),{width:e,height:s,$:l}}function $t(i){return C(i)?i:i.contextElement}function Y(i){let t=$t(i);if(!k(t))return T(1);let e=t.getBoundingClientRect(),{width:s,height:n,$:o}=Vt(t),r=(o?et(e.width):e.width)/s,l=(o?et(e.height):e.height)/n;return(!r||!Number.isFinite(r))&&(r=1),(!l||!Number.isFinite(l))&&(l=1),{x:r,y:l}}var fe=T(0);function zt(i){let t=A(i);return!ht()||!t.visualViewport?fe:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function ue(i,t,e){return t===void 0&&(t=!1),!e||t&&e!==A(i)?!1:t}function rt(i,t,e,s){t===void 0&&(t=!1),e===void 0&&(e=!1);let n=i.getBoundingClientRect(),o=$t(i),r=T(1);t&&(s?C(s)&&(r=Y(s)):r=Y(i));let l=ue(o,e,s)?zt(o):T(0),a=(n.left+l.x)/r.x,c=(n.top+l.y)/r.y,h=n.width/r.x,d=n.height/r.y;if(o){let u=A(o),f=s&&C(s)?A(s):s,p=u,m=ft(p);for(;m&&s&&f!==p;){let g=Y(m),y=m.getBoundingClientRect(),b=E(m),v=y.left+(m.clientLeft+parseFloat(b.paddingLeft))*g.x,O=y.top+(m.clientTop+parseFloat(b.paddingTop))*g.y;a*=g.x,c*=g.y,h*=g.x,d*=g.y,a+=v,c+=O,p=A(m),m=ft(p)}}return U({width:h,height:d,x:a,y:c})}function xt(i,t){let e=ot(i).scrollLeft;return t?t.left+e:rt(P(i)).left+e}function Wt(i,t,e){e===void 0&&(e=!1);let s=i.getBoundingClientRect(),n=s.left+t.scrollLeft-(e?0:xt(i,s)),o=s.top+t.scrollTop;return{x:n,y:o}}function pe(i){let{elements:t,rect:e,offsetParent:s,strategy:n}=i,o=n==="fixed",r=P(s),l=t?nt(t.floating):!1;if(s===r||l&&o)return e;let a={scrollLeft:0,scrollTop:0},c=T(1),h=T(0),d=k(s);if((d||!d&&!o)&&((K(s)!=="body"||j(r))&&(a=ot(s)),k(s))){let f=rt(s);c=Y(s),h.x=f.x+s.clientLeft,h.y=f.y+s.clientTop}let u=r&&!d&&!o?Wt(r,a,!0):T(0);return{width:e.width*c.x,height:e.height*c.y,x:e.x*c.x-a.scrollLeft*c.x+h.x+u.x,y:e.y*c.y-a.scrollTop*c.y+h.y+u.y}}function me(i){return Array.from(i.getClientRects())}function ge(i){let t=P(i),e=ot(i),s=i.ownerDocument.body,n=$(t.scrollWidth,t.clientWidth,s.scrollWidth,s.clientWidth),o=$(t.scrollHeight,t.clientHeight,s.scrollHeight,s.clientHeight),r=-e.scrollLeft+xt(i),l=-e.scrollTop;return E(s).direction==="rtl"&&(r+=$(t.clientWidth,s.clientWidth)-n),{width:n,height:o,x:r,y:l}}function be(i,t){let e=A(i),s=P(i),n=e.visualViewport,o=s.clientWidth,r=s.clientHeight,l=0,a=0;if(n){o=n.width,r=n.height;let c=ht();(!c||c&&t==="fixed")&&(l=n.offsetLeft,a=n.offsetTop)}return{width:o,height:r,x:l,y:a}}var we=new Set(["absolute","fixed"]);function ye(i,t){let e=rt(i,!0,t==="fixed"),s=e.top+i.clientTop,n=e.left+i.clientLeft,o=k(i)?Y(i):T(1),r=i.clientWidth*o.x,l=i.clientHeight*o.y,a=n*o.x,c=s*o.y;return{width:r,height:l,x:a,y:c}}function Ft(i,t,e){let s;if(t==="viewport")s=be(i,e);else if(t==="document")s=ge(P(i));else if(C(t))s=ye(t,e);else{let n=zt(i);s={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return U(s)}function Ut(i,t){let e=N(i);return e===t||!C(e)||_(e)?!1:E(e).position==="fixed"||Ut(e,t)}function xe(i,t){let e=t.get(i);if(e)return e;let s=at(i,[],!1).filter(l=>C(l)&&K(l)!=="body"),n=null,o=E(i).position==="fixed",r=o?N(i):i;for(;C(r)&&!_(r);){let l=E(r),a=dt(r);!a&&l.position==="fixed"&&(n=null),(o?!a&&!n:!a&&l.position==="static"&&!!n&&we.has(n.position)||j(r)&&!a&&Ut(i,r))?s=s.filter(h=>h!==r):n=l,r=N(r)}return t.set(i,s),s}function ve(i){let{element:t,boundary:e,rootBoundary:s,strategy:n}=i,r=[...e==="clippingAncestors"?nt(t)?[]:xe(t,this._c):[].concat(e),s],l=r[0],a=r.reduce((c,h)=>{let d=Ft(t,h,n);return c.top=$(d.top,c.top),c.right=tt(d.right,c.right),c.bottom=tt(d.bottom,c.bottom),c.left=$(d.left,c.left),c},Ft(t,l,n));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}}function Le(i){let{width:t,height:e}=Vt(i);return{width:t,height:e}}function Oe(i,t,e){let s=k(t),n=P(t),o=e==="fixed",r=rt(i,!0,o,t),l={scrollLeft:0,scrollTop:0},a=T(0);function c(){a.x=xt(n)}if(s||!s&&!o)if((K(t)!=="body"||j(n))&&(l=ot(t)),s){let f=rt(t,!0,o,t);a.x=f.x+t.clientLeft,a.y=f.y+t.clientTop}else n&&c();o&&!s&&n&&c();let h=n&&!s&&!o?Wt(n,l):T(0),d=r.left+l.scrollLeft-a.x-h.x,u=r.top+l.scrollTop-a.y-h.y;return{x:d,y:u,width:r.width,height:r.height}}function yt(i){return E(i).position==="static"}function Ht(i,t){if(!k(i)||E(i).position==="fixed")return null;if(t)return t(i);let e=i.offsetParent;return P(i)===e&&(e=e.ownerDocument.body),e}function Kt(i,t){let e=A(i);if(nt(i))return e;if(!k(i)){let n=N(i);for(;n&&!_(n);){if(C(n)&&!yt(n))return n;n=N(n)}return e}let s=Ht(i,t);for(;s&&Mt(s)&&yt(s);)s=Ht(s,t);return s&&_(s)&&yt(s)&&!dt(s)?e:s||Bt(i)||e}var Ae=async function(i){let t=this.getOffsetParent||Kt,e=this.getDimensions,s=await e(i.floating);return{reference:Oe(i.reference,await t(i.floating),i.strategy),floating:{x:0,y:0,width:s.width,height:s.height}}};function Se(i){return E(i).direction==="rtl"}var Ce={convertOffsetParentRelativeRectToViewportRelativeRect:pe,getDocumentElement:P,getClippingRect:ve,getOffsetParent:Kt,getElementRects:Ae,getClientRects:me,getDimensions:Le,getScale:Y,isElement:C,isRTL:Se};var _t=It;var qt=Tt,Jt=Rt;var jt=(i,t,e)=>{let s=new Map,n={platform:Ce,...e},o={...n.platform,_c:s};return Dt(i,t,{...n,platform:o})};function F(i){return i==null||i===""||typeof i=="string"&&i.trim()===""}function w(i){return!F(i)}var ut=class{constructor({element:t,options:e,placeholder:s,state:n,canOptionLabelsWrap:o=!0,canSelectPlaceholder:r=!0,initialOptionLabel:l=null,initialOptionLabels:a=null,initialState:c=null,isHtmlAllowed:h=!1,isAutofocused:d=!1,isDisabled:u=!1,isMultiple:f=!1,isSearchable:p=!1,getOptionLabelUsing:m=null,getOptionLabelsUsing:g=null,getOptionsUsing:y=null,getSearchResultsUsing:b=null,hasDynamicOptions:v=!1,hasDynamicSearchResults:O=!0,searchPrompt:x="Search...",searchDebounce:q=1e3,loadingMessage:G="Loading...",searchingMessage:W="Searching...",noSearchResultsMessage:L="No results found",maxItems:S=null,maxItemsMessage:H="Maximum number of items selected",optionsLimit:X=null,position:Q=null,searchableOptionFields:D=["label"],livewireId:J=null,statePath:R=null,onStateChange:M=()=>{}}){this.element=t,this.options=e,this.originalOptions=JSON.parse(JSON.stringify(e)),this.placeholder=s,this.state=n,this.canOptionLabelsWrap=o,this.canSelectPlaceholder=r,this.initialOptionLabel=l,this.initialOptionLabels=a,this.initialState=c,this.isHtmlAllowed=h,this.isAutofocused=d,this.isDisabled=u,this.isMultiple=f,this.isSearchable=p,this.getOptionLabelUsing=m,this.getOptionLabelsUsing=g,this.getOptionsUsing=y,this.getSearchResultsUsing=b,this.hasDynamicOptions=v,this.hasDynamicSearchResults=O,this.searchPrompt=x,this.searchDebounce=q,this.loadingMessage=G,this.searchingMessage=W,this.noSearchResultsMessage=L,this.maxItems=S,this.maxItemsMessage=H,this.optionsLimit=X,this.position=Q,this.searchableOptionFields=Array.isArray(D)?D:["label"],this.livewireId=J,this.statePath=R,this.onStateChange=M,this.labelRepository={},this.isOpen=!1,this.selectedIndex=-1,this.searchQuery="",this.searchTimeout=null,this.render(),this.setUpEventListeners(),this.isAutofocused&&this.selectButton.focus()}populateLabelRepositoryFromOptions(t){if(!(!t||!Array.isArray(t)))for(let e of t)e.options&&Array.isArray(e.options)?this.populateLabelRepositoryFromOptions(e.options):e.value!==void 0&&e.label!==void 0&&(this.labelRepository[e.value]=e.label)}render(){this.populateLabelRepositoryFromOptions(this.options),this.container=document.createElement("div"),this.container.className="fi-select-input-ctn",this.canOptionLabelsWrap||this.container.classList.add("fi-select-input-ctn-option-labels-not-wrapped"),this.container.setAttribute("aria-haspopup","listbox"),this.selectButton=document.createElement("button"),this.selectButton.className="fi-select-input-btn",this.selectButton.type="button",this.selectButton.setAttribute("aria-expanded","false"),this.selectedDisplay=document.createElement("div"),this.selectedDisplay.className="fi-select-input-value-ctn",this.updateSelectedDisplay(),this.selectButton.appendChild(this.selectedDisplay),this.dropdown=document.createElement("div"),this.dropdown.className="fi-dropdown-panel fi-scrollable",this.dropdown.setAttribute("role","listbox"),this.dropdown.setAttribute("tabindex","-1"),this.dropdown.style.display="none",this.dropdownId=`fi-select-input-dropdown-${Math.random().toString(36).substring(2,11)}`,this.dropdown.id=this.dropdownId,this.isMultiple&&this.dropdown.setAttribute("aria-multiselectable","true"),this.isSearchable&&(this.searchContainer=document.createElement("div"),this.searchContainer.className="fi-select-input-search-ctn",this.searchInput=document.createElement("input"),this.searchInput.className="fi-input",this.searchInput.type="text",this.searchInput.placeholder=this.searchPrompt,this.searchInput.setAttribute("aria-label","Search"),this.searchContainer.appendChild(this.searchInput),this.dropdown.appendChild(this.searchContainer),this.searchInput.addEventListener("input",t=>{this.isDisabled||this.handleSearch(t)}),this.searchInput.addEventListener("keydown",t=>{if(!this.isDisabled){if(t.key==="Tab"){t.preventDefault();let e=this.getVisibleOptions();if(e.length===0)return;t.shiftKey?this.selectedIndex=e.length-1:this.selectedIndex=0,e.forEach(s=>{s.classList.remove("fi-selected")}),e[this.selectedIndex].classList.add("fi-selected"),e[this.selectedIndex].focus()}else if(t.key==="ArrowDown"){if(t.preventDefault(),t.stopPropagation(),this.getVisibleOptions().length===0)return;this.selectedIndex=-1,this.searchInput.blur(),this.focusNextOption()}else if(t.key==="ArrowUp"){t.preventDefault(),t.stopPropagation();let e=this.getVisibleOptions();if(e.length===0)return;this.selectedIndex=e.length-1,this.searchInput.blur(),e[this.selectedIndex].classList.add("fi-selected"),e[this.selectedIndex].focus(),e[this.selectedIndex].id&&this.dropdown.setAttribute("aria-activedescendant",e[this.selectedIndex].id),this.scrollOptionIntoView(e[this.selectedIndex])}}})),this.optionsList=document.createElement("ul"),this.renderOptions(),this.container.appendChild(this.selectButton),this.container.appendChild(this.dropdown),this.element.appendChild(this.container),this.applyDisabledState()}renderOptions(){this.optionsList.innerHTML="";let t=0,e=this.options,s=0,n=!1;this.options.forEach(l=>{l.options&&Array.isArray(l.options)?(s+=l.options.length,n=!0):s++}),n?this.optionsList.className="fi-select-input-options-ctn":s>0&&(this.optionsList.className="fi-dropdown-list");let o=n?null:this.optionsList,r=0;for(let l of e){if(this.optionsLimit&&r>=this.optionsLimit)break;if(l.options&&Array.isArray(l.options)){let a=l.options;if(this.isMultiple&&Array.isArray(this.state)&&this.state.length>0&&(a=l.options.filter(c=>!this.state.includes(c.value))),a.length>0){if(this.optionsLimit){let c=this.optionsLimit-r;c{let l=this.createOptionElement(r.value,r);o.appendChild(l)}),s.appendChild(n),s.appendChild(o),this.optionsList.appendChild(s)}createOptionElement(t,e){let s=t,n=e,o=!1;typeof e=="object"&&e!==null&&"label"in e&&"value"in e&&(s=e.value,n=e.label,o=e.isDisabled||!1);let r=document.createElement("li");r.className="fi-dropdown-list-item fi-select-input-option",o&&r.classList.add("fi-disabled");let l=`fi-select-input-option-${Math.random().toString(36).substring(2,11)}`;if(r.id=l,r.setAttribute("role","option"),r.setAttribute("data-value",s),r.setAttribute("tabindex","0"),o&&r.setAttribute("aria-disabled","true"),this.isHtmlAllowed&&typeof n=="string"){let h=document.createElement("div");h.innerHTML=n;let d=h.textContent||h.innerText||n;r.setAttribute("aria-label",d)}let a=this.isMultiple?Array.isArray(this.state)&&this.state.includes(s):this.state===s;r.setAttribute("aria-selected",a?"true":"false"),a&&r.classList.add("fi-selected");let c=document.createElement("span");return this.isHtmlAllowed?c.innerHTML=n:c.textContent=n,r.appendChild(c),o||r.addEventListener("click",h=>{h.preventDefault(),h.stopPropagation(),this.selectOption(s),this.isMultiple&&(this.isSearchable&&this.searchInput?setTimeout(()=>{this.searchInput.focus()},0):setTimeout(()=>{r.focus()},0))}),r}async updateSelectedDisplay(){if(this.selectedDisplay.innerHTML="",this.isMultiple){if(!Array.isArray(this.state)||this.state.length===0){let s=document.createElement("span");s.textContent=this.placeholder,s.classList.add("fi-select-input-placeholder"),this.selectedDisplay.appendChild(s);return}let e=await this.getLabelsForMultipleSelection();this.addBadgesForSelectedOptions(e),this.isOpen&&this.positionDropdown();return}if(this.state===null||this.state===""){let e=document.createElement("span");e.textContent=this.placeholder,e.classList.add("fi-select-input-placeholder"),this.selectedDisplay.appendChild(e);return}let t=await this.getLabelForSingleSelection();this.addSingleSelectionDisplay(t)}async getLabelsForMultipleSelection(){let t=this.getSelectedOptionLabels(),e=[];if(Array.isArray(this.state)){for(let n of this.state)if(!w(this.labelRepository[n])){if(w(t[n])){this.labelRepository[n]=t[n];continue}e.push(n.toString())}}if(e.length>0&&w(this.initialOptionLabels)&&JSON.stringify(this.state)===JSON.stringify(this.initialState)){if(Array.isArray(this.initialOptionLabels))for(let n of this.initialOptionLabels)w(n)&&n.value!==void 0&&n.label!==void 0&&e.includes(n.value)&&(this.labelRepository[n.value]=n.label)}else if(e.length>0&&this.getOptionLabelsUsing)try{let n=await this.getOptionLabelsUsing();for(let o of n)w(o)&&o.value!==void 0&&o.label!==void 0&&(this.labelRepository[o.value]=o.label)}catch(n){console.error("Error fetching option labels:",n)}let s=[];if(Array.isArray(this.state))for(let n of this.state)w(this.labelRepository[n])?s.push(this.labelRepository[n]):w(t[n])?s.push(t[n]):s.push(n);return s}createBadgeElement(t,e){let s=document.createElement("span");s.className="fi-badge fi-size-md fi-color fi-color-primary fi-text-color-600 dark:fi-text-color-200",w(t)&&s.setAttribute("data-value",t);let n=document.createElement("span");n.className="fi-badge-label-ctn";let o=document.createElement("span");o.className="fi-badge-label",this.canOptionLabelsWrap&&o.classList.add("fi-wrapped"),this.isHtmlAllowed?o.innerHTML=e:o.textContent=e,n.appendChild(o),s.appendChild(n);let r=this.createRemoveButton(t,e);return s.appendChild(r),s}createRemoveButton(t,e){let s=document.createElement("button");return s.type="button",s.className="fi-badge-delete-btn",s.innerHTML='',s.setAttribute("aria-label","Remove "+(this.isHtmlAllowed?e.replace(/<[^>]*>/g,""):e)),s.addEventListener("click",n=>{n.stopPropagation(),w(t)&&this.selectOption(t)}),s.addEventListener("keydown",n=>{(n.key===" "||n.key==="Enter")&&(n.preventDefault(),n.stopPropagation(),w(t)&&this.selectOption(t))}),s}addBadgesForSelectedOptions(t){let e=document.createElement("div");e.className="fi-select-input-value-badges-ctn",t.forEach((s,n)=>{let o=Array.isArray(this.state)?this.state[n]:null,r=this.createBadgeElement(o,s);e.appendChild(r)}),this.selectedDisplay.appendChild(e)}async getLabelForSingleSelection(){let t=this.labelRepository[this.state];if(F(t)&&(t=this.getSelectedOptionLabel(this.state)),F(t)&&w(this.initialOptionLabel)&&this.state===this.initialState)t=this.initialOptionLabel,w(this.state)&&(this.labelRepository[this.state]=t);else if(F(t)&&this.getOptionLabelUsing)try{t=await this.getOptionLabelUsing(),w(t)&&w(this.state)&&(this.labelRepository[this.state]=t)}catch(e){console.error("Error fetching option label:",e),t=this.state}else F(t)&&(t=this.state);return t}addSingleSelectionDisplay(t){let e=document.createElement("span");if(e.className="fi-select-input-value-label",this.isHtmlAllowed?e.innerHTML=t:e.textContent=t,this.selectedDisplay.appendChild(e),!this.canSelectPlaceholder)return;let s=document.createElement("button");s.type="button",s.className="fi-select-input-value-remove-btn",s.innerHTML='',s.setAttribute("aria-label","Clear selection"),s.addEventListener("click",n=>{n.stopPropagation(),this.selectOption("")}),s.addEventListener("keydown",n=>{(n.key===" "||n.key==="Enter")&&(n.preventDefault(),n.stopPropagation(),this.selectOption(""))}),this.selectedDisplay.appendChild(s)}getSelectedOptionLabel(t){if(w(this.labelRepository[t]))return this.labelRepository[t];let e="";for(let s of this.options)if(s.options&&Array.isArray(s.options)){for(let n of s.options)if(n.value===t){e=n.label,this.labelRepository[t]=e;break}}else if(s.value===t){e=s.label,this.labelRepository[t]=e;break}return e}setUpEventListeners(){this.buttonClickListener=()=>{this.toggleDropdown()},this.documentClickListener=t=>{!this.container.contains(t.target)&&this.isOpen&&this.closeDropdown()},this.buttonKeydownListener=t=>{this.isDisabled||this.handleSelectButtonKeydown(t)},this.dropdownKeydownListener=t=>{this.isDisabled||this.isSearchable&&document.activeElement===this.searchInput&&!["Tab","Escape"].includes(t.key)||this.handleDropdownKeydown(t)},this.selectButton.addEventListener("click",this.buttonClickListener),document.addEventListener("click",this.documentClickListener),this.selectButton.addEventListener("keydown",this.buttonKeydownListener),this.dropdown.addEventListener("keydown",this.dropdownKeydownListener),!this.isMultiple&&this.livewireId&&this.statePath&&this.getOptionLabelUsing&&(this.refreshOptionLabelListener=async t=>{if(t.detail.livewireId===this.livewireId&&t.detail.statePath===this.statePath&&w(this.state))try{delete this.labelRepository[this.state];let e=await this.getOptionLabelUsing();w(e)&&(this.labelRepository[this.state]=e);let s=this.selectedDisplay.querySelector(".fi-select-input-value-label");w(s)&&(this.isHtmlAllowed?s.innerHTML=e:s.textContent=e),this.updateOptionLabelInList(this.state,e)}catch(e){console.error("Error refreshing option label:",e)}},window.addEventListener("filament-forms::select.refreshSelectedOptionLabel",this.refreshOptionLabelListener))}updateOptionLabelInList(t,e){this.labelRepository[t]=e;let s=this.getVisibleOptions();for(let n of s)if(n.getAttribute("data-value")===String(t)){if(n.innerHTML="",this.isHtmlAllowed){let o=document.createElement("span");o.innerHTML=e,n.appendChild(o)}else n.appendChild(document.createTextNode(e));break}for(let n of this.options)if(n.options&&Array.isArray(n.options)){for(let o of n.options)if(o.value===t){o.label=e;break}}else if(n.value===t){n.label=e;break}for(let n of this.originalOptions)if(n.options&&Array.isArray(n.options)){for(let o of n.options)if(o.value===t){o.label=e;break}}else if(n.value===t){n.label=e;break}}handleSelectButtonKeydown(t){switch(t.key){case"ArrowDown":t.preventDefault(),t.stopPropagation(),this.isOpen?this.focusNextOption():this.openDropdown();break;case"ArrowUp":t.preventDefault(),t.stopPropagation(),this.isOpen?this.focusPreviousOption():this.openDropdown();break;case" ":if(t.preventDefault(),this.isOpen){if(this.selectedIndex>=0){let e=this.getVisibleOptions()[this.selectedIndex];e&&e.click()}}else this.openDropdown();break;case"Enter":break;case"Escape":this.isOpen&&(t.preventDefault(),this.closeDropdown());break;case"Tab":this.isOpen&&this.closeDropdown();break}}handleDropdownKeydown(t){switch(t.key){case"ArrowDown":t.preventDefault(),t.stopPropagation(),this.focusNextOption();break;case"ArrowUp":t.preventDefault(),t.stopPropagation(),this.focusPreviousOption();break;case" ":if(t.preventDefault(),this.selectedIndex>=0){let e=this.getVisibleOptions()[this.selectedIndex];e&&e.click()}break;case"Enter":if(t.preventDefault(),this.selectedIndex>=0){let e=this.getVisibleOptions()[this.selectedIndex];e&&e.click()}else{let e=this.element.closest("form");e&&e.submit()}break;case"Escape":t.preventDefault(),this.closeDropdown(),this.selectButton.focus();break;case"Tab":this.closeDropdown();break}}toggleDropdown(){if(!this.isDisabled){if(this.isOpen){this.closeDropdown();return}this.isMultiple&&!this.isSearchable&&!this.hasAvailableOptions()||this.openDropdown()}}hasAvailableOptions(){for(let t of this.options)if(t.options&&Array.isArray(t.options)){for(let e of t.options)if(!Array.isArray(this.state)||!this.state.includes(e.value))return!0}else if(!Array.isArray(this.state)||!this.state.includes(t.value))return!0;return!1}async openDropdown(){this.dropdown.style.display="block",this.dropdown.style.opacity="0";let t=this.selectButton.closest(".fi-absolute-positioning-context")!==null;if(this.dropdown.style.position=t?"absolute":"fixed",this.dropdown.style.width=`${this.selectButton.offsetWidth}px`,this.selectButton.setAttribute("aria-expanded","true"),this.isOpen=!0,this.positionDropdown(),this.resizeListener||(this.resizeListener=()=>{this.dropdown.style.width=`${this.selectButton.offsetWidth}px`,this.positionDropdown()},window.addEventListener("resize",this.resizeListener)),this.scrollListener||(this.scrollListener=()=>this.positionDropdown(),window.addEventListener("scroll",this.scrollListener,!0)),this.dropdown.style.opacity="1",this.hasDynamicOptions&&this.getOptionsUsing){this.showLoadingState(!1);try{let e=await this.getOptionsUsing();this.options=e,this.originalOptions=JSON.parse(JSON.stringify(e)),this.populateLabelRepositoryFromOptions(e),this.renderOptions()}catch(e){console.error("Error fetching options:",e),this.hideLoadingState()}}if(this.hideLoadingState(),this.isSearchable&&this.searchInput)this.searchInput.value="",this.searchInput.focus(),this.searchQuery="",this.options=JSON.parse(JSON.stringify(this.originalOptions)),this.renderOptions();else{this.selectedIndex=-1;let e=this.getVisibleOptions();if(this.isMultiple){if(Array.isArray(this.state)&&this.state.length>0){for(let s=0;s0&&(this.selectedIndex=0),this.selectedIndex>=0&&(e[this.selectedIndex].classList.add("fi-selected"),e[this.selectedIndex].focus())}}positionDropdown(){let t=this.position==="top"?"top-start":"bottom-start",e=[_t(4),qt({padding:5})];this.position!=="top"&&this.position!=="bottom"&&e.push(Jt());let s=this.selectButton.closest(".fi-absolute-positioning-context")!==null;jt(this.selectButton,this.dropdown,{placement:t,middleware:e,strategy:s?"absolute":"fixed"}).then(({x:n,y:o})=>{Object.assign(this.dropdown.style,{left:`${n}px`,top:`${o}px`})})}closeDropdown(){this.dropdown.style.display="none",this.selectButton.setAttribute("aria-expanded","false"),this.isOpen=!1,this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null),this.scrollListener&&(window.removeEventListener("scroll",this.scrollListener,!0),this.scrollListener=null),this.getVisibleOptions().forEach(e=>{e.classList.remove("fi-selected")})}focusNextOption(){let t=this.getVisibleOptions();if(t.length!==0){if(this.selectedIndex>=0&&this.selectedIndex=0&&this.selectedIndexe.bottom?this.dropdown.scrollTop+=s.bottom-e.bottom:s.top li[role="option"]')):t=Array.from(this.optionsList.querySelectorAll(':scope > ul.fi-dropdown-list > li[role="option"]'));let e=Array.from(this.optionsList.querySelectorAll('li.fi-select-input-option-group > ul > li[role="option"]'));return[...t,...e]}getSelectedOptionLabels(){if(!Array.isArray(this.state)||this.state.length===0)return{};let t={};for(let e of this.state){let s=!1;for(let n of this.options)if(n.options&&Array.isArray(n.options)){for(let o of n.options)if(o.value===e){t[e]=o.label,s=!0;break}if(s)break}else if(n.value===e){t[e]=n.label,s=!0;break}}return t}handleSearch(t){let e=t.target.value.trim().toLowerCase();if(this.searchQuery=e,this.searchTimeout&&clearTimeout(this.searchTimeout),e===""){this.options=JSON.parse(JSON.stringify(this.originalOptions)),this.renderOptions();return}if(!this.getSearchResultsUsing||typeof this.getSearchResultsUsing!="function"||!this.hasDynamicSearchResults){this.filterOptions(e);return}this.searchTimeout=setTimeout(async()=>{try{this.showLoadingState(!0);let s=await this.getSearchResultsUsing(e);this.options=s,this.populateLabelRepositoryFromOptions(s),this.hideLoadingState(),this.renderOptions(),this.isOpen&&this.positionDropdown(),this.options.length===0&&this.showNoResultsMessage()}catch(s){console.error("Error fetching search results:",s),this.hideLoadingState(),this.options=JSON.parse(JSON.stringify(this.originalOptions)),this.renderOptions()}},this.searchDebounce)}showLoadingState(t=!1){this.optionsList.parentNode===this.dropdown&&(this.optionsList.innerHTML=""),this.hideLoadingState();let e=document.createElement("div");e.className="fi-select-input-message",e.textContent=t?this.searchingMessage:this.loadingMessage,this.dropdown.appendChild(e)}hideLoadingState(){let t=this.dropdown.querySelector(".fi-select-input-message");t&&t.remove()}showNoResultsMessage(){this.optionsList.parentNode===this.dropdown&&this.optionsList.children.length>0&&(this.optionsList.innerHTML=""),this.hideLoadingState();let t=document.createElement("div");t.className="fi-select-input-message",t.textContent=this.noSearchResultsMessage,this.dropdown.appendChild(t)}filterOptions(t){let e=this.searchableOptionFields.includes("label"),s=this.searchableOptionFields.includes("value"),n=[];for(let o of this.originalOptions)if(o.options&&Array.isArray(o.options)){let r=o.options.filter(l=>e&&l.label.toLowerCase().includes(t)||s&&String(l.value).toLowerCase().includes(t));r.length>0&&n.push({label:o.label,options:r})}else(e&&o.label.toLowerCase().includes(t)||s&&String(o.value).toLowerCase().includes(t))&&n.push(o);this.options=n,this.renderOptions(),this.options.length===0&&this.showNoResultsMessage(),this.isOpen&&this.positionDropdown()}selectOption(t){if(this.isDisabled)return;if(!this.isMultiple){this.state=t,this.updateSelectedDisplay(),this.renderOptions(),this.closeDropdown(),this.selectButton.focus(),this.onStateChange(this.state);return}let e=Array.isArray(this.state)?[...this.state]:[];if(e.includes(t)){let n=this.selectedDisplay.querySelector(`[data-value="${t}"]`);if(w(n)){let o=n.parentElement;w(o)&&o.children.length===1?(e=e.filter(r=>r!==t),this.state=e,this.updateSelectedDisplay()):(n.remove(),e=e.filter(r=>r!==t),this.state=e)}else e=e.filter(o=>o!==t),this.state=e,this.updateSelectedDisplay();this.renderOptions(),this.isOpen&&this.positionDropdown(),this.maintainFocusInMultipleMode(),this.onStateChange(this.state);return}if(this.maxItems&&e.length>=this.maxItems){this.maxItemsMessage&&alert(this.maxItemsMessage);return}e.push(t),this.state=e;let s=this.selectedDisplay.querySelector(".fi-select-input-value-badges-ctn");F(s)?this.updateSelectedDisplay():this.addSingleBadge(t,s),this.renderOptions(),this.isOpen&&this.positionDropdown(),this.maintainFocusInMultipleMode(),this.onStateChange(this.state)}async addSingleBadge(t,e){let s=this.labelRepository[t];if(F(s)&&(s=this.getSelectedOptionLabel(t),w(s)&&(this.labelRepository[t]=s)),F(s)&&this.getOptionLabelsUsing)try{let o=await this.getOptionLabelsUsing();for(let r of o)if(w(r)&&r.value===t&&r.label!==void 0){s=r.label,this.labelRepository[t]=s;break}}catch(o){console.error("Error fetching option label:",o)}F(s)&&(s=t);let n=this.createBadgeElement(t,s);e.appendChild(n)}maintainFocusInMultipleMode(){if(this.isSearchable&&this.searchInput){this.searchInput.focus();return}let t=this.getVisibleOptions();if(t.length!==0){if(this.selectedIndex=-1,Array.isArray(this.state)&&this.state.length>0){for(let e=0;e{e.setAttribute("disabled","disabled"),e.classList.add("fi-disabled")}),!this.isMultiple&&this.canSelectPlaceholder){let t=this.container.querySelector(".fi-select-input-value-remove-btn");t&&(t.setAttribute("disabled","disabled"),t.classList.add("fi-disabled"))}this.isSearchable&&this.searchInput&&(this.searchInput.setAttribute("disabled","disabled"),this.searchInput.classList.add("fi-disabled"))}else{if(this.selectButton.removeAttribute("disabled"),this.selectButton.removeAttribute("aria-disabled"),this.selectButton.classList.remove("fi-disabled"),this.isMultiple&&this.container.querySelectorAll(".fi-select-input-badge-remove").forEach(e=>{e.removeAttribute("disabled"),e.classList.remove("fi-disabled")}),!this.isMultiple&&this.canSelectPlaceholder){let t=this.container.querySelector(".fi-select-input-value-remove-btn");t&&(t.removeAttribute("disabled"),t.classList.add("fi-disabled"))}this.isSearchable&&this.searchInput&&(this.searchInput.removeAttribute("disabled"),this.searchInput.classList.remove("fi-disabled"))}}destroy(){this.selectButton&&this.buttonClickListener&&this.selectButton.removeEventListener("click",this.buttonClickListener),this.documentClickListener&&document.removeEventListener("click",this.documentClickListener),this.selectButton&&this.buttonKeydownListener&&this.selectButton.removeEventListener("keydown",this.buttonKeydownListener),this.dropdown&&this.dropdownKeydownListener&&this.dropdown.removeEventListener("keydown",this.dropdownKeydownListener),this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null),this.scrollListener&&(window.removeEventListener("scroll",this.scrollListener,!0),this.scrollListener=null),this.refreshOptionLabelListener&&window.removeEventListener("filament-forms::select.refreshSelectedOptionLabel",this.refreshOptionLabelListener),this.isOpen&&this.closeDropdown(),this.searchTimeout&&(clearTimeout(this.searchTimeout),this.searchTimeout=null),this.container&&this.container.remove()}};function Ee({canOptionLabelsWrap:i,canSelectPlaceholder:t,getOptionLabelUsing:e,getOptionsUsing:s,getSearchResultsUsing:n,hasDynamicOptions:o,hasDynamicSearchResults:r,initialOptionLabel:l,isDisabled:a,isHtmlAllowed:c,isNative:h,isSearchable:d,loadingMessage:u,name:f,noSearchResultsMessage:p,options:m,optionsLimit:g,placeholder:y,position:b,recordKey:v,searchableOptionFields:O,searchDebounce:x,searchingMessage:q,searchPrompt:G,state:W}){return{error:void 0,isLoading:!1,select:null,state:W,init(){h||(this.select=new ut({element:this.$refs.select,options:m,placeholder:y,state:this.state,canOptionLabelsWrap:i,canSelectPlaceholder:t,initialOptionLabel:l,isHtmlAllowed:c,isDisabled:a,isSearchable:d,getOptionLabelUsing:e,getOptionsUsing:s,getSearchResultsUsing:n,hasDynamicOptions:o,hasDynamicSearchResults:r,searchPrompt:G,searchDebounce:x,loadingMessage:u,searchingMessage:q,noSearchResultsMessage:p,optionsLimit:g,position:b,searchableOptionFields:O,onStateChange:L=>{this.state=L}})),Livewire.hook("commit",({component:L,commit:S,succeed:H,fail:X,respond:Q})=>{H(({snapshot:D,effect:J})=>{this.$nextTick(()=>{if(this.isLoading||L.id!==this.$root.closest("[wire\\:id]")?.attributes["wire:id"].value)return;let R=this.getServerState();R===void 0||this.getNormalizedState()===R||(this.state=R)})})}),this.$watch("state",async L=>{!h&&this.select&&this.select.state!==L&&(this.select.state=L,this.select.updateSelectedDisplay(),this.select.renderOptions());let S=this.getServerState();if(S===void 0||this.getNormalizedState()===S)return;this.isLoading=!0;let H=await this.$wire.updateTableColumnState(f,v,this.state);this.error=H?.error??void 0,!this.error&&this.$refs.serverState&&(this.$refs.serverState.value=this.getNormalizedState()),this.isLoading=!1})},getServerState(){if(this.$refs.serverState)return[null,void 0].includes(this.$refs.serverState.value)?"":this.$refs.serverState.value.replaceAll('\\"','"')},getNormalizedState(){let L=Alpine.raw(this.state);return[null,void 0].includes(L)?"":L},destroy(){this.select&&(this.select.destroy(),this.select=null)}}}export{Ee as default}; diff --git a/public/js/filament/tables/components/columns/text-input.js b/public/js/filament/tables/components/columns/text-input.js new file mode 100644 index 0000000..ebc1528 --- /dev/null +++ b/public/js/filament/tables/components/columns/text-input.js @@ -0,0 +1 @@ +function o({name:i,recordKey:s,state:a}){return{error:void 0,isLoading:!1,state:a,init(){Livewire.hook("commit",({component:e,commit:r,succeed:n,fail:d,respond:u})=>{n(({snapshot:f,effect:h})=>{this.$nextTick(()=>{if(this.isLoading||e.id!==this.$root.closest("[wire\\:id]")?.attributes["wire:id"].value)return;let t=this.getServerState();t===void 0||this.getNormalizedState()===t||(this.state=t)})})}),this.$watch("state",async()=>{let e=this.getServerState();if(e===void 0||this.getNormalizedState()===e)return;this.isLoading=!0;let r=await this.$wire.updateTableColumnState(i,s,this.state);this.error=r?.error??void 0,!this.error&&this.$refs.serverState&&(this.$refs.serverState.value=this.getNormalizedState()),this.isLoading=!1})},getServerState(){if(this.$refs.serverState)return[null,void 0].includes(this.$refs.serverState.value)?"":this.$refs.serverState.value.replaceAll('\\"','"')},getNormalizedState(){let e=Alpine.raw(this.state);return[null,void 0].includes(e)?"":e}}}export{o as default}; diff --git a/public/js/filament/tables/components/columns/toggle.js b/public/js/filament/tables/components/columns/toggle.js new file mode 100644 index 0000000..f177b3c --- /dev/null +++ b/public/js/filament/tables/components/columns/toggle.js @@ -0,0 +1 @@ +function o({name:i,recordKey:s,state:a}){return{error:void 0,isLoading:!1,state:a,init(){Livewire.hook("commit",({component:e,commit:r,succeed:n,fail:h,respond:u})=>{n(({snapshot:f,effect:d})=>{this.$nextTick(()=>{if(this.isLoading||e.id!==this.$root.closest("[wire\\:id]")?.attributes["wire:id"].value)return;let t=this.getServerState();t===void 0||Alpine.raw(this.state)===t||(this.state=t)})})}),this.$watch("state",async()=>{let e=this.getServerState();if(e===void 0||Alpine.raw(this.state)===e)return;this.isLoading=!0;let r=await this.$wire.updateTableColumnState(i,s,this.state);this.error=r?.error??void 0,!this.error&&this.$refs.serverState&&(this.$refs.serverState.value=this.state?"1":"0"),this.isLoading=!1})},getServerState(){if(this.$refs.serverState)return[1,"1"].includes(this.$refs.serverState.value)}}}export{o as default}; diff --git a/public/js/filament/tables/tables.js b/public/js/filament/tables/tables.js new file mode 100644 index 0000000..499905a --- /dev/null +++ b/public/js/filament/tables/tables.js @@ -0,0 +1 @@ +(()=>{var g=({canTrackDeselectedRecords:u,currentSelectionLivewireProperty:o,maxSelectableRecords:l,selectsCurrentPageOnly:r,$wire:s})=>({checkboxClickController:null,collapsedGroups:[],isLoading:!1,selectedRecords:new Set,deselectedRecords:new Set,isTrackingDeselectedRecords:!1,shouldCheckUniqueSelection:!0,lastCheckedRecord:null,livewireId:null,entangledSelectedRecords:o?s.$entangle(o):null,init(){this.livewireId=this.$root.closest("[wire\\:id]")?.attributes["wire:id"].value,s.$on("deselectAllTableRecords",()=>this.deselectAllRecords()),o&&(l!==1?this.selectedRecords=new Set(this.entangledSelectedRecords):this.selectedRecords=new Set(this.entangledSelectedRecords?[this.entangledSelectedRecords]:[])),this.$nextTick(()=>this.watchForCheckboxClicks()),Livewire.hook("element.init",({component:e})=>{e.id===this.livewireId&&this.watchForCheckboxClicks()})},mountAction(...e){s.set("isTrackingDeselectedTableRecords",this.isTrackingDeselectedRecords,!1),s.set("selectedTableRecords",[...this.selectedRecords],!1),s.set("deselectedTableRecords",[...this.deselectedRecords],!1),s.mountAction(...e)},toggleSelectRecordsOnPage(){let e=this.getRecordsOnPage();if(this.areRecordsSelected(e)){this.deselectRecords(e);return}this.selectRecords(e)},toggleSelectRecords(e){this.areRecordsSelected(e)?this.deselectRecords(e):this.selectRecords(e)},getSelectedRecordsCount(){return this.isTrackingDeselectedRecords?(this.$refs.allSelectableRecordsCount?.value??this.deselectedRecords.size)-this.deselectedRecords.size:this.selectedRecords.size},getRecordsOnPage(){let e=[];for(let t of this.$root?.getElementsByClassName("fi-ta-record-checkbox")??[])e.push(t.value);return e},selectRecords(e){l===1&&(this.deselectAllRecords(),e=e.slice(0,1));for(let t of e)if(!this.isRecordSelected(t)){if(this.isTrackingDeselectedRecords){this.deselectedRecords.delete(t);continue}this.selectedRecords.add(t)}this.updatedSelectedRecords()},deselectRecords(e){for(let t of e){if(this.isTrackingDeselectedRecords){this.deselectedRecords.add(t);continue}this.selectedRecords.delete(t)}this.updatedSelectedRecords()},updatedSelectedRecords(){if(l!==1){this.entangledSelectedRecords=[...this.selectedRecords];return}this.entangledSelectedRecords=[...this.selectedRecords][0]??null},toggleSelectedRecord(e){if(this.isRecordSelected(e)){this.deselectRecords([e]);return}this.selectRecords([e])},async selectAllRecords(){if(!u||r){this.isLoading=!0,this.selectedRecords=new Set(await s.getAllSelectableTableRecordKeys()),this.updatedSelectedRecords(),this.isLoading=!1;return}this.isTrackingDeselectedRecords=!0,this.selectedRecords=new Set,this.deselectedRecords=new Set,this.updatedSelectedRecords()},canSelectAllRecords(){if(r){let i=this.getRecordsOnPage();return!this.areRecordsSelected(i)&&this.areRecordsToggleable(i)}let e=parseInt(this.$refs.allSelectableRecordsCount?.value);if(!e)return!1;let t=this.getSelectedRecordsCount();return e===t?!1:l===null||e<=l},deselectAllRecords(){this.isTrackingDeselectedRecords=!1,this.selectedRecords=new Set,this.deselectedRecords=new Set,this.updatedSelectedRecords()},isRecordSelected(e){return this.isTrackingDeselectedRecords?!this.deselectedRecords.has(e):this.selectedRecords.has(e)},areRecordsSelected(e){return e.every(t=>this.isRecordSelected(t))},areRecordsToggleable(e){if(l===null||l===1)return!0;let t=e.filter(i=>this.isRecordSelected(i));return t.length===e.length?!0:this.getSelectedRecordsCount()+(e.length-t.length)<=l},toggleCollapseGroup(e){if(this.isGroupCollapsed(e)){this.collapsedGroups.splice(this.collapsedGroups.indexOf(e),1);return}this.collapsedGroups.push(e)},isGroupCollapsed(e){return this.collapsedGroups.includes(e)},resetCollapsedGroups(){this.collapsedGroups=[]},watchForCheckboxClicks(){this.checkboxClickController&&this.checkboxClickController.abort(),this.checkboxClickController=new AbortController;let{signal:e}=this.checkboxClickController;this.$root?.addEventListener("click",t=>t.target?.matches(".fi-ta-record-checkbox")&&this.handleCheckboxClick(t,t.target),{signal:e})},handleCheckboxClick(e,t){if(!this.lastChecked){this.lastChecked=t;return}if(e.shiftKey){let i=Array.from(this.$root?.getElementsByClassName("fi-ta-record-checkbox")??[]);if(!i.includes(this.lastChecked)){this.lastChecked=t;return}let d=i.indexOf(this.lastChecked),n=i.indexOf(t),a=[d,n].sort((c,R)=>c-R),h=[];for(let c=a[0];c<=a[1];c++)h.push(i[c].value);if(t.checked){if(!this.areRecordsToggleable(h)){t.checked=!1,this.deselectRecords([t.value]);return}this.selectRecords(h)}else this.deselectRecords(h)}this.lastChecked=t}});function f({columns:u,isLive:o}){return{error:void 0,isLoading:!1,columns:u,isLive:o,init(){if(!this.columns||this.columns.length===0){this.columns=[];return}},get groupedColumns(){let l={};return this.columns.filter(r=>r.type==="group").forEach(r=>{l[r.name]=this.calculateGroupedColumns(r)}),l},calculateGroupedColumns(l){if((l?.columns?.filter(i=>!i.isHidden)??[]).length===0)return{hidden:!0,checked:!1,disabled:!1,indeterminate:!1};let s=l.columns.filter(i=>!i.isHidden&&i.isToggleable!==!1);if(s.length===0)return{checked:!0,disabled:!0,indeterminate:!1};let e=s.filter(i=>i.isToggled).length,t=l.columns.filter(i=>!i.isHidden&&i.isToggleable===!1);return e===0&&t.length>0?{checked:!0,disabled:!1,indeterminate:!0}:e===0?{checked:!1,disabled:!1,indeterminate:!1}:e===s.length?{checked:!0,disabled:!1,indeterminate:!1}:{checked:!0,disabled:!1,indeterminate:!0}},getColumn(l,r=null){return r?this.columns.find(e=>e.type==="group"&&e.name===r)?.columns?.find(e=>e.name===l):this.columns.find(s=>s.name===l)},toggleGroup(l){let r=this.columns.find(d=>d.type==="group"&&d.name===l);if(!r?.columns)return;let s=this.calculateGroupedColumns(r);if(s.disabled)return;let t=r.columns.filter(d=>d.isToggleable!==!1).some(d=>d.isToggled),i=s.indeterminate?!0:!t;r.columns.filter(d=>d.isToggleable!==!1).forEach(d=>{d.isToggled=i}),this.columns=[...this.columns],this.isLive&&this.applyTableColumnManager()},toggleColumn(l,r=null){let s=this.getColumn(l,r);!s||s.isToggleable===!1||(s.isToggled=!s.isToggled,this.columns=[...this.columns],this.isLive&&this.applyTableColumnManager())},reorderColumns(l){let r=l.map(s=>s.split("::"));this.reorderTopLevel(r),this.isLive&&this.applyTableColumnManager()},reorderGroupColumns(l,r){let s=this.columns.find(i=>i.type==="group"&&i.name===r);if(!s)return;let e=l.map(i=>i.split("::")),t=[];e.forEach(([i,d])=>{let n=s.columns.find(a=>a.name===d);n&&t.push(n)}),s.columns=t,this.columns=[...this.columns],this.isLive&&this.applyTableColumnManager()},reorderTopLevel(l){let r=this.columns,s=[];l.forEach(([e,t])=>{let i=r.find(d=>e==="group"?d.type==="group"&&d.name===t:e==="column"?d.type!=="group"&&d.name===t:!1);i&&s.push(i)}),this.columns=s},async applyTableColumnManager(){this.isLoading=!0;try{await this.$wire.call("applyTableColumnManager",this.columns),this.error=void 0}catch(l){this.error="Failed to update column visibility",console.error("Table toggle columns error:",l)}finally{this.isLoading=!1}}}}document.addEventListener("alpine:init",()=>{window.Alpine.data("filamentTable",g),window.Alpine.data("filamentTableColumnManager",f)});})(); diff --git a/public/js/filament/widgets/components/chart.js b/public/js/filament/widgets/components/chart.js new file mode 100644 index 0000000..3863018 --- /dev/null +++ b/public/js/filament/widgets/components/chart.js @@ -0,0 +1,30 @@ +var Xc=Object.defineProperty;var Kc=(s,t,e)=>t in s?Xc(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var S=(s,t,e)=>Kc(s,typeof t!="symbol"?t+"":t,e);function ks(s){return s+.5|0}var ee=(s,t,e)=>Math.max(Math.min(s,e),t);function ws(s){return ee(ks(s*2.55),0,255)}function se(s){return ee(ks(s*255),0,255)}function Bt(s){return ee(ks(s/2.55)/100,0,1)}function Or(s){return ee(ks(s*100),0,100)}var _t={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},En=[..."0123456789ABCDEF"],Jc=s=>En[s&15],Qc=s=>En[(s&240)>>4]+En[s&15],vi=s=>(s&240)>>4===(s&15),th=s=>vi(s.r)&&vi(s.g)&&vi(s.b)&&vi(s.a);function eh(s){var t=s.length,e;return s[0]==="#"&&(t===4||t===5?e={r:255&_t[s[1]]*17,g:255&_t[s[2]]*17,b:255&_t[s[3]]*17,a:t===5?_t[s[4]]*17:255}:(t===7||t===9)&&(e={r:_t[s[1]]<<4|_t[s[2]],g:_t[s[3]]<<4|_t[s[4]],b:_t[s[5]]<<4|_t[s[6]],a:t===9?_t[s[7]]<<4|_t[s[8]]:255})),e}var sh=(s,t)=>s<255?t(s):"";function ih(s){var t=th(s)?Jc:Qc;return s?"#"+t(s.r)+t(s.g)+t(s.b)+sh(s.a,t):void 0}var nh=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Cr(s,t,e){let i=t*Math.min(e,1-e),n=(o,r=(o+s/30)%12)=>e-i*Math.max(Math.min(r-3,9-r,1),-1);return[n(0),n(8),n(4)]}function oh(s,t,e){let i=(n,o=(n+s/60)%6)=>e-e*t*Math.max(Math.min(o,4-o,1),0);return[i(5),i(3),i(1)]}function rh(s,t,e){let i=Cr(s,1,.5),n;for(t+e>1&&(n=1/(t+e),t*=n,e*=n),n=0;n<3;n++)i[n]*=1-t-e,i[n]+=t;return i}function ah(s,t,e,i,n){return s===n?(t-e)/i+(t.5?h/(2-o-r):h/(o+r),l=ah(e,i,n,h,o),l=l*60+.5),[l|0,c||0,a]}function Cn(s,t,e,i){return(Array.isArray(t)?s(t[0],t[1],t[2]):s(t,e,i)).map(se)}function Fn(s,t,e){return Cn(Cr,s,t,e)}function lh(s,t,e){return Cn(rh,s,t,e)}function ch(s,t,e){return Cn(oh,s,t,e)}function Fr(s){return(s%360+360)%360}function hh(s){let t=nh.exec(s),e=255,i;if(!t)return;t[5]!==i&&(e=t[6]?ws(+t[5]):se(+t[5]));let n=Fr(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?i=lh(n,o,r):t[1]==="hsv"?i=ch(n,o,r):i=Fn(n,o,r),{r:i[0],g:i[1],b:i[2],a:e}}function uh(s,t){var e=In(s);e[0]=Fr(e[0]+t),e=Fn(e),s.r=e[0],s.g=e[1],s.b=e[2]}function dh(s){if(!s)return;let t=In(s),e=t[0],i=Or(t[1]),n=Or(t[2]);return s.a<255?`hsla(${e}, ${i}%, ${n}%, ${Bt(s.a)})`:`hsl(${e}, ${i}%, ${n}%)`}var Dr={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Er={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function fh(){let s={},t=Object.keys(Er),e=Object.keys(Dr),i,n,o,r,a;for(i=0;i>16&255,o>>8&255,o&255]}return s}var Ti;function mh(s){Ti||(Ti=fh(),Ti.transparent=[0,0,0,0]);let t=Ti[s.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}var gh=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function ph(s){let t=gh.exec(s),e=255,i,n,o;if(t){if(t[7]!==i){let r=+t[7];e=t[8]?ws(r):ee(r*255,0,255)}return i=+t[1],n=+t[3],o=+t[5],i=255&(t[2]?ws(i):ee(i,0,255)),n=255&(t[4]?ws(n):ee(n,0,255)),o=255&(t[6]?ws(o):ee(o,0,255)),{r:i,g:n,b:o,a:e}}}function yh(s){return s&&(s.a<255?`rgba(${s.r}, ${s.g}, ${s.b}, ${Bt(s.a)})`:`rgb(${s.r}, ${s.g}, ${s.b})`)}var Dn=s=>s<=.0031308?s*12.92:Math.pow(s,1/2.4)*1.055-.055,Re=s=>s<=.04045?s/12.92:Math.pow((s+.055)/1.055,2.4);function bh(s,t,e){let i=Re(Bt(s.r)),n=Re(Bt(s.g)),o=Re(Bt(s.b));return{r:se(Dn(i+e*(Re(Bt(t.r))-i))),g:se(Dn(n+e*(Re(Bt(t.g))-n))),b:se(Dn(o+e*(Re(Bt(t.b))-o))),a:s.a+e*(t.a-s.a)}}function Oi(s,t,e){if(s){let i=In(s);i[t]=Math.max(0,Math.min(i[t]+i[t]*e,t===0?360:1)),i=Fn(i),s.r=i[0],s.g=i[1],s.b=i[2]}}function Ar(s,t){return s&&Object.assign(t||{},s)}function Ir(s){var t={r:0,g:0,b:0,a:255};return Array.isArray(s)?s.length>=3&&(t={r:s[0],g:s[1],b:s[2],a:255},s.length>3&&(t.a=se(s[3]))):(t=Ar(s,{r:0,g:0,b:0,a:1}),t.a=se(t.a)),t}function xh(s){return s.charAt(0)==="r"?ph(s):hh(s)}var Ss=class s{constructor(t){if(t instanceof s)return t;let e=typeof t,i;e==="object"?i=Ir(t):e==="string"&&(i=eh(t)||mh(t)||xh(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=Ar(this._rgb);return t&&(t.a=Bt(t.a)),t}set rgb(t){this._rgb=Ir(t)}rgbString(){return this._valid?yh(this._rgb):void 0}hexString(){return this._valid?ih(this._rgb):void 0}hslString(){return this._valid?dh(this._rgb):void 0}mix(t,e){if(t){let i=this.rgb,n=t.rgb,o,r=e===o?.5:e,a=2*r-1,l=i.a-n.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,i.r=255&c*i.r+o*n.r+.5,i.g=255&c*i.g+o*n.g+.5,i.b=255&c*i.b+o*n.b+.5,i.a=r*i.a+(1-r)*n.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=bh(this._rgb,t._rgb,e)),this}clone(){return new s(this.rgb)}alpha(t){return this._rgb.a=se(t),this}clearer(t){let e=this._rgb;return e.a*=1-t,this}greyscale(){let t=this._rgb,e=ks(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){let e=this._rgb;return e.a*=1+t,this}negate(){let t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Oi(this._rgb,2,t),this}darken(t){return Oi(this._rgb,2,-t),this}saturate(t){return Oi(this._rgb,1,t),this}desaturate(t){return Oi(this._rgb,1,-t),this}rotate(t){return uh(this._rgb,t),this}};function Nt(){}var jr=(()=>{let s=0;return()=>s++})();function A(s){return s==null}function $(s){if(Array.isArray&&Array.isArray(s))return!0;let t=Object.prototype.toString.call(s);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function L(s){return s!==null&&Object.prototype.toString.call(s)==="[object Object]"}function Z(s){return(typeof s=="number"||s instanceof Number)&&isFinite(+s)}function ut(s,t){return Z(s)?s:t}function I(s,t){return typeof s>"u"?t:s}var Ur=(s,t)=>typeof s=="string"&&s.endsWith("%")?parseFloat(s)/100:+s/t,Nn=(s,t)=>typeof s=="string"&&s.endsWith("%")?parseFloat(s)/100*t:+s;function B(s,t,e){if(s&&typeof s.call=="function")return s.apply(e,t)}function V(s,t,e,i){let n,o,r;if($(s))if(o=s.length,i)for(n=o-1;n>=0;n--)t.call(e,s[n],n);else for(n=0;ns,x:s=>s.x,y:s=>s.y};function Sh(s){let t=s.split("."),e=[],i="";for(let n of t)i+=n,i.endsWith("\\")?i=i.slice(0,-1)+".":(e.push(i),i="");return e}function kh(s){let t=Sh(s);return e=>{for(let i of t){if(i==="")break;e=e&&e[i]}return e}}function Ut(s,t){return(Lr[t]||(Lr[t]=kh(t)))(s)}function Ni(s){return s.charAt(0).toUpperCase()+s.slice(1)}var Be=s=>typeof s<"u",$t=s=>typeof s=="function",Rn=(s,t)=>{if(s.size!==t.size)return!1;for(let e of s)if(!t.has(e))return!1;return!0};function Zr(s){return s.type==="mouseup"||s.type==="click"||s.type==="contextmenu"}var N=Math.PI,j=2*N,Mh=j+N,Ai=Number.POSITIVE_INFINITY,vh=N/180,X=N/2,be=N/4,Pr=N*2/3,jt=Math.log10,Ot=Math.sign;function $e(s,t,e){return Math.abs(s-t)n-o).pop(),t}function Th(s){return typeof s=="symbol"||typeof s=="object"&&s!==null&&!(Symbol.toPrimitive in s||"toString"in s||"valueOf"in s)}function we(s){return!Th(s)&&!isNaN(parseFloat(s))&&isFinite(s)}function Gr(s,t){let e=Math.round(s);return e-t<=s&&e+t>=s}function zn(s,t,e){let i,n,o;for(i=0,n=s.length;il&&c=Math.min(t,e)-i&&s<=Math.max(t,e)+i}function Wi(s,t,e){e=e||(r=>s[r]1;)o=n+i>>1,e(o)?n=o:i=o;return{lo:n,hi:i}}var Lt=(s,t,e,i)=>Wi(s,e,i?n=>{let o=s[n][t];return os[n][t]Wi(s,e,i=>s[i][t]>=e);function Jr(s,t,e){let i=0,n=s.length;for(;ii&&s[n-1]>e;)n--;return i>0||n{let i="_onData"+Ni(e),n=s[e];Object.defineProperty(s,e,{configurable:!0,enumerable:!1,value(...o){let r=n.apply(this,o);return s._chartjs.listeners.forEach(a=>{typeof a[i]=="function"&&a[i](...o)}),r}})})}function Bn(s,t){let e=s._chartjs;if(!e)return;let i=e.listeners,n=i.indexOf(t);n!==-1&&i.splice(n,1),!(i.length>0)&&(Qr.forEach(o=>{delete s[o]}),delete s._chartjs)}function $n(s){let t=new Set(s);return t.size===s.length?s:Array.from(t)}var jn=function(){return typeof window>"u"?function(s){return s()}:window.requestAnimationFrame}();function Un(s,t){let e=[],i=!1;return function(...n){e=n,i||(i=!0,jn.call(window,()=>{i=!1,s.apply(t,e)}))}}function ea(s,t){let e;return function(...i){return t?(clearTimeout(e),e=setTimeout(s,t,i)):s.apply(this,i),t}}var zi=s=>s==="start"?"left":s==="end"?"right":"center",rt=(s,t,e)=>s==="start"?t:s==="end"?e:(t+e)/2,sa=(s,t,e,i)=>s===(i?"left":"right")?e:s==="center"?(t+e)/2:t;function Yn(s,t,e){let i=t.length,n=0,o=i;if(s._sorted){let{iScale:r,vScale:a,_parsed:l}=s,c=s.dataset&&s.dataset.options?s.dataset.options.spanGaps:null,h=r.axis,{min:u,max:d,minDefined:f,maxDefined:m}=r.getUserBounds();if(f){if(n=Math.min(Lt(l,h,u).lo,e?i:Lt(t,h,r.getPixelForValue(u)).lo),c){let g=l.slice(0,n+1).reverse().findIndex(p=>!A(p[a.axis]));n-=Math.max(0,g)}n=tt(n,0,i-1)}if(m){let g=Math.max(Lt(l,r.axis,d,!0).hi+1,e?0:Lt(t,h,r.getPixelForValue(d),!0).hi+1);if(c){let p=l.slice(g-1).findIndex(y=>!A(y[a.axis]));g+=Math.max(0,p)}o=tt(g,n,i)-n}else o=i-n}return{start:n,count:o}}function Zn(s){let{xScale:t,yScale:e,_scaleRanges:i}=s,n={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!i)return s._scaleRanges=n,!0;let o=i.xmin!==t.min||i.xmax!==t.max||i.ymin!==e.min||i.ymax!==e.max;return Object.assign(i,n),o}var Di=s=>s===0||s===1,Nr=(s,t,e)=>-(Math.pow(2,10*(s-=1))*Math.sin((s-t)*j/e)),Rr=(s,t,e)=>Math.pow(2,-10*s)*Math.sin((s-t)*j/e)+1,We={linear:s=>s,easeInQuad:s=>s*s,easeOutQuad:s=>-s*(s-2),easeInOutQuad:s=>(s/=.5)<1?.5*s*s:-.5*(--s*(s-2)-1),easeInCubic:s=>s*s*s,easeOutCubic:s=>(s-=1)*s*s+1,easeInOutCubic:s=>(s/=.5)<1?.5*s*s*s:.5*((s-=2)*s*s+2),easeInQuart:s=>s*s*s*s,easeOutQuart:s=>-((s-=1)*s*s*s-1),easeInOutQuart:s=>(s/=.5)<1?.5*s*s*s*s:-.5*((s-=2)*s*s*s-2),easeInQuint:s=>s*s*s*s*s,easeOutQuint:s=>(s-=1)*s*s*s*s+1,easeInOutQuint:s=>(s/=.5)<1?.5*s*s*s*s*s:.5*((s-=2)*s*s*s*s+2),easeInSine:s=>-Math.cos(s*X)+1,easeOutSine:s=>Math.sin(s*X),easeInOutSine:s=>-.5*(Math.cos(N*s)-1),easeInExpo:s=>s===0?0:Math.pow(2,10*(s-1)),easeOutExpo:s=>s===1?1:-Math.pow(2,-10*s)+1,easeInOutExpo:s=>Di(s)?s:s<.5?.5*Math.pow(2,10*(s*2-1)):.5*(-Math.pow(2,-10*(s*2-1))+2),easeInCirc:s=>s>=1?s:-(Math.sqrt(1-s*s)-1),easeOutCirc:s=>Math.sqrt(1-(s-=1)*s),easeInOutCirc:s=>(s/=.5)<1?-.5*(Math.sqrt(1-s*s)-1):.5*(Math.sqrt(1-(s-=2)*s)+1),easeInElastic:s=>Di(s)?s:Nr(s,.075,.3),easeOutElastic:s=>Di(s)?s:Rr(s,.075,.3),easeInOutElastic(s){return Di(s)?s:s<.5?.5*Nr(s*2,.1125,.45):.5+.5*Rr(s*2-1,.1125,.45)},easeInBack(s){return s*s*((1.70158+1)*s-1.70158)},easeOutBack(s){return(s-=1)*s*((1.70158+1)*s+1.70158)+1},easeInOutBack(s){let t=1.70158;return(s/=.5)<1?.5*(s*s*(((t*=1.525)+1)*s-t)):.5*((s-=2)*s*(((t*=1.525)+1)*s+t)+2)},easeInBounce:s=>1-We.easeOutBounce(1-s),easeOutBounce(s){return s<1/2.75?7.5625*s*s:s<2/2.75?7.5625*(s-=1.5/2.75)*s+.75:s<2.5/2.75?7.5625*(s-=2.25/2.75)*s+.9375:7.5625*(s-=2.625/2.75)*s+.984375},easeInOutBounce:s=>s<.5?We.easeInBounce(s*2)*.5:We.easeOutBounce(s*2-1)*.5+.5};function qn(s){if(s&&typeof s=="object"){let t=s.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Gn(s){return qn(s)?s:new Ss(s)}function An(s){return qn(s)?s:new Ss(s).saturate(.5).darken(.1).hexString()}var Dh=["x","y","borderWidth","radius","tension"],Eh=["color","borderColor","backgroundColor"];function Ih(s){s.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),s.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),s.set("animations",{colors:{type:"color",properties:Eh},numbers:{type:"number",properties:Dh}}),s.describe("animations",{_fallback:"animation"}),s.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function Ch(s){s.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}var Wr=new Map;function Fh(s,t){t=t||{};let e=s+JSON.stringify(t),i=Wr.get(e);return i||(i=new Intl.NumberFormat(s,t),Wr.set(e,i)),i}function Ue(s,t,e){return Fh(t,e).format(s)}var ia={values(s){return $(s)?s:""+s},numeric(s,t,e){if(s===0)return"0";let i=this.chart.options.locale,n,o=s;if(e.length>1){let c=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(c<1e-4||c>1e15)&&(n="scientific"),o=Ah(s,e)}let r=jt(Math.abs(o)),a=isNaN(r)?1:Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:n,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),Ue(s,i,l)},logarithmic(s,t,e){if(s===0)return"0";let i=e[t].significand||s/Math.pow(10,Math.floor(jt(s)));return[1,2,3,5,10,15].includes(i)||t>.8*e.length?ia.numeric.call(this,s,t,e):""}};function Ah(s,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&s!==Math.floor(s)&&(e=s-Math.floor(s)),e}var Os={formatters:ia};function Lh(s){s.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Os.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),s.route("scale.ticks","color","","color"),s.route("scale.grid","color","","borderColor"),s.route("scale.border","color","","borderColor"),s.route("scale.title","color","","color"),s.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),s.describe("scales",{_fallback:"scale"}),s.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}var ne=Object.create(null),Vi=Object.create(null);function Ms(s,t){if(!t)return s;let e=t.split(".");for(let i=0,n=e.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,n)=>An(n.backgroundColor),this.hoverBorderColor=(i,n)=>An(n.borderColor),this.hoverColor=(i,n)=>An(n.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return Ln(this,t,e)}get(t){return Ms(this,t)}describe(t,e){return Ln(Vi,t,e)}override(t,e){return Ln(ne,t,e)}route(t,e,i,n){let o=Ms(this,t),r=Ms(this,i),a="_"+e;Object.defineProperties(o,{[a]:{value:o[e],writable:!0},[e]:{enumerable:!0,get(){let l=this[a],c=r[n];return L(l)?Object.assign({},c,l):I(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(e=>e(this))}},U=new Pn({_scriptable:s=>!s.startsWith("on"),_indexable:s=>s!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[Ih,Ch,Lh]);function Ph(s){return!s||A(s.size)||A(s.family)?null:(s.style?s.style+" ":"")+(s.weight?s.weight+" ":"")+s.size+"px "+s.family}function vs(s,t,e,i,n){let o=t[n];return o||(o=t[n]=s.measureText(n).width,e.push(n)),o>i&&(i=o),i}function na(s,t,e,i){i=i||{};let n=i.data=i.data||{},o=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(n=i.data={},o=i.garbageCollect=[],i.font=t),s.save(),s.font=t;let r=0,a=e.length,l,c,h,u,d;for(l=0;le.length){for(l=0;l0&&s.stroke()}}function Pt(s,t,e){return e=e||.5,!t||s&&s.x>t.left-e&&s.xt.top-e&&s.y0&&o.strokeColor!=="",l,c;for(s.save(),s.font=n.string,Nh(s,o),l=0;l+s||0;function Bi(s,t){let e={},i=L(t),n=i?Object.keys(t):t,o=L(s)?i?r=>I(s[r],s[t[r]]):r=>s[r]:()=>s;for(let r of n)e[r]=Bh(o(r));return e}function Jn(s){return Bi(s,{top:"y",right:"x",bottom:"y",left:"x"})}function ae(s){return Bi(s,["topLeft","topRight","bottomLeft","bottomRight"])}function at(s){let t=Jn(s);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function Q(s,t){s=s||{},t=t||U.font;let e=I(s.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let i=I(s.style,t.style);i&&!(""+i).match(Vh)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);let n={family:I(s.family,t.family),lineHeight:Hh(I(s.lineHeight,t.lineHeight),e),size:e,style:i,weight:I(s.weight,t.weight),string:""};return n.string=Ph(n),n}function Ze(s,t,e,i){let n=!0,o,r,a;for(o=0,r=s.length;oe&&a===0?0:a+l;return{min:r(i,-Math.abs(o)),max:r(n,o)}}function Yt(s,t){return Object.assign(Object.create(s),t)}function $i(s,t=[""],e,i,n=()=>s[0]){let o=e||s;typeof i>"u"&&(i=ha("_fallback",s));let r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:s,_rootScopes:o,_fallback:i,_getTarget:n,override:a=>$i([a,...s],t,o,i)};return new Proxy(r,{deleteProperty(a,l){return delete a[l],delete a._keys,delete s[0][l],!0},get(a,l){return la(a,l,()=>Xh(l,t,s,a))},getOwnPropertyDescriptor(a,l){return Reflect.getOwnPropertyDescriptor(a._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(s[0])},has(a,l){return Vr(a).includes(l)},ownKeys(a){return Vr(a)},set(a,l,c){let h=a._storage||(a._storage=n());return a[l]=h[l]=c,delete a._keys,!0}})}function _e(s,t,e,i){let n={_cacheable:!1,_proxy:s,_context:t,_subProxy:e,_stack:new Set,_descriptors:Qn(s,i),setContext:o=>_e(s,o,e,i),override:o=>_e(s.override(o),t,e,i)};return new Proxy(n,{deleteProperty(o,r){return delete o[r],delete s[r],!0},get(o,r,a){return la(o,r,()=>jh(o,r,a))},getOwnPropertyDescriptor(o,r){return o._descriptors.allKeys?Reflect.has(s,r)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(s,r)},getPrototypeOf(){return Reflect.getPrototypeOf(s)},has(o,r){return Reflect.has(s,r)},ownKeys(){return Reflect.ownKeys(s)},set(o,r,a){return s[r]=a,delete o[r],!0}})}function Qn(s,t={scriptable:!0,indexable:!0}){let{_scriptable:e=t.scriptable,_indexable:i=t.indexable,_allKeys:n=t.allKeys}=s;return{allKeys:n,scriptable:e,indexable:i,isScriptable:$t(e)?e:()=>e,isIndexable:$t(i)?i:()=>i}}var $h=(s,t)=>s?s+Ni(t):t,to=(s,t)=>L(t)&&s!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function la(s,t,e){if(Object.prototype.hasOwnProperty.call(s,t)||t==="constructor")return s[t];let i=e();return s[t]=i,i}function jh(s,t,e){let{_proxy:i,_context:n,_subProxy:o,_descriptors:r}=s,a=i[t];return $t(a)&&r.isScriptable(t)&&(a=Uh(t,a,s,e)),$(a)&&a.length&&(a=Yh(t,a,s,r.isIndexable)),to(t,a)&&(a=_e(a,n,o&&o[t],r)),a}function Uh(s,t,e,i){let{_proxy:n,_context:o,_subProxy:r,_stack:a}=e;if(a.has(s))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+s);a.add(s);let l=t(o,r||i);return a.delete(s),to(s,l)&&(l=eo(n._scopes,n,s,l)),l}function Yh(s,t,e,i){let{_proxy:n,_context:o,_subProxy:r,_descriptors:a}=e;if(typeof o.index<"u"&&i(s))return t[o.index%t.length];if(L(t[0])){let l=t,c=n._scopes.filter(h=>h!==l);t=[];for(let h of l){let u=eo(c,n,s,h);t.push(_e(u,o,r&&r[s],a))}}return t}function ca(s,t,e){return $t(s)?s(t,e):s}var Zh=(s,t)=>s===!0?t:typeof s=="string"?Ut(t,s):void 0;function qh(s,t,e,i,n){for(let o of t){let r=Zh(e,o);if(r){s.add(r);let a=ca(r._fallback,e,n);if(typeof a<"u"&&a!==e&&a!==i)return a}else if(r===!1&&typeof i<"u"&&e!==i)return null}return!1}function eo(s,t,e,i){let n=t._rootScopes,o=ca(t._fallback,e,i),r=[...s,...n],a=new Set;a.add(i);let l=zr(a,r,e,o||e,i);return l===null||typeof o<"u"&&o!==e&&(l=zr(a,r,o,l,i),l===null)?!1:$i(Array.from(a),[""],n,o,()=>Gh(t,e,i))}function zr(s,t,e,i,n){for(;e;)e=qh(s,t,e,i,n);return e}function Gh(s,t,e){let i=s._getTarget();t in i||(i[t]={});let n=i[t];return $(n)&&L(e)?e:n||{}}function Xh(s,t,e,i){let n;for(let o of t)if(n=ha($h(o,s),e),typeof n<"u")return to(s,n)?eo(e,i,s,n):n}function ha(s,t){for(let e of t){if(!e)continue;let i=e[s];if(typeof i<"u")return i}}function Vr(s){let t=s._keys;return t||(t=s._keys=Kh(s._scopes)),t}function Kh(s){let t=new Set;for(let e of s)for(let i of Object.keys(e).filter(n=>!n.startsWith("_")))t.add(i);return Array.from(t)}function so(s,t,e,i){let{iScale:n}=s,{key:o="r"}=this._parsing,r=new Array(i),a,l,c,h;for(a=0,l=i;ats==="x"?"y":"x";function Qh(s,t,e,i){let n=s.skip?t:s,o=t,r=e.skip?t:e,a=Li(o,n),l=Li(r,o),c=a/(a+l),h=l/(a+l);c=isNaN(c)?0:c,h=isNaN(h)?0:h;let u=i*c,d=i*h;return{previous:{x:o.x-u*(r.x-n.x),y:o.y-u*(r.y-n.y)},next:{x:o.x+d*(r.x-n.x),y:o.y+d*(r.y-n.y)}}}function tu(s,t,e){let i=s.length,n,o,r,a,l,c=Ve(s,0);for(let h=0;h!c.skip)),t.cubicInterpolationMode==="monotone")su(s,n);else{let c=i?s[s.length-1]:s[0];for(o=0,r=s.length;os.ownerDocument.defaultView.getComputedStyle(s,null);function nu(s,t){return Yi(s).getPropertyValue(t)}var ou=["top","right","bottom","left"];function xe(s,t,e){let i={};e=e?"-"+e:"";for(let n=0;n<4;n++){let o=ou[n];i[o]=parseFloat(s[t+"-"+o+e])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}var ru=(s,t,e)=>(s>0||t>0)&&(!e||!e.shadowRoot);function au(s,t){let e=s.touches,i=e&&e.length?e[0]:s,{offsetX:n,offsetY:o}=i,r=!1,a,l;if(ru(n,o,s.target))a=n,l=o;else{let c=t.getBoundingClientRect();a=i.clientX-c.left,l=i.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function le(s,t){if("native"in s)return s;let{canvas:e,currentDevicePixelRatio:i}=t,n=Yi(e),o=n.boxSizing==="border-box",r=xe(n,"padding"),a=xe(n,"border","width"),{x:l,y:c,box:h}=au(s,e),u=r.left+(h&&a.left),d=r.top+(h&&a.top),{width:f,height:m}=t;return o&&(f-=r.width+a.width,m-=r.height+a.height),{x:Math.round((l-u)/f*e.width/i),y:Math.round((c-d)/m*e.height/i)}}function lu(s,t,e){let i,n;if(t===void 0||e===void 0){let o=s&&Ui(s);if(!o)t=s.clientWidth,e=s.clientHeight;else{let r=o.getBoundingClientRect(),a=Yi(o),l=xe(a,"border","width"),c=xe(a,"padding");t=r.width-c.width-l.width,e=r.height-c.height-l.height,i=Pi(a.maxWidth,o,"clientWidth"),n=Pi(a.maxHeight,o,"clientHeight")}}return{width:t,height:e,maxWidth:i||Ai,maxHeight:n||Ai}}var Ii=s=>Math.round(s*10)/10;function fa(s,t,e,i){let n=Yi(s),o=xe(n,"margin"),r=Pi(n.maxWidth,s,"clientWidth")||Ai,a=Pi(n.maxHeight,s,"clientHeight")||Ai,l=lu(s,t,e),{width:c,height:h}=l;if(n.boxSizing==="content-box"){let d=xe(n,"border","width"),f=xe(n,"padding");c-=f.width+d.width,h-=f.height+d.height}return c=Math.max(0,c-o.width),h=Math.max(0,i?c/i:h-o.height),c=Ii(Math.min(c,r,l.maxWidth)),h=Ii(Math.min(h,a,l.maxHeight)),c&&!h&&(h=Ii(c/2)),(t!==void 0||e!==void 0)&&i&&l.height&&h>l.height&&(h=l.height,c=Ii(Math.floor(h*i))),{width:c,height:h}}function io(s,t,e){let i=t||1,n=Math.floor(s.height*i),o=Math.floor(s.width*i);s.height=Math.floor(s.height),s.width=Math.floor(s.width);let r=s.canvas;return r.style&&(e||!r.style.height&&!r.style.width)&&(r.style.height=`${s.height}px`,r.style.width=`${s.width}px`),s.currentDevicePixelRatio!==i||r.height!==n||r.width!==o?(s.currentDevicePixelRatio=i,r.height=n,r.width=o,s.ctx.setTransform(i,0,0,i,0,0),!0):!1}var ma=function(){let s=!1;try{let t={get passive(){return s=!0,!1}};ji()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return s}();function no(s,t){let e=nu(s,t),i=e&&e.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}function ie(s,t,e,i){return{x:s.x+e*(t.x-s.x),y:s.y+e*(t.y-s.y)}}function ga(s,t,e,i){return{x:s.x+e*(t.x-s.x),y:i==="middle"?e<.5?s.y:t.y:i==="after"?e<1?s.y:t.y:e>0?t.y:s.y}}function pa(s,t,e,i){let n={x:s.cp2x,y:s.cp2y},o={x:t.cp1x,y:t.cp1y},r=ie(s,n,e),a=ie(n,o,e),l=ie(o,t,e),c=ie(r,a,e),h=ie(a,l,e);return ie(c,h,e)}var cu=function(s,t){return{x(e){return s+s+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,i){return e-i},leftForLtr(e,i){return e-i}}},hu=function(){return{x(s){return s},setWidth(s){},textAlign(s){return s},xPlus(s,t){return s+t},leftForLtr(s,t){return s}}};function Se(s,t,e){return s?cu(t,e):hu()}function oo(s,t){let e,i;(t==="ltr"||t==="rtl")&&(e=s.canvas.style,i=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),s.prevTextDirection=i)}function ro(s,t){t!==void 0&&(delete s.prevTextDirection,s.canvas.style.setProperty("direction",t[0],t[1]))}function ya(s){return s==="angle"?{between:je,compare:Oh,normalize:ot}:{between:Rt,compare:(t,e)=>t-e,normalize:t=>t}}function Hr({start:s,end:t,count:e,loop:i,style:n}){return{start:s%e,end:t%e,loop:i&&(t-s+1)%e===0,style:n}}function uu(s,t,e){let{property:i,start:n,end:o}=e,{between:r,normalize:a}=ya(i),l=t.length,{start:c,end:h,loop:u}=s,d,f;if(u){for(c+=l,h+=l,d=0,f=l;dl(n,_,y)&&a(n,_)!==0,x=()=>a(o,y)===0||l(o,_,y),k=()=>g||w(),M=()=>!g||x();for(let v=h,O=h;v<=u;++v)b=t[v%r],!b.skip&&(y=c(b[i]),y!==_&&(g=l(y,n,o),p===null&&k()&&(p=a(y,n)===0?v:O),p!==null&&M()&&(m.push(Hr({start:p,end:v,loop:d,count:r,style:f})),p=null),O=v,_=y));return p!==null&&m.push(Hr({start:p,end:u,loop:d,count:r,style:f})),m}function lo(s,t){let e=[],i=s.segments;for(let n=0;nn&&s[o%t].skip;)o--;return o%=t,{start:n,end:o}}function fu(s,t,e,i){let n=s.length,o=[],r=t,a=s[t],l;for(l=t+1;l<=e;++l){let c=s[l%n];c.skip||c.stop?a.skip||(i=!1,o.push({start:t%n,end:(l-1)%n,loop:i}),t=r=c.stop?l:null):(r=l,a.skip&&(t=l)),a=c}return r!==null&&o.push({start:t%n,end:r%n,loop:i}),o}function ba(s,t){let e=s.points,i=s.options.spanGaps,n=e.length;if(!n)return[];let o=!!s._loop,{start:r,end:a}=du(e,n,o,i);if(i===!0)return Br(s,[{start:r,end:a,loop:o}],e,t);let l=aa({chart:t,initial:e.initial,numSteps:r,currentStep:Math.min(i-e.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=jn.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((i,n)=>{if(!i.running||!i.items.length)return;let o=i.items,r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>i.duration&&(i.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(n.draw(),this._notify(n,i,t,"progress")),o.length||(i.running=!1,this._notify(n,i,t,"complete"),i.initial=!1),e+=o.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){let e=this._charts,i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){let e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((i,n)=>Math.max(i,n._duration),0),this._refresh())}running(t){if(!this._running)return!1;let e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){let e=this._charts.get(t);if(!e||!e.items.length)return;let i=e.items,n=i.length-1;for(;n>=0;--n)i[n].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}},Zt=new So,xa="transparent",yu={boolean(s,t,e){return e>.5?t:s},color(s,t,e){let i=Gn(s||xa),n=i.valid&&Gn(t||xa);return n&&n.valid?n.mix(i,e).hexString():t},number(s,t,e){return s+(t-s)*e}},ko=class{constructor(t,e,i,n){let o=e[i];n=Ze([t.to,n,o,t.from]);let r=Ze([t.from,o,n]);this._active=!0,this._fn=t.fn||yu[t.type||typeof r],this._easing=We[t.easing]||We.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=r,this._to=n,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);let n=this._target[this._prop],o=i-this._start,r=this._duration-o;this._start=i,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=Ze([t.to,e,n,t.from]),this._from=Ze([t.from,n,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){let e=t-this._start,i=this._duration,n=this._prop,o=this._from,r=this._loop,a=this._to,l;if(this._active=o!==a&&(r||e1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[n]=this._fn(o,a,l)}wait(){let t=this._promises||(this._promises=[]);return new Promise((e,i)=>{t.push({res:e,rej:i})})}_notify(t){let e=t?"res":"rej",i=this._promises||[];for(let n=0;n{let o=t[n];if(!L(o))return;let r={};for(let a of e)r[a]=o[a];($(o.properties)&&o.properties||[n]).forEach(a=>{(a===n||!i.has(a))&&i.set(a,r)})})}_animateOptions(t,e){let i=e.options,n=xu(t,i);if(!n)return[];let o=this._createAnimations(n,i);return i.$shared&&bu(t.options.$animations,i).then(()=>{t.options=i},()=>{}),o}_createAnimations(t,e){let i=this._properties,n=[],o=t.$animations||(t.$animations={}),r=Object.keys(e),a=Date.now(),l;for(l=r.length-1;l>=0;--l){let c=r[l];if(c.charAt(0)==="$")continue;if(c==="options"){n.push(...this._animateOptions(t,e));continue}let h=e[c],u=o[c],d=i.get(c);if(u)if(d&&u.active()){u.update(d,h,a);continue}else u.cancel();if(!d||!d.duration){t[c]=h;continue}o[c]=u=new ko(d,t,c,h),n.push(u)}return n}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}let i=this._createAnimations(t,e);if(i.length)return Zt.add(this._chart,i),!0}};function bu(s,t){let e=[],i=Object.keys(t);for(let n=0;n0||!e&&o<0)return n.index}return null}function ka(s,t){let{chart:e,_cachedMeta:i}=s,n=e._stacks||(e._stacks={}),{iScale:o,vScale:r,index:a}=i,l=o.axis,c=r.axis,h=ku(o,r,i),u=t.length,d;for(let f=0;fe[i].axis===t).shift()}function Tu(s,t){return Yt(s,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Ou(s,t,e){return Yt(s,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function Is(s,t){let e=s.controller.index,i=s.vScale&&s.vScale.axis;if(i){t=t||s._parsed;for(let n of t){let o=n._stacks;if(!o||o[i]===void 0||o[i][e]===void 0)return;delete o[i][e],o[i]._visualValues!==void 0&&o[i]._visualValues[e]!==void 0&&delete o[i]._visualValues[e]}}}var fo=s=>s==="reset"||s==="none",Ma=(s,t)=>t?s:Object.assign({},s),Du=(s,t,e)=>s&&!t.hidden&&t._stacked&&{keys:bl(e,!0),values:null},pt=class{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){let t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=ho(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Is(this._cachedMeta),this.index=t}linkScales(){let t=this.chart,e=this._cachedMeta,i=this.getDataset(),n=(u,d,f,m)=>u==="x"?d:u==="r"?m:f,o=e.xAxisID=I(i.xAxisID,uo(t,"x")),r=e.yAxisID=I(i.yAxisID,uo(t,"y")),a=e.rAxisID=I(i.rAxisID,uo(t,"r")),l=e.indexAxis,c=e.iAxisID=n(l,o,r,a),h=e.vAxisID=n(l,r,o,a);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(r),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(c),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){let e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){let t=this._cachedMeta;this._data&&Bn(this._data,this),t._stacked&&Is(t)}_dataCheck(){let t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(L(e)){let n=this._cachedMeta;this._data=Su(e,n)}else if(i!==e){if(i){Bn(i,this);let n=this._cachedMeta;Is(n),n._parsed=[]}e&&Object.isExtensible(e)&&ta(e,this),this._syncList=[],this._data=e}}addElements(){let t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){let e=this._cachedMeta,i=this.getDataset(),n=!1;this._dataCheck();let o=e._stacked;e._stacked=ho(e.vScale,e),e.stack!==i.stack&&(n=!0,Is(e),e.stack=i.stack),this._resyncElements(t),(n||o!==e._stacked)&&(ka(this,e._parsed),e._stacked=ho(e.vScale,e))}configure(){let t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){let{_cachedMeta:i,_data:n}=this,{iScale:o,_stacked:r}=i,a=o.axis,l=t===0&&e===n.length?!0:i._sorted,c=t>0&&i._parsed[t-1],h,u,d;if(this._parsing===!1)i._parsed=n,i._sorted=!0,d=n;else{$(n[t])?d=this.parseArrayData(i,n,t,e):L(n[t])?d=this.parseObjectData(i,n,t,e):d=this.parsePrimitiveData(i,n,t,e);let f=()=>u[a]===null||c&&u[a]g||u=0;--d)if(!m()){this.updateRangeFromParsed(c,t,f,l);break}}return c}getAllParsedValues(t){let e=this._cachedMeta._parsed,i=[],n,o,r;for(n=0,o=e.length;n=0&&tthis.getContext(i,n,e),g=c.resolveNamedOptions(d,f,m,u);return g.$shared&&(g.$shared=l,o[r]=Object.freeze(Ma(g,l))),g}_resolveAnimations(t,e,i){let n=this.chart,o=this._cachedDataOpts,r=`animation-${e}`,a=o[r];if(a)return a;let l;if(n.options.animation!==!1){let h=this.chart.config,u=h.datasetAnimationScopeKeys(this._type,e),d=h.getOptionScopes(this.getDataset(),u);l=h.createResolver(d,this.getContext(t,i,e))}let c=new en(n,l&&l.animations);return l&&l._cacheable&&(o[r]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||fo(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){let i=this.resolveDataElementOptions(t,e),n=this._sharedOptions,o=this.getSharedOptions(i),r=this.includeOptions(e,o)||o!==n;return this.updateSharedOptions(o,e,i),{sharedOptions:o,includeOptions:r}}updateElement(t,e,i,n){fo(n)?Object.assign(t,i):this._resolveAnimations(e,n).update(t,i)}updateSharedOptions(t,e,i){t&&!fo(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,n){t.active=n;let o=this.getStyle(e,n);this._resolveAnimations(e,i,n).update(t,{options:!n&&this.getSharedOptions(o)||o})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){let t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){let t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){let e=this._data,i=this._cachedMeta.data;for(let[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];let n=i.length,o=e.length,r=Math.min(o,n);r&&this.parse(0,r),o>n?this._insertElements(n,o-n,t):o{for(c.length+=e,a=c.length-1;a>=r;a--)c[a]=c[a-e]};for(l(o),a=t;an-o))}return s._cache.$bar}function Iu(s){let t=s.iScale,e=Eu(t,s.type),i=t._length,n,o,r,a,l=()=>{r===32767||r===-32768||(Be(a)&&(i=Math.min(i,Math.abs(r-a)||i)),a=r)};for(n=0,o=e.length;n0?n[s-1]:null,a=sMath.abs(a)&&(l=a,c=r),t[e.axis]=c,t._custom={barStart:l,barEnd:c,start:n,end:o,min:r,max:a}}function xl(s,t,e,i){return $(s)?Au(s,t,e,i):t[e.axis]=e.parse(s,i),t}function va(s,t,e,i){let n=s.iScale,o=s.vScale,r=n.getLabels(),a=n===o,l=[],c,h,u,d;for(c=e,h=e+i;c=e?1:-1)}function Pu(s){let t,e,i,n,o;return s.horizontal?(t=s.base>s.x,e="left",i="right"):(t=s.baseh.controller.options.grouped),o=i.options.stacked,r=[],a=this._cachedMeta.controller.getParsed(e),l=a&&a[i.axis],c=h=>{let u=h._parsed.find(f=>f[i.axis]===l),d=u&&u[h.vScale.axis];if(A(d)||isNaN(d))return!0};for(let h of n)if(!(e!==void 0&&c(h))&&((o===!1||r.indexOf(h.stack)===-1||o===void 0&&h.stack===void 0)&&r.push(h.stack),h.index===t))break;return r.length||r.push(void 0),r}_getStackCount(t){return this._getStacks(void 0,t).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){let t=this.chart.scales,e=this.chart.options.indexAxis;return Object.keys(t).filter(i=>t[i].axis===e).shift()}_getAxis(){let t={},e=this.getFirstScaleIdForIndexAxis();for(let i of this.chart.data.datasets)t[I(this.chart.options.indexAxis==="x"?i.xAxisID:i.yAxisID,e)]=!0;return Object.keys(t)}_getStackIndex(t,e,i){let n=this._getStacks(t,i),o=e!==void 0?n.indexOf(e):-1;return o===-1?n.length-1:o}_getRuler(){let t=this.options,e=this._cachedMeta,i=e.iScale,n=[],o,r;for(o=0,r=e.data.length;o=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){let e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:n,yScale:o}=e,r=this.getParsed(t),a=n.getLabelForValue(r.x),l=o.getLabelForValue(r.y),c=r._custom;return{label:i[t]||"",value:"("+a+", "+l+(c?", "+c:"")+")"}}update(t){let e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,n){let o=n==="reset",{iScale:r,vScale:a}=this._cachedMeta,{sharedOptions:l,includeOptions:c}=this._getSharedOptions(e,n),h=r.axis,u=a.axis;for(let d=e;dje(_,a,l,!0)?1:Math.max(w,w*e,x,x*e),m=(_,w,x)=>je(_,a,l,!0)?-1:Math.min(w,w*e,x,x*e),g=f(0,c,u),p=f(X,h,d),y=m(N,c,u),b=m(N+X,h,d);i=(g-y)/2,n=(p-b)/2,o=-(g+y)/2,r=-(p+b)/2}return{ratioX:i,ratioY:n,offsetX:o,offsetY:r}}var Gt=class extends pt{constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){let i=this.getDataset().data,n=this._cachedMeta;if(this._parsing===!1)n._parsed=i;else{let o=l=>+i[l];if(L(i[t])){let{key:l="value"}=this._parsing;o=c=>+Ut(i[c],l)}let r,a;for(r=t,a=t+e;r0&&!isNaN(t)?j*(Math.abs(t)/e):0}getLabelAndValue(t){let e=this._cachedMeta,i=this.chart,n=i.data.labels||[],o=Ue(e._parsed[t],i.options.locale);return{label:n[t]||"",value:o}}getMaxBorderWidth(t){let e=0,i=this.chart,n,o,r,a,l;if(!t){for(n=0,o=i.data.datasets.length;nt!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")}),S(Gt,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){let e=t.data;if(e.labels.length&&e.datasets.length){let{labels:{pointStyle:i,color:n}}=t.legend.options;return e.labels.map((o,r)=>{let l=t.getDatasetMeta(0).controller.getStyle(r);return{text:o,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:n,lineWidth:l.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(r),index:r}})}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}});var Ke=class extends pt{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){let e=this._cachedMeta,{dataset:i,data:n=[],_dataset:o}=e,r=this.chart._animationsDisabled,{start:a,count:l}=Yn(e,n,r);this._drawStart=a,this._drawCount=l,Zn(e)&&(a=0,l=n.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!o._decimated,i.points=n;let c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(i,void 0,{animated:!r,options:c},t),this.updateElements(n,a,l,t)}updateElements(t,e,i,n){let o=n==="reset",{iScale:r,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,{sharedOptions:h,includeOptions:u}=this._getSharedOptions(e,n),d=r.axis,f=a.axis,{spanGaps:m,segment:g}=this.options,p=we(m)?m:Number.POSITIVE_INFINITY,y=this.chart._animationsDisabled||o||n==="none",b=e+i,_=t.length,w=e>0&&this.getParsed(e-1);for(let x=0;x<_;++x){let k=t[x],M=y?k:{};if(x=b){M.skip=!0;continue}let v=this.getParsed(x),O=A(v[f]),E=M[d]=r.getPixelForValue(v[d],x),C=M[f]=o||O?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,v,l):v[f],x);M.skip=isNaN(E)||isNaN(C)||O,M.stop=x>0&&Math.abs(v[d]-w[d])>p,g&&(M.parsed=v,M.raw=c.data[x]),u&&(M.options=h||this.resolveDataElementOptions(x,k.active?"active":n)),y||this.updateElement(k,x,M,n),w=v}}getMaxOverflow(){let t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,n=t.data||[];if(!n.length)return i;let o=n[0].size(this.resolveDataElementOptions(0)),r=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(i,o,r)/2}draw(){let t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}};S(Ke,"id","line"),S(Ke,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),S(Ke,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});var Oe=class extends pt{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){let e=this._cachedMeta,i=this.chart,n=i.data.labels||[],o=Ue(e._parsed[t].r,i.options.locale);return{label:n[t]||"",value:o}}parseObjectData(t,e,i,n){return so.bind(this)(t,e,i,n)}update(t){let e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){let t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((i,n)=>{let o=this.getParsed(n).r;!isNaN(o)&&this.chart.getDataVisibility(n)&&(oe.max&&(e.max=o))}),e}_updateRadius(){let t=this.chart,e=t.chartArea,i=t.options,n=Math.min(e.right-e.left,e.bottom-e.top),o=Math.max(n/2,0),r=Math.max(i.cutoutPercentage?o/100*i.cutoutPercentage:1,0),a=(o-r)/t.getVisibleDatasetCount();this.outerRadius=o-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(t,e,i,n){let o=n==="reset",r=this.chart,l=r.options.animation,c=this._cachedMeta.rScale,h=c.xCenter,u=c.yCenter,d=c.getIndexAngle(0)-.5*N,f=d,m,g=360/this.countVisibleElements();for(m=0;m{!isNaN(this.getParsed(n).r)&&this.chart.getDataVisibility(n)&&e++}),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?wt(this.resolveDataElementOptions(t,e).angle||i):0}};S(Oe,"id","polarArea"),S(Oe,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),S(Oe,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){let e=t.data;if(e.labels.length&&e.datasets.length){let{labels:{pointStyle:i,color:n}}=t.legend.options;return e.labels.map((o,r)=>{let l=t.getDatasetMeta(0).controller.getStyle(r);return{text:o,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:n,lineWidth:l.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(r),index:r}})}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});var Ps=class extends Gt{};S(Ps,"id","pie"),S(Ps,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});var Je=class extends pt{getLabelAndValue(t){let e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,n){return so.bind(this)(t,e,i,n)}update(t){let e=this._cachedMeta,i=e.dataset,n=e.data||[],o=e.iScale.getLabels();if(i.points=n,t!=="resize"){let r=this.resolveDatasetElementOptions(t);this.options.showLine||(r.borderWidth=0);let a={_loop:!0,_fullLoop:o.length===n.length,options:r};this.updateElement(i,void 0,a,t)}this.updateElements(n,0,n.length,t)}updateElements(t,e,i,n){let o=this._cachedMeta.rScale,r=n==="reset";for(let a=e;a0&&this.getParsed(e-1);for(let w=e;w0&&Math.abs(k[f]-_[f])>y,p&&(M.parsed=k,M.raw=c.data[w]),d&&(M.options=u||this.resolveDataElementOptions(w,x.active?"active":n)),b||this.updateElement(x,w,M,n),_=k}this.updateSharedOptions(u,n,h)}getMaxOverflow(){let t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let a=0;for(let l=e.length-1;l>=0;--l)a=Math.max(a,e[l].size(this.resolveDataElementOptions(l))/2);return a>0&&a}let i=t.dataset,n=i.options&&i.options.borderWidth||0;if(!e.length)return n;let o=e[0].size(this.resolveDataElementOptions(0)),r=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(n,o,r)/2}};S(Qe,"id","scatter"),S(Qe,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),S(Qe,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});var Vu=Object.freeze({__proto__:null,BarController:Ge,BubbleController:Xe,DoughnutController:Gt,LineController:Ke,PieController:Ps,PolarAreaController:Oe,RadarController:Je,ScatterController:Qe});function ke(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}var Mo=class s{constructor(t){S(this,"options");this.options=t||{}}static override(t){Object.assign(s.prototype,t)}init(){}formats(){return ke()}parse(){return ke()}format(){return ke()}add(){return ke()}diff(){return ke()}startOf(){return ke()}endOf(){return ke()}},No={_date:Mo};function Hu(s,t,e,i){let{controller:n,data:o,_sorted:r}=s,a=n._cachedMeta.iScale,l=s.dataset&&s.dataset.options?s.dataset.options.spanGaps:null;if(a&&t===a.axis&&t!=="r"&&r&&o.length){let c=a._reversePixels?Kr:Lt;if(i){if(n._sharedOptions){let h=o[0],u=typeof h.getRange=="function"&&h.getRange(t);if(u){let d=c(o,t,e-u),f=c(o,t,e+u);return{lo:d.lo,hi:f.hi}}}}else{let h=c(o,t,e);if(l){let{vScale:u}=n._cachedMeta,{_parsed:d}=s,f=d.slice(0,h.lo+1).reverse().findIndex(g=>!A(g[u.axis]));h.lo-=Math.max(0,f);let m=d.slice(h.hi).findIndex(g=>!A(g[u.axis]));h.hi+=Math.max(0,m)}return h}}return{lo:0,hi:o.length-1}}function Ys(s,t,e,i,n){let o=s.getSortedVisibleDatasetMetas(),r=e[t];for(let a=0,l=o.length;a{l[r]&&l[r](t[e],n)&&(o.push({element:l,datasetIndex:c,index:h}),a=a||l.inRange(t.x,t.y,n))}),i&&!a?[]:o}var Uu={evaluateInteractionItems:Ys,modes:{index(s,t,e,i){let n=le(t,s),o=e.axis||"x",r=e.includeInvisible||!1,a=e.intersect?go(s,n,o,i,r):po(s,n,o,!1,i,r),l=[];return a.length?(s.getSortedVisibleDatasetMetas().forEach(c=>{let h=a[0].index,u=c.data[h];u&&!u.skip&&l.push({element:u,datasetIndex:c.index,index:h})}),l):[]},dataset(s,t,e,i){let n=le(t,s),o=e.axis||"xy",r=e.includeInvisible||!1,a=e.intersect?go(s,n,o,i,r):po(s,n,o,!1,i,r);if(a.length>0){let l=a[0].datasetIndex,c=s.getDatasetMeta(l).data;a=[];for(let h=0;he.pos===t)}function Ea(s,t){return s.filter(e=>_l.indexOf(e.pos)===-1&&e.box.axis===t)}function Fs(s,t){return s.sort((e,i)=>{let n=t?i:e,o=t?e:i;return n.weight===o.weight?n.index-o.index:n.weight-o.weight})}function Yu(s){let t=[],e,i,n,o,r,a;for(e=0,i=(s||[]).length;ec.box.fullSize),!0),i=Fs(Cs(t,"left"),!0),n=Fs(Cs(t,"right")),o=Fs(Cs(t,"top"),!0),r=Fs(Cs(t,"bottom")),a=Ea(t,"x"),l=Ea(t,"y");return{fullSize:e,leftAndTop:i.concat(o),rightAndBottom:n.concat(l).concat(r).concat(a),chartArea:Cs(t,"chartArea"),vertical:i.concat(n).concat(l),horizontal:o.concat(r).concat(a)}}function Ia(s,t,e,i){return Math.max(s[e],t[e])+Math.max(s[i],t[i])}function wl(s,t){s.top=Math.max(s.top,t.top),s.left=Math.max(s.left,t.left),s.bottom=Math.max(s.bottom,t.bottom),s.right=Math.max(s.right,t.right)}function Xu(s,t,e,i){let{pos:n,box:o}=e,r=s.maxPadding;if(!L(n)){e.size&&(s[n]-=e.size);let u=i[e.stack]||{size:0,count:1};u.size=Math.max(u.size,e.horizontal?o.height:o.width),e.size=u.size/u.count,s[n]+=e.size}o.getPadding&&wl(r,o.getPadding());let a=Math.max(0,t.outerWidth-Ia(r,s,"left","right")),l=Math.max(0,t.outerHeight-Ia(r,s,"top","bottom")),c=a!==s.w,h=l!==s.h;return s.w=a,s.h=l,e.horizontal?{same:c,other:h}:{same:h,other:c}}function Ku(s){let t=s.maxPadding;function e(i){let n=Math.max(t[i]-s[i],0);return s[i]+=n,n}s.y+=e("top"),s.x+=e("left"),e("right"),e("bottom")}function Ju(s,t){let e=t.maxPadding;function i(n){let o={left:0,top:0,right:0,bottom:0};return n.forEach(r=>{o[r]=Math.max(t[r],e[r])}),o}return i(s?["left","right"]:["top","bottom"])}function Ns(s,t,e,i){let n=[],o,r,a,l,c,h;for(o=0,r=s.length,c=0;o{typeof g.beforeLayout=="function"&&g.beforeLayout()});let h=l.reduce((g,p)=>p.box.options&&p.box.options.display===!1?g:g+1,0)||1,u=Object.freeze({outerWidth:t,outerHeight:e,padding:n,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/h,hBoxMaxHeight:r/2}),d=Object.assign({},n);wl(d,at(i));let f=Object.assign({maxPadding:d,w:o,h:r,x:n.left,y:n.top},n),m=qu(l.concat(c),u);Ns(a.fullSize,f,u,m),Ns(l,f,u,m),Ns(c,f,u,m)&&Ns(l,f,u,m),Ku(f),Ca(a.leftAndTop,f,u,m),f.x+=f.w,f.y+=f.h,Ca(a.rightAndBottom,f,u,m),s.chartArea={left:f.left,top:f.top,right:f.left+f.w,bottom:f.top+f.h,height:f.h,width:f.w},V(a.chartArea,g=>{let p=g.box;Object.assign(p,s.chartArea),p.update(f.w,f.h,{left:0,top:0,right:0,bottom:0})})}},sn=class{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,n){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,n?Math.floor(e/n):i)}}isAttached(t){return!0}updateConfig(t){}},vo=class extends sn{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}},Qi="$chartjs",Qu={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Fa=s=>s===null||s==="";function td(s,t){let e=s.style,i=s.getAttribute("height"),n=s.getAttribute("width");if(s[Qi]={initial:{height:i,width:n,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",Fa(n)){let o=no(s,"width");o!==void 0&&(s.width=o)}if(Fa(i))if(s.style.height==="")s.height=s.width/(t||2);else{let o=no(s,"height");o!==void 0&&(s.height=o)}return s}var Sl=ma?{passive:!0}:!1;function ed(s,t,e){s&&s.addEventListener(t,e,Sl)}function sd(s,t,e){s&&s.canvas&&s.canvas.removeEventListener(t,e,Sl)}function id(s,t){let e=Qu[s.type]||s.type,{x:i,y:n}=le(s,t);return{type:e,chart:t,native:s,x:i!==void 0?i:null,y:n!==void 0?n:null}}function nn(s,t){for(let e of s)if(e===t||e.contains(t))return!0}function nd(s,t,e){let i=s.canvas,n=new MutationObserver(o=>{let r=!1;for(let a of o)r=r||nn(a.addedNodes,i),r=r&&!nn(a.removedNodes,i);r&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}function od(s,t,e){let i=s.canvas,n=new MutationObserver(o=>{let r=!1;for(let a of o)r=r||nn(a.removedNodes,i),r=r&&!nn(a.addedNodes,i);r&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}var $s=new Map,Aa=0;function kl(){let s=window.devicePixelRatio;s!==Aa&&(Aa=s,$s.forEach((t,e)=>{e.currentDevicePixelRatio!==s&&t()}))}function rd(s,t){$s.size||window.addEventListener("resize",kl),$s.set(s,t)}function ad(s){$s.delete(s),$s.size||window.removeEventListener("resize",kl)}function ld(s,t,e){let i=s.canvas,n=i&&Ui(i);if(!n)return;let o=Un((a,l)=>{let c=n.clientWidth;e(a,l),c{let l=a[0],c=l.contentRect.width,h=l.contentRect.height;c===0&&h===0||o(c,h)});return r.observe(n),rd(s,o),r}function yo(s,t,e){e&&e.disconnect(),t==="resize"&&ad(s)}function cd(s,t,e){let i=s.canvas,n=Un(o=>{s.ctx!==null&&e(id(o,s))},s);return ed(i,t,n),n}var To=class extends sn{acquireContext(t,e){let i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(td(t,e),i):null}releaseContext(t){let e=t.canvas;if(!e[Qi])return!1;let i=e[Qi].initial;["height","width"].forEach(o=>{let r=i[o];A(r)?e.removeAttribute(o):e.setAttribute(o,r)});let n=i.style||{};return Object.keys(n).forEach(o=>{e.style[o]=n[o]}),e.width=e.width,delete e[Qi],!0}addEventListener(t,e,i){this.removeEventListener(t,e);let n=t.$proxies||(t.$proxies={}),r={attach:nd,detach:od,resize:ld}[e]||cd;n[e]=r(t,e,i)}removeEventListener(t,e){let i=t.$proxies||(t.$proxies={}),n=i[e];if(!n)return;({attach:yo,detach:yo,resize:yo}[e]||sd)(t,e,n),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,n){return fa(t,e,i,n)}isAttached(t){let e=t&&Ui(t);return!!(e&&e.isConnected)}};function hd(s){return!ji()||typeof OffscreenCanvas<"u"&&s instanceof OffscreenCanvas?vo:To}var yt=class{constructor(){S(this,"x");S(this,"y");S(this,"active",!1);S(this,"options");S(this,"$animations")}tooltipPosition(t){let{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return we(this.x)&&we(this.y)}getProps(t,e){let i=this.$animations;if(!e||!i)return this;let n={};return t.forEach(o=>{n[o]=i[o]&&i[o].active()?i[o]._to:this[o]}),n}};S(yt,"defaults",{}),S(yt,"defaultRoutes");function ud(s,t){let e=s.options.ticks,i=dd(s),n=Math.min(e.maxTicksLimit||i,i),o=e.major.enabled?md(t):[],r=o.length,a=o[0],l=o[r-1],c=[];if(r>n)return gd(t,c,o,r/n),c;let h=fd(o,t,n);if(r>0){let u,d,f=r>1?Math.round((l-a)/(r-1)):null;for(qi(t,c,h,A(f)?0:a-f,a),u=0,d=r-1;un)return l}return Math.max(n,1)}function md(s){let t=[],e,i;for(e=0,i=s.length;es==="left"?"right":s==="right"?"left":s,La=(s,t,e)=>t==="top"||t==="left"?s[t]+e:s[t]-e,Pa=(s,t)=>Math.min(t||s,s);function Na(s,t){let e=[],i=s.length/t,n=s.length,o=0;for(;or+a)))return l}function xd(s,t){V(s,e=>{let i=e.gc,n=i.length/2,o;if(n>t){for(o=0;oi?i:e,i=n&&e>i?e:i,{min:ut(e,ut(i,e)),max:ut(i,ut(e,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){let t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){B(this.options.beforeUpdate,[this])}update(t,e,i){let{beginAtZero:n,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=aa(this,o,n),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();let l=a=o||i<=1||!this.isHorizontal()){this.labelRotation=n;return}let h=this._getLabelSizes(),u=h.widest.width,d=h.highest.height,f=tt(this.chart.width-u,0,this.maxWidth);a=t.offset?this.maxWidth/i:f/(i-1),u+6>a&&(a=f/(i-(t.offset?.5:1)),l=this.maxHeight-As(t.grid)-e.padding-Ra(t.title,this.chart.options.font),c=Math.sqrt(u*u+d*d),r=Ri(Math.min(Math.asin(tt((h.highest.height+6)/a,-1,1)),Math.asin(tt(l/c,-1,1))-Math.asin(tt(d/c,-1,1)))),r=Math.max(n,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){B(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){B(this.options.beforeFit,[this])}fit(){let t={width:0,height:0},{chart:e,options:{ticks:i,title:n,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){let l=Ra(n,e.options.font);if(a?(t.width=this.maxWidth,t.height=As(o)+l):(t.height=this.maxHeight,t.width=As(o)+l),i.display&&this.ticks.length){let{first:c,last:h,widest:u,highest:d}=this._getLabelSizes(),f=i.padding*2,m=wt(this.labelRotation),g=Math.cos(m),p=Math.sin(m);if(a){let y=i.mirror?0:p*u.width+g*d.height;t.height=Math.min(this.maxHeight,t.height+y+f)}else{let y=i.mirror?0:g*u.width+p*d.height;t.width=Math.min(this.maxWidth,t.width+y+f)}this._calculatePadding(c,h,p,g)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,n){let{ticks:{align:o,padding:r},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){let h=this.getPixelForTick(0)-this.left,u=this.right-this.getPixelForTick(this.ticks.length-1),d=0,f=0;l?c?(d=n*t.width,f=i*e.height):(d=i*t.height,f=n*e.width):o==="start"?f=e.width:o==="end"?d=t.width:o!=="inner"&&(d=t.width/2,f=e.width/2),this.paddingLeft=Math.max((d-h+r)*this.width/(this.width-h),0),this.paddingRight=Math.max((f-u+r)*this.width/(this.width-u),0)}else{let h=e.height/2,u=t.height/2;o==="start"?(h=0,u=t.height):o==="end"&&(h=e.height,u=0),this.paddingTop=h+r,this.paddingBottom=u+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){B(this.options.afterFit,[this])}isHorizontal(){let{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,i;for(e=0,i=t.length;e({width:r[O]||0,height:a[O]||0});return{first:v(0),last:v(e-1),widest:v(k),highest:v(M),widths:r,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){let e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);let e=this._startPixel+t*this._length;return Xr(this._alignToPixels?oe(this.chart,e,0):e)}getDecimalForPixel(t){let e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){let{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){let e=this.ticks||[];if(t>=0&&ta*n?a/i:l/n:l*n0}_computeGridLineItems(t){let e=this.axis,i=this.chart,n=this.options,{grid:o,position:r,border:a}=n,l=o.offset,c=this.isHorizontal(),u=this.ticks.length+(l?1:0),d=As(o),f=[],m=a.setContext(this.getContext()),g=m.display?m.width:0,p=g/2,y=function(Y){return oe(i,Y,g)},b,_,w,x,k,M,v,O,E,C,P,nt;if(r==="top")b=y(this.bottom),M=this.bottom-d,O=b-p,C=y(t.top)+p,nt=t.bottom;else if(r==="bottom")b=y(this.top),C=t.top,nt=y(t.bottom)-p,M=b+p,O=this.top+d;else if(r==="left")b=y(this.right),k=this.right-d,v=b-p,E=y(t.left)+p,P=t.right;else if(r==="right")b=y(this.left),E=t.left,P=y(t.right)-p,k=b+p,v=this.left+d;else if(e==="x"){if(r==="center")b=y((t.top+t.bottom)/2+.5);else if(L(r)){let Y=Object.keys(r)[0],J=r[Y];b=y(this.chart.scales[Y].getPixelForValue(J))}C=t.top,nt=t.bottom,M=b+p,O=M+d}else if(e==="y"){if(r==="center")b=y((t.left+t.right)/2);else if(L(r)){let Y=Object.keys(r)[0],J=r[Y];b=y(this.chart.scales[Y].getPixelForValue(J))}k=b-p,v=k-d,E=t.left,P=t.right}let gt=I(n.ticks.maxTicksLimit,u),H=Math.max(1,Math.ceil(u/gt));for(_=0;_0&&(ye-=pe/2);break}Mi={left:ye,top:_s,width:pe+Ne.width,height:xs+Ne.height,color:H.backdropColor}}p.push({label:w,font:O,textOffset:P,options:{rotation:g,color:J,strokeColor:Tt,strokeWidth:lt,textAlign:Pe,textBaseline:nt,translation:[x,k],backdrop:Mi}})}return p}_getXAxisLabelAlignment(){let{position:t,ticks:e}=this.options;if(-wt(this.labelRotation))return t==="top"?"left":"right";let n="center";return e.align==="start"?n="left":e.align==="end"?n="right":e.align==="inner"&&(n="inner"),n}_getYAxisLabelAlignment(t){let{position:e,ticks:{crossAlign:i,mirror:n,padding:o}}=this.options,r=this._getLabelSizes(),a=t+o,l=r.widest.width,c,h;return e==="left"?n?(h=this.right+o,i==="near"?c="left":i==="center"?(c="center",h+=l/2):(c="right",h+=l)):(h=this.right-a,i==="near"?c="right":i==="center"?(c="center",h-=l/2):(c="left",h=this.left)):e==="right"?n?(h=this.left+o,i==="near"?c="right":i==="center"?(c="center",h-=l/2):(c="left",h-=l)):(h=this.left+a,i==="near"?c="left":i==="center"?(c="center",h+=l/2):(c="right",h=this.right)):c="right",{textAlign:c,x:h}}_computeLabelArea(){if(this.options.ticks.mirror)return;let t=this.chart,e=this.options.position;if(e==="left"||e==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(e==="top"||e==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){let{ctx:t,options:{backgroundColor:e},left:i,top:n,width:o,height:r}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,n,o,r),t.restore())}getLineWidthForValue(t){let e=this.options.grid;if(!this._isVisible()||!e.display)return 0;let n=this.ticks.findIndex(o=>o.value===t);return n>=0?e.setContext(this.getContext(n)).lineWidth:0}drawGrid(t){let e=this.options.grid,i=this.ctx,n=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t)),o,r,a=(l,c,h)=>{!h.width||!h.color||(i.save(),i.lineWidth=h.width,i.strokeStyle=h.color,i.setLineDash(h.borderDash||[]),i.lineDashOffset=h.borderDashOffset,i.beginPath(),i.moveTo(l.x,l.y),i.lineTo(c.x,c.y),i.stroke(),i.restore())};if(e.display)for(o=0,r=n.length;o{this.draw(o)}}]:[{z:i,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:n,draw:()=>{this.drawBorder()}},{z:e,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){let e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",n=[],o,r;for(o=0,r=e.length;o{let i=e.split("."),n=i.pop(),o=[s].concat(i).join("."),r=t[e].split("."),a=r.pop(),l=r.join(".");U.route(o,n,l,a)})}function Td(s){return"id"in s&&"defaults"in s}var Oo=class{constructor(){this.controllers=new ss(pt,"datasets",!0),this.elements=new ss(yt,"elements"),this.plugins=new ss(Object,"plugins"),this.scales=new ss(Ee,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach(n=>{let o=i||this._getRegistryForType(n);i||o.isForType(n)||o===this.plugins&&n.id?this._exec(t,o,n):V(n,r=>{let a=i||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,e,i){let n=Ni(t);B(i["before"+n],[],i),e[t](i),B(i["after"+n],[],i)}_getRegistryForType(t){for(let e=0;eo.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(n(e,i),t,"stop"),this._notify(n(i,e),t,"start")}};function Od(s){let t={},e=[],i=Object.keys(zt.plugins.items);for(let o=0;o1&&Wa(s[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${s}' axis. Please provide 'axis' or 'position' option.`)}function za(s,t,e){if(e[t+"AxisID"]===s)return{axis:t}}function Ld(s,t){if(t.data&&t.data.datasets){let e=t.data.datasets.filter(i=>i.xAxisID===s||i.yAxisID===s);if(e.length)return za(s,"x",e[0])||za(s,"y",e[0])}return{}}function Pd(s,t){let e=ne[s.type]||{scales:{}},i=t.scales||{},n=Eo(s.type,t),o=Object.create(null);return Object.keys(i).forEach(r=>{let a=i[r];if(!L(a))return console.error(`Invalid scale configuration for scale: ${r}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${r}`);let l=Io(r,a,Ld(r,s),U.scales[a.type]),c=Fd(l,n),h=e.scales||{};o[r]=He(Object.create(null),[{axis:l},a,h[l],h[c]])}),s.data.datasets.forEach(r=>{let a=r.type||s.type,l=r.indexAxis||Eo(a,t),h=(ne[a]||{}).scales||{};Object.keys(h).forEach(u=>{let d=Cd(u,l),f=r[d+"AxisID"]||d;o[f]=o[f]||Object.create(null),He(o[f],[{axis:d},i[f],h[u]])})}),Object.keys(o).forEach(r=>{let a=o[r];He(a,[U.scales[a.type],U.scale])}),o}function Ml(s){let t=s.options||(s.options={});t.plugins=I(t.plugins,{}),t.scales=Pd(s,t)}function vl(s){return s=s||{},s.datasets=s.datasets||[],s.labels=s.labels||[],s}function Nd(s){return s=s||{},s.data=vl(s.data),Ml(s),s}var Va=new Map,Tl=new Set;function Gi(s,t){let e=Va.get(s);return e||(e=t(),Va.set(s,e),Tl.add(e)),e}var Ls=(s,t,e)=>{let i=Ut(t,e);i!==void 0&&s.add(i)},Co=class{constructor(t){this._config=Nd(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=vl(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){let t=this._config;this.clearCache(),Ml(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Gi(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return Gi(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return Gi(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){let e=t.id,i=this.type;return Gi(`${i}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){let i=this._scopeCache,n=i.get(t);return(!n||e)&&(n=new Map,i.set(t,n)),n}getOptionScopes(t,e,i){let{options:n,type:o}=this,r=this._cachedScopes(t,i),a=r.get(e);if(a)return a;let l=new Set;e.forEach(h=>{t&&(l.add(t),h.forEach(u=>Ls(l,t,u))),h.forEach(u=>Ls(l,n,u)),h.forEach(u=>Ls(l,ne[o]||{},u)),h.forEach(u=>Ls(l,U,u)),h.forEach(u=>Ls(l,Vi,u))});let c=Array.from(l);return c.length===0&&c.push(Object.create(null)),Tl.has(e)&&r.set(e,c),c}chartOptionScopes(){let{options:t,type:e}=this;return[t,ne[e]||{},U.datasets[e]||{},{type:e},U,Vi]}resolveNamedOptions(t,e,i,n=[""]){let o={$shared:!0},{resolver:r,subPrefixes:a}=Ha(this._resolverCache,t,n),l=r;if(Wd(r,e)){o.$shared=!1,i=$t(i)?i():i;let c=this.createResolver(t,i,a);l=_e(r,i,c)}for(let c of e)o[c]=l[c];return o}createResolver(t,e,i=[""],n){let{resolver:o}=Ha(this._resolverCache,t,i);return L(e)?_e(o,e,void 0,n):o}};function Ha(s,t,e){let i=s.get(t);i||(i=new Map,s.set(t,i));let n=e.join(),o=i.get(n);return o||(o={resolver:$i(t,e),subPrefixes:e.filter(a=>!a.toLowerCase().includes("hover"))},i.set(n,o)),o}var Rd=s=>L(s)&&Object.getOwnPropertyNames(s).some(t=>$t(s[t]));function Wd(s,t){let{isScriptable:e,isIndexable:i}=Qn(s);for(let n of t){let o=e(n),r=i(n),a=(r||o)&&s[n];if(o&&($t(a)||Rd(a))||r&&$(a))return!0}return!1}var zd="4.5.0",Vd=["top","bottom","left","right","chartArea"];function Ba(s,t){return s==="top"||s==="bottom"||Vd.indexOf(s)===-1&&t==="x"}function $a(s,t){return function(e,i){return e[s]===i[s]?e[t]-i[t]:e[s]-i[s]}}function ja(s){let t=s.chart,e=t.options.animation;t.notifyPlugins("afterRender"),B(e&&e.onComplete,[s],t)}function Hd(s){let t=s.chart,e=t.options.animation;B(e&&e.onProgress,[s],t)}function Ol(s){return ji()&&typeof s=="string"?s=document.getElementById(s):s&&s.length&&(s=s[0]),s&&s.canvas&&(s=s.canvas),s}var tn={},Ua=s=>{let t=Ol(s);return Object.values(tn).filter(e=>e.canvas===t).pop()};function Bd(s,t,e){let i=Object.keys(s);for(let n of i){let o=+n;if(o>=t){let r=s[n];delete s[n],(e>0||o>t)&&(s[o+e]=r)}}}function $d(s,t,e,i){return!e||s.type==="mouseout"?null:i?t:s}var St=class{static register(...t){zt.add(...t),Ya()}static unregister(...t){zt.remove(...t),Ya()}constructor(t,e){let i=this.config=new Co(e),n=Ol(t),o=Ua(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");let r=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||hd(n)),this.platform.updateConfig(i);let a=this.platform.acquireContext(n,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,h=l&&l.width;if(this.id=jr(),this.ctx=a,this.canvas=l,this.width=h,this.height=c,this._options=r,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Do,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=ea(u=>this.update(u),r.resizeDelay||0),this._dataChanges=[],tn[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}Zt.listen(this,"complete",ja),Zt.listen(this,"progress",Hd),this._initialize(),this.attached&&this.update()}get aspectRatio(){let{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:n,_aspectRatio:o}=this;return A(t)?e&&o?o:n?i/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return zt}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():io(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Xn(this.canvas,this.ctx),this}stop(){return Zt.stop(this),this}resize(t,e){Zt.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){let i=this.options,n=this.canvas,o=i.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(n,t,e,o),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,io(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),B(i.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){let e=this.options.scales||{};V(e,(i,n)=>{i.id=n})}buildOrUpdateScales(){let t=this.options,e=t.scales,i=this.scales,n=Object.keys(i).reduce((r,a)=>(r[a]=!1,r),{}),o=[];e&&(o=o.concat(Object.keys(e).map(r=>{let a=e[r],l=Io(r,a),c=l==="r",h=l==="x";return{options:a,dposition:c?"chartArea":h?"bottom":"left",dtype:c?"radialLinear":h?"category":"linear"}}))),V(o,r=>{let a=r.options,l=a.id,c=Io(l,a),h=I(a.type,r.dtype);(a.position===void 0||Ba(a.position,c)!==Ba(r.dposition))&&(a.position=r.dposition),n[l]=!0;let u=null;if(l in i&&i[l].type===h)u=i[l];else{let d=zt.getScale(h);u=new d({id:l,type:h,ctx:this.ctx,chart:this}),i[u.id]=u}u.init(a,t)}),V(n,(r,a)=>{r||delete i[a]}),V(i,r=>{ct.configure(this,r,r.options),ct.addBox(this,r)})}_updateMetasets(){let t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort((n,o)=>n.index-o.index),i>e){for(let n=e;ne.length&&delete this._stacks,t.forEach((i,n)=>{e.filter(o=>o===i._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){let t=[],e=this.data.datasets,i,n;for(this._removeUnreferencedMetasets(),i=0,n=e.length;i{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){let e=this.config;e.update();let i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),n=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;let o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let c=0,h=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort($a("z","_idx"));let{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){V(this.scales,t=>{ct.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){let t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Rn(e,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){let{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(let{method:i,start:n,count:o}of e){let r=i==="_removeElements"?-o:o;Bd(t,n,r)}}_getUniformDataChanges(){let t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];let e=this.data.datasets.length,i=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),n=i(0);for(let o=1;oo.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;ct.update(this,this.width,this.height,t);let e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],V(this.boxes,n=>{i&&n.position==="chartArea"||(n.configure&&n.configure(),this._layers.push(...n._layers()))},this),this._layers.forEach((n,o)=>{n._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,i=this.data.datasets.length;e=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){let e=this.ctx,i={meta:t,index:t.index,cancelable:!0},n=co(this,t);this.notifyPlugins("beforeDatasetDraw",i)!==!1&&(n&&Ds(e,n),t.controller.draw(),n&&Es(e),i.cancelable=!1,this.notifyPlugins("afterDatasetDraw",i))}isPointInArea(t){return Pt(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,n){let o=Uu.modes[e];return typeof o=="function"?o(this,t,i,n):[]}getDatasetMeta(t){let e=this.data.datasets[t],i=this._metasets,n=i.filter(o=>o&&o._dataset===e).pop();return n||(n={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(n)),n}getContext(){return this.$context||(this.$context=Yt(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){let e=this.data.datasets[t];if(!e)return!1;let i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!e.hidden}setDatasetVisibility(t,e){let i=this.getDatasetMeta(t);i.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){let n=i?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,n);Be(e)?(o.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),r.update(o,{visible:i}),this.update(a=>a.datasetIndex===t?n:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){let e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),Zt.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,o,r),t[o]=r},n=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};V(this.options.events,o=>i(o,n))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});let t=this._responsiveListeners,e=this.platform,i=(l,c)=>{e.addEventListener(this,l,c),t[l]=c},n=(l,c)=>{t[l]&&(e.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)},r,a=()=>{n("attach",a),this.attached=!0,this.resize(),i("resize",o),i("detach",r)};r=()=>{this.attached=!1,n("resize",o),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():r()}unbindEvents(){V(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},V(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){let n=i?"set":"remove",o,r,a,l;for(e==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+n+"DatasetHoverStyle"]()),a=0,l=t.length;a{let a=this.getDatasetMeta(o);if(!a)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:a.data[r],index:r}});!Ts(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return this._plugins._cache.filter(e=>e.plugin.id===t).length===1}_updateHoverStyles(t,e,i){let n=this.options.hover,o=(l,c)=>l.filter(h=>!c.some(u=>h.datasetIndex===u.datasetIndex&&h.index===u.index)),r=o(e,t),a=i?t:o(t,e);r.length&&this.updateHoverStyle(r,n.mode,!1),a.length&&n.mode&&this.updateHoverStyle(a,n.mode,!0)}_eventHandler(t,e){let i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},n=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,n)===!1)return;let o=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,n),(o||i.changed)&&this.render(),this}_handleEvent(t,e,i){let{_active:n=[],options:o}=this,r=e,a=this._getActiveElements(t,n,i,r),l=Zr(t),c=$d(t,this._lastEvent,i,l);i&&(this._lastEvent=null,B(o.onHover,[t,a,this],this),l&&B(o.onClick,[t,a,this],this));let h=!Ts(a,n);return(h||e)&&(this._active=a,this._updateHoverStyles(a,n,e)),this._lastEvent=c,h}_getActiveElements(t,e,i,n){if(t.type==="mouseout")return[];if(!i)return e;let o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,n)}};S(St,"defaults",U),S(St,"instances",tn),S(St,"overrides",ne),S(St,"registry",zt),S(St,"version",zd),S(St,"getChart",Ua);function Ya(){return V(St.instances,s=>s._plugins.invalidate())}function jd(s,t,e){let{startAngle:i,x:n,y:o,outerRadius:r,innerRadius:a,options:l}=t,{borderWidth:c,borderJoinStyle:h}=l,u=Math.min(c/r,ot(i-e));if(s.beginPath(),s.arc(n,o,r-c/2,i+u/2,e-u/2),a>0){let d=Math.min(c/a,ot(i-e));s.arc(n,o,a+c/2,e-d/2,i+d/2,!0)}else{let d=Math.min(c/2,r*ot(i-e));if(h==="round")s.arc(n,o,d,e-N/2,i+N/2,!0);else if(h==="bevel"){let f=2*d*d,m=-f*Math.cos(e+N/2)+n,g=-f*Math.sin(e+N/2)+o,p=f*Math.cos(i+N/2)+n,y=f*Math.sin(i+N/2)+o;s.lineTo(m,g),s.lineTo(p,y)}}s.closePath(),s.moveTo(0,0),s.rect(0,0,s.canvas.width,s.canvas.height),s.clip("evenodd")}function Ud(s,t,e){let{startAngle:i,pixelMargin:n,x:o,y:r,outerRadius:a,innerRadius:l}=t,c=n/a;s.beginPath(),s.arc(o,r,a,i-c,e+c),l>n?(c=n/l,s.arc(o,r,l,e+c,i-c,!0)):s.arc(o,r,n,e+X,i-X),s.closePath(),s.clip()}function Yd(s){return Bi(s,["outerStart","outerEnd","innerStart","innerEnd"])}function Zd(s,t,e,i){let n=Yd(s.options.borderRadius),o=(e-t)/2,r=Math.min(o,i*t/2),a=l=>{let c=(e-Math.min(o,l))*i/2;return tt(l,0,Math.min(o,c))};return{outerStart:a(n.outerStart),outerEnd:a(n.outerEnd),innerStart:tt(n.innerStart,0,r),innerEnd:tt(n.innerEnd,0,r)}}function qe(s,t,e,i){return{x:e+s*Math.cos(t),y:i+s*Math.sin(t)}}function on(s,t,e,i,n,o){let{x:r,y:a,startAngle:l,pixelMargin:c,innerRadius:h}=t,u=Math.max(t.outerRadius+i+e-c,0),d=h>0?h+i+e+c:0,f=0,m=n-l;if(i){let H=h>0?h-i:0,Y=u>0?u-i:0,J=(H+Y)/2,Tt=J!==0?m*J/(J+i):m;f=(m-Tt)/2}let g=Math.max(.001,m*u-e/N)/u,p=(m-g)/2,y=l+p+f,b=n-p-f,{outerStart:_,outerEnd:w,innerStart:x,innerEnd:k}=Zd(t,d,u,b-y),M=u-_,v=u-w,O=y+_/M,E=b-w/v,C=d+x,P=d+k,nt=y+x/C,gt=b-k/P;if(s.beginPath(),o){let H=(O+E)/2;if(s.arc(r,a,u,O,H),s.arc(r,a,u,H,E),w>0){let lt=qe(v,E,r,a);s.arc(lt.x,lt.y,w,E,b+X)}let Y=qe(P,b,r,a);if(s.lineTo(Y.x,Y.y),k>0){let lt=qe(P,gt,r,a);s.arc(lt.x,lt.y,k,b+X,gt+Math.PI)}let J=(b-k/d+(y+x/d))/2;if(s.arc(r,a,d,b-k/d,J,!0),s.arc(r,a,d,J,y+x/d,!0),x>0){let lt=qe(C,nt,r,a);s.arc(lt.x,lt.y,x,nt+Math.PI,y-X)}let Tt=qe(M,y,r,a);if(s.lineTo(Tt.x,Tt.y),_>0){let lt=qe(M,O,r,a);s.arc(lt.x,lt.y,_,y-X,O)}}else{s.moveTo(r,a);let H=Math.cos(O)*u+r,Y=Math.sin(O)*u+a;s.lineTo(H,Y);let J=Math.cos(E)*u+r,Tt=Math.sin(E)*u+a;s.lineTo(J,Tt)}s.closePath()}function qd(s,t,e,i,n){let{fullCircles:o,startAngle:r,circumference:a}=t,l=t.endAngle;if(o){on(s,t,e,i,l,n);for(let c=0;c=N&&f===0&&h!=="miter"&&jd(s,t,g),o||(on(s,t,e,i,g,n),s.stroke())}var ve=class extends yt{constructor(e){super();S(this,"circumference");S(this,"endAngle");S(this,"fullCircles");S(this,"innerRadius");S(this,"outerRadius");S(this,"pixelMargin");S(this,"startAngle");this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,e&&Object.assign(this,e)}inRange(e,i,n){let o=this.getProps(["x","y"],n),{angle:r,distance:a}=Hn(o,{x:e,y:i}),{startAngle:l,endAngle:c,innerRadius:h,outerRadius:u,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],n),f=(this.options.spacing+this.options.borderWidth)/2,m=I(d,c-l),g=je(r,l,c)&&l!==c,p=m>=j||g,y=Rt(a,h+f,u+f);return p&&y}getCenterPoint(e){let{x:i,y:n,startAngle:o,endAngle:r,innerRadius:a,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],e),{offset:c,spacing:h}=this.options,u=(o+r)/2,d=(a+l+h+c)/2;return{x:i+Math.cos(u)*d,y:n+Math.sin(u)*d}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){let{options:i,circumference:n}=this,o=(i.offset||0)/4,r=(i.spacing||0)/2,a=i.circular;if(this.pixelMargin=i.borderAlign==="inner"?.33:0,this.fullCircles=n>j?Math.floor(n/j):0,n===0||this.innerRadius<0||this.outerRadius<0)return;e.save();let l=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(l)*o,Math.sin(l)*o);let c=1-Math.sin(Math.min(N,n||0)),h=o*c;e.fillStyle=i.backgroundColor,e.strokeStyle=i.borderColor,qd(e,this,h,r,a),Gd(e,this,h,r,a),e.restore()}};S(ve,"id","arc"),S(ve,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1}),S(ve,"defaultRoutes",{backgroundColor:"backgroundColor"}),S(ve,"descriptors",{_scriptable:!0,_indexable:e=>e!=="borderDash"});function Dl(s,t,e=t){s.lineCap=I(e.borderCapStyle,t.borderCapStyle),s.setLineDash(I(e.borderDash,t.borderDash)),s.lineDashOffset=I(e.borderDashOffset,t.borderDashOffset),s.lineJoin=I(e.borderJoinStyle,t.borderJoinStyle),s.lineWidth=I(e.borderWidth,t.borderWidth),s.strokeStyle=I(e.borderColor,t.borderColor)}function Xd(s,t,e){s.lineTo(e.x,e.y)}function Kd(s){return s.stepped?oa:s.tension||s.cubicInterpolationMode==="monotone"?ra:Xd}function El(s,t,e={}){let i=s.length,{start:n=0,end:o=i-1}=e,{start:r,end:a}=t,l=Math.max(n,r),c=Math.min(o,a),h=na&&o>a;return{count:i,start:l,loop:t.loop,ilen:c(r+(c?a-w:w))%o,_=()=>{g!==p&&(s.lineTo(h,p),s.lineTo(h,g),s.lineTo(h,y))};for(l&&(f=n[b(0)],s.moveTo(f.x,f.y)),d=0;d<=a;++d){if(f=n[b(d)],f.skip)continue;let w=f.x,x=f.y,k=w|0;k===m?(xp&&(p=x),h=(u*h+w)/++u):(_(),s.lineTo(w,x),m=k,u=0,g=p=x),y=x}_()}function Fo(s){let t=s.options,e=t.borderDash&&t.borderDash.length;return!s._decimated&&!s._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?Qd:Jd}function tf(s){return s.stepped?ga:s.tension||s.cubicInterpolationMode==="monotone"?pa:ie}function ef(s,t,e,i){let n=t._path;n||(n=t._path=new Path2D,t.path(n,e,i)&&n.closePath()),Dl(s,t.options),s.stroke(n)}function sf(s,t,e,i){let{segments:n,options:o}=t,r=Fo(t);for(let a of n)Dl(s,o,a.style),s.beginPath(),r(s,t,a,{start:e,end:e+i-1})&&s.closePath(),s.stroke()}var nf=typeof Path2D=="function";function of(s,t,e,i){nf&&!t.options.segment?ef(s,t,e,i):sf(s,t,e,i)}var Vt=class extends yt{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){let i=this.options;if((i.tension||i.cubicInterpolationMode==="monotone")&&!i.stepped&&!this._pointsUpdated){let n=i.spanGaps?this._loop:this._fullLoop;da(this._points,i,t,n,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=ba(this,this.options.segment))}first(){let t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){let t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){let i=this.options,n=t[e],o=this.points,r=lo(this,{property:e,start:n,end:n});if(!r.length)return;let a=[],l=tf(i),c,h;for(c=0,h=r.length;ct!=="borderDash"&&t!=="fill"});function Za(s,t,e,i){let n=s.options,{[e]:o}=s.getProps([e],i);return Math.abs(t-o)s.replace("rgb(","rgba(").replace(")",", 0.5)"));function Cl(s){return Ao[s%Ao.length]}function Fl(s){return qa[s%qa.length]}function df(s,t){return s.borderColor=Cl(t),s.backgroundColor=Fl(t),++t}function ff(s,t){return s.backgroundColor=s.data.map(()=>Cl(t++)),t}function mf(s,t){return s.backgroundColor=s.data.map(()=>Fl(t++)),t}function gf(s){let t=0;return(e,i)=>{let n=s.getDatasetMeta(i).controller;n instanceof Gt?t=ff(e,t):n instanceof Oe?t=mf(e,t):n&&(t=df(e,t))}}function Ga(s){let t;for(t in s)if(s[t].borderColor||s[t].backgroundColor)return!0;return!1}function pf(s){return s&&(s.borderColor||s.backgroundColor)}function yf(){return U.borderColor!=="rgba(0,0,0,0.1)"||U.backgroundColor!=="rgba(0,0,0,0.1)"}var bf={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(s,t,e){if(!e.enabled)return;let{data:{datasets:i},options:n}=s.config,{elements:o}=n,r=Ga(i)||pf(n)||o&&Ga(o)||yf();if(!e.forceOverride&&r)return;let a=gf(s);i.forEach(a)}};function xf(s,t,e,i,n){let o=n.samples||i;if(o>=e)return s.slice(t,t+e);let r=[],a=(e-2)/(o-2),l=0,c=t+e-1,h=t,u,d,f,m,g;for(r[l++]=s[h],u=0;uf&&(f=m,d=s[b],g=b);r[l++]=d,h=g}return r[l++]=s[c],r}function _f(s,t,e,i){let n=0,o=0,r,a,l,c,h,u,d,f,m,g,p=[],y=t+e-1,b=s[t].x,w=s[y].x-b;for(r=t;rg&&(g=c,d=r),n=(o*n+a.x)/++o;else{let k=r-1;if(!A(u)&&!A(d)){let M=Math.min(u,d),v=Math.max(u,d);M!==f&&M!==k&&p.push({...s[M],x:n}),v!==f&&v!==k&&p.push({...s[v],x:n})}r>0&&k!==f&&p.push(s[k]),p.push(a),h=x,o=0,m=g=c,u=d=f=r}}return p}function Al(s){if(s._decimated){let t=s._data;delete s._decimated,delete s._data,Object.defineProperty(s,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function Xa(s){s.data.datasets.forEach(t=>{Al(t)})}function wf(s,t){let e=t.length,i=0,n,{iScale:o}=s,{min:r,max:a,minDefined:l,maxDefined:c}=o.getUserBounds();return l&&(i=tt(Lt(t,o.axis,r).lo,0,e-1)),c?n=tt(Lt(t,o.axis,a).hi+1,i,e)-i:n=e-i,{start:i,count:n}}var Sf={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(s,t,e)=>{if(!e.enabled){Xa(s);return}let i=s.width;s.data.datasets.forEach((n,o)=>{let{_data:r,indexAxis:a}=n,l=s.getDatasetMeta(o),c=r||n.data;if(Ze([a,s.options.indexAxis])==="y"||!l.controller.supportsDecimation)return;let h=s.scales[l.xAxisID];if(h.type!=="linear"&&h.type!=="time"||s.options.parsing)return;let{start:u,count:d}=wf(l,c),f=e.threshold||4*i;if(d<=f){Al(n);return}A(r)&&(n._data=c,delete n.data,Object.defineProperty(n,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(g){this._data=g}}));let m;switch(e.algorithm){case"lttb":m=xf(c,u,d,i,e);break;case"min-max":m=_f(c,u,d,i);break;default:throw new Error(`Unsupported decimation algorithm '${e.algorithm}'`)}n._decimated=m})},destroy(s){Xa(s)}};function kf(s,t,e){let i=s.segments,n=s.points,o=t.points,r=[];for(let a of i){let{start:l,end:c}=a;c=ln(l,c,n);let h=Lo(e,n[l],n[c],a.loop);if(!t.segments){r.push({source:a,target:h,start:n[l],end:n[c]});continue}let u=lo(t,h);for(let d of u){let f=Lo(e,o[d.start],o[d.end],d.loop),m=ao(a,n,f);for(let g of m)r.push({source:g,target:d,start:{[e]:Ka(h,f,"start",Math.max)},end:{[e]:Ka(h,f,"end",Math.min)}})}}return r}function Lo(s,t,e,i){if(i)return;let n=t[s],o=e[s];return s==="angle"&&(n=ot(n),o=ot(o)),{property:s,start:n,end:o}}function Mf(s,t){let{x:e=null,y:i=null}=s||{},n=t.points,o=[];return t.segments.forEach(({start:r,end:a})=>{a=ln(r,a,n);let l=n[r],c=n[a];i!==null?(o.push({x:l.x,y:i}),o.push({x:c.x,y:i})):e!==null&&(o.push({x:e,y:l.y}),o.push({x:e,y:c.y}))}),o}function ln(s,t,e){for(;t>s;t--){let i=e[t];if(!isNaN(i.x)&&!isNaN(i.y))break}return t}function Ka(s,t,e,i){return s&&t?i(s[e],t[e]):s?s[e]:t?t[e]:0}function Ll(s,t){let e=[],i=!1;return $(s)?(i=!0,e=s):e=Mf(s,t),e.length?new Vt({points:e,options:{tension:0},_loop:i,_fullLoop:i}):null}function Ja(s){return s&&s.fill!==!1}function vf(s,t,e){let n=s[t].fill,o=[t],r;if(!e)return n;for(;n!==!1&&o.indexOf(n)===-1;){if(!Z(n))return n;if(r=s[n],!r)return!1;if(r.visible)return n;o.push(n),n=r.fill}return!1}function Tf(s,t,e){let i=If(s);if(L(i))return isNaN(i.value)?!1:i;let n=parseFloat(i);return Z(n)&&Math.floor(n)===n?Of(i[0],t,n,e):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}function Of(s,t,e,i){return(s==="-"||s==="+")&&(e=t+e),e===t||e<0||e>=i?!1:e}function Df(s,t){let e=null;return s==="start"?e=t.bottom:s==="end"?e=t.top:L(s)?e=t.getPixelForValue(s.value):t.getBasePixel&&(e=t.getBasePixel()),e}function Ef(s,t,e){let i;return s==="start"?i=e:s==="end"?i=t.options.reverse?t.min:t.max:L(s)?i=s.value:i=t.getBaseValue(),i}function If(s){let t=s.options,e=t.fill,i=I(e&&e.target,e);return i===void 0&&(i=!!t.backgroundColor),i===!1||i===null?!1:i===!0?"origin":i}function Cf(s){let{scale:t,index:e,line:i}=s,n=[],o=i.segments,r=i.points,a=Ff(t,e);a.push(Ll({x:null,y:t.bottom},i));for(let l=0;l=0;--r){let a=n[r].$filler;a&&(a.line.updateControlPoints(o,a.axis),i&&a.fill&&_o(s.ctx,a,o))}},beforeDatasetsDraw(s,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;let i=s.getSortedVisibleDatasetMetas();for(let n=i.length-1;n>=0;--n){let o=i[n].$filler;Ja(o)&&_o(s.ctx,o,s.chartArea)}},beforeDatasetDraw(s,t,e){let i=t.meta.$filler;!Ja(i)||e.drawTime!=="beforeDatasetDraw"||_o(s.ctx,i,s.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}},sl=(s,t)=>{let{boxHeight:e=t,boxWidth:i=t}=s;return s.usePointStyle&&(e=Math.min(e,t),i=s.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:e,itemHeight:Math.max(t,e)}},$f=(s,t)=>s!==null&&t!==null&&s.datasetIndex===t.datasetIndex&&s.index===t.index,an=class extends yt{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){let t=this.options.labels||{},e=B(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(i=>t.filter(i,this.chart.data))),t.sort&&(e=e.sort((i,n)=>t.sort(i,n,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){let{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}let i=t.labels,n=Q(i.font),o=n.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=sl(i,o),c,h;e.font=n.string,this.isHorizontal()?(c=this.maxWidth,h=this._fitRows(r,o,a,l)+10):(h=this.maxHeight,c=this._fitCols(r,n,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,n){let{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],h=n+a,u=t;o.textAlign="left",o.textBaseline="middle";let d=-1,f=-h;return this.legendItems.forEach((m,g)=>{let p=i+e/2+o.measureText(m.text).width;(g===0||c[c.length-1]+p+2*a>r)&&(u+=h,c[c.length-(g>0?0:1)]=0,f+=h,d++),l[g]={left:0,top:f,row:d,width:p,height:n},c[c.length-1]+=p+a}),u}_fitCols(t,e,i,n){let{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],h=r-t,u=a,d=0,f=0,m=0,g=0;return this.legendItems.forEach((p,y)=>{let{itemWidth:b,itemHeight:_}=jf(i,e,o,p,n);y>0&&f+_+2*a>h&&(u+=d+a,c.push({width:d,height:f}),m+=d+a,g++,d=f=0),l[y]={left:m,top:f,col:g,width:b,height:_},d=Math.max(d,b),f+=_+a}),u+=d,c.push({width:d,height:f}),u}adjustHitBoxes(){if(!this.options.display)return;let t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:n},rtl:o}}=this,r=Se(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=rt(i,this.left+n,this.right-this.lineWidths[a]);for(let c of e)a!==c.row&&(a=c.row,l=rt(i,this.left+n,this.right-this.lineWidths[a])),c.top+=this.top+t+n,c.left=r.leftForLtr(r.x(l),c.width),l+=c.width+n}else{let a=0,l=rt(i,this.top+t+n,this.bottom-this.columnSizes[a].height);for(let c of e)c.col!==a&&(a=c.col,l=rt(i,this.top+t+n,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+n,c.left=r.leftForLtr(r.x(c.left),c.width),l+=c.height+n}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){let t=this.ctx;Ds(t,this),this._draw(),Es(t)}}_draw(){let{options:t,columnSizes:e,lineWidths:i,ctx:n}=this,{align:o,labels:r}=t,a=U.color,l=Se(t.rtl,this.left,this.width),c=Q(r.font),{padding:h}=r,u=c.size,d=u/2,f;this.drawTitle(),n.textAlign=l.textAlign("left"),n.textBaseline="middle",n.lineWidth=.5,n.font=c.string;let{boxWidth:m,boxHeight:g,itemHeight:p}=sl(r,u),y=function(k,M,v){if(isNaN(m)||m<=0||isNaN(g)||g<0)return;n.save();let O=I(v.lineWidth,1);if(n.fillStyle=I(v.fillStyle,a),n.lineCap=I(v.lineCap,"butt"),n.lineDashOffset=I(v.lineDashOffset,0),n.lineJoin=I(v.lineJoin,"miter"),n.lineWidth=O,n.strokeStyle=I(v.strokeStyle,a),n.setLineDash(I(v.lineDash,[])),r.usePointStyle){let E={radius:g*Math.SQRT2/2,pointStyle:v.pointStyle,rotation:v.rotation,borderWidth:O},C=l.xPlus(k,m/2),P=M+d;Kn(n,E,C,P,r.pointStyleWidth&&m)}else{let E=M+Math.max((u-g)/2,0),C=l.leftForLtr(k,m),P=ae(v.borderRadius);n.beginPath(),Object.values(P).some(nt=>nt!==0)?Ye(n,{x:C,y:E,w:m,h:g,radius:P}):n.rect(C,E,m,g),n.fill(),O!==0&&n.stroke()}n.restore()},b=function(k,M,v){re(n,v.text,k,M+p/2,c,{strikethrough:v.hidden,textAlign:l.textAlign(v.textAlign)})},_=this.isHorizontal(),w=this._computeTitleHeight();_?f={x:rt(o,this.left+h,this.right-i[0]),y:this.top+h+w,line:0}:f={x:this.left+h,y:rt(o,this.top+w+h,this.bottom-e[0].height),line:0},oo(this.ctx,t.textDirection);let x=p+h;this.legendItems.forEach((k,M)=>{n.strokeStyle=k.fontColor,n.fillStyle=k.fontColor;let v=n.measureText(k.text).width,O=l.textAlign(k.textAlign||(k.textAlign=r.textAlign)),E=m+d+v,C=f.x,P=f.y;l.setWidth(this.width),_?M>0&&C+E+h>this.right&&(P=f.y+=x,f.line++,C=f.x=rt(o,this.left+h,this.right-i[f.line])):M>0&&P+x>this.bottom&&(C=f.x=C+e[f.line].width+h,f.line++,P=f.y=rt(o,this.top+w+h,this.bottom-e[f.line].height));let nt=l.x(C);if(y(nt,P,k),C=sa(O,C+m+d,_?C+E:this.right,t.rtl),b(l.x(C),P,k),_)f.x+=E+h;else if(typeof k.text!="string"){let gt=c.lineHeight;f.y+=Pl(k,gt)+h}else f.y+=x}),ro(this.ctx,t.textDirection)}drawTitle(){let t=this.options,e=t.title,i=Q(e.font),n=at(e.padding);if(!e.display)return;let o=Se(t.rtl,this.left,this.width),r=this.ctx,a=e.position,l=i.size/2,c=n.top+l,h,u=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+c,u=rt(t.align,u,this.right-d);else{let m=this.columnSizes.reduce((g,p)=>Math.max(g,p.height),0);h=c+rt(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}let f=rt(a,u,u+d);r.textAlign=o.textAlign(zi(a)),r.textBaseline="middle",r.strokeStyle=e.color,r.fillStyle=e.color,r.font=i.string,re(r,e.text,f,h,i)}_computeTitleHeight(){let t=this.options.title,e=Q(t.font),i=at(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,n,o;if(Rt(t,this.left,this.right)&&Rt(e,this.top,this.bottom)){for(o=this.legendHitBoxes,i=0;io.length>r.length?o:r)),t+e.size/2+i.measureText(n).width}function Yf(s,t,e){let i=s;return typeof t.text!="string"&&(i=Pl(t,e)),i}function Pl(s,t){let e=s.text?s.text.length:0;return t*e}function Zf(s,t){return!!((s==="mousemove"||s==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(s==="click"||s==="mouseup"))}var qf={id:"legend",_element:an,start(s,t,e){let i=s.legend=new an({ctx:s.ctx,options:e,chart:s});ct.configure(s,i,e),ct.addBox(s,i)},stop(s){ct.removeBox(s,s.legend),delete s.legend},beforeUpdate(s,t,e){let i=s.legend;ct.configure(s,i,e),i.options=e},afterUpdate(s){let t=s.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(s,t){t.replay||s.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(s,t,e){let i=t.datasetIndex,n=e.chart;n.isDatasetVisible(i)?(n.hide(i),t.hidden=!0):(n.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:s=>s.chart.options.color,boxWidth:40,padding:10,generateLabels(s){let t=s.data.datasets,{labels:{usePointStyle:e,pointStyle:i,textAlign:n,color:o,useBorderRadius:r,borderRadius:a}}=s.legend.options;return s._getSortedDatasetMetas().map(l=>{let c=l.controller.getStyle(e?0:void 0),h=at(c.borderWidth);return{text:t[l.index].label,fillStyle:c.backgroundColor,fontColor:o,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:c.borderColor,pointStyle:i||c.pointStyle,rotation:c.rotation,textAlign:n||c.textAlign,borderRadius:r&&(a||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:s=>s.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:s=>!s.startsWith("on"),labels:{_scriptable:s=>!["generateLabels","filter","sort"].includes(s)}}},js=class extends yt{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){let i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=e;let n=$(i.text)?i.text.length:1;this._padding=at(i.padding);let o=n*Q(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){let t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){let{top:e,left:i,bottom:n,right:o,options:r}=this,a=r.align,l=0,c,h,u;return this.isHorizontal()?(h=rt(a,i,o),u=e+t,c=o-i):(r.position==="left"?(h=i+t,u=rt(a,n,e),l=N*-.5):(h=o-t,u=rt(a,e,n),l=N*.5),c=n-e),{titleX:h,titleY:u,maxWidth:c,rotation:l}}draw(){let t=this.ctx,e=this.options;if(!e.display)return;let i=Q(e.font),o=i.lineHeight/2+this._padding.top,{titleX:r,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(o);re(t,e.text,0,0,i,{color:e.color,maxWidth:l,rotation:c,textAlign:zi(e.align),textBaseline:"middle",translation:[r,a]})}};function Gf(s,t){let e=new js({ctx:s.ctx,options:t,chart:s});ct.configure(s,e,t),ct.addBox(s,e),s.titleBlock=e}var Xf={id:"title",_element:js,start(s,t,e){Gf(s,e)},stop(s){let t=s.titleBlock;ct.removeBox(s,t),delete s.titleBlock},beforeUpdate(s,t,e){let i=s.titleBlock;ct.configure(s,i,e),i.options=e},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}},Xi=new WeakMap,Kf={id:"subtitle",start(s,t,e){let i=new js({ctx:s.ctx,options:e,chart:s});ct.configure(s,i,e),ct.addBox(s,i),Xi.set(s,i)},stop(s){ct.removeBox(s,Xi.get(s)),Xi.delete(s)},beforeUpdate(s,t,e){let i=Xi.get(s);ct.configure(s,i,e),i.options=e},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}},Rs={average(s){if(!s.length)return!1;let t,e,i=new Set,n=0,o=0;for(t=0,e=s.length;ta+l)/i.size,y:n/o}},nearest(s,t){if(!s.length)return!1;let e=t.x,i=t.y,n=Number.POSITIVE_INFINITY,o,r,a;for(o=0,r=s.length;o-1?s.split(` +`):s}function Jf(s,t){let{element:e,datasetIndex:i,index:n}=t,o=s.getDatasetMeta(i).controller,{label:r,value:a}=o.getLabelAndValue(n);return{chart:s,label:r,parsed:o.getParsed(n),raw:s.data.datasets[i].data[n],formattedValue:a,dataset:o.getDataset(),dataIndex:n,datasetIndex:i,element:e}}function il(s,t){let e=s.chart.ctx,{body:i,footer:n,title:o}=s,{boxWidth:r,boxHeight:a}=t,l=Q(t.bodyFont),c=Q(t.titleFont),h=Q(t.footerFont),u=o.length,d=n.length,f=i.length,m=at(t.padding),g=m.height,p=0,y=i.reduce((w,x)=>w+x.before.length+x.lines.length+x.after.length,0);if(y+=s.beforeBody.length+s.afterBody.length,u&&(g+=u*c.lineHeight+(u-1)*t.titleSpacing+t.titleMarginBottom),y){let w=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;g+=f*w+(y-f)*l.lineHeight+(y-1)*t.bodySpacing}d&&(g+=t.footerMarginTop+d*h.lineHeight+(d-1)*t.footerSpacing);let b=0,_=function(w){p=Math.max(p,e.measureText(w).width+b)};return e.save(),e.font=c.string,V(s.title,_),e.font=l.string,V(s.beforeBody.concat(s.afterBody),_),b=t.displayColors?r+2+t.boxPadding:0,V(i,w=>{V(w.before,_),V(w.lines,_),V(w.after,_)}),b=0,e.font=h.string,V(s.footer,_),e.restore(),p+=m.width,{width:p,height:g}}function Qf(s,t){let{y:e,height:i}=t;return es.height-i/2?"bottom":"center"}function tm(s,t,e,i){let{x:n,width:o}=i,r=e.caretSize+e.caretPadding;if(s==="left"&&n+o+r>t.width||s==="right"&&n-o-r<0)return!0}function em(s,t,e,i){let{x:n,width:o}=e,{width:r,chartArea:{left:a,right:l}}=s,c="center";return i==="center"?c=n<=(a+l)/2?"left":"right":n<=o/2?c="left":n>=r-o/2&&(c="right"),tm(c,s,t,e)&&(c="center"),c}function nl(s,t,e){let i=e.yAlign||t.yAlign||Qf(s,e);return{xAlign:e.xAlign||t.xAlign||em(s,t,e,i),yAlign:i}}function sm(s,t){let{x:e,width:i}=s;return t==="right"?e-=i:t==="center"&&(e-=i/2),e}function im(s,t,e){let{y:i,height:n}=s;return t==="top"?i+=e:t==="bottom"?i-=n+e:i-=n/2,i}function ol(s,t,e,i){let{caretSize:n,caretPadding:o,cornerRadius:r}=s,{xAlign:a,yAlign:l}=e,c=n+o,{topLeft:h,topRight:u,bottomLeft:d,bottomRight:f}=ae(r),m=sm(t,a),g=im(t,l,c);return l==="center"?a==="left"?m+=c:a==="right"&&(m-=c):a==="left"?m-=Math.max(h,d)+n:a==="right"&&(m+=Math.max(u,f)+n),{x:tt(m,0,i.width-t.width),y:tt(g,0,i.height-t.height)}}function Ki(s,t,e){let i=at(e.padding);return t==="center"?s.x+s.width/2:t==="right"?s.x+s.width-i.right:s.x+i.left}function rl(s){return Wt([],qt(s))}function nm(s,t,e){return Yt(s,{tooltip:t,tooltipItems:e,type:"tooltip"})}function al(s,t){let e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?s.override(e):s}var Nl={beforeTitle:Nt,title(s){if(s.length>0){let t=s[0],e=t.chart.data.labels,i=e?e.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?Nl[t].call(e,i):n}var Bs=class extends yt{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){let t=this._cachedAnimations;if(t)return t;let e=this.chart,i=this.options.setContext(this.getContext()),n=i.enabled&&e.options.animation&&i.animations,o=new en(this.chart,n);return n._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=nm(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){let{callbacks:i}=e,n=dt(i,"beforeTitle",this,t),o=dt(i,"title",this,t),r=dt(i,"afterTitle",this,t),a=[];return a=Wt(a,qt(n)),a=Wt(a,qt(o)),a=Wt(a,qt(r)),a}getBeforeBody(t,e){return rl(dt(e.callbacks,"beforeBody",this,t))}getBody(t,e){let{callbacks:i}=e,n=[];return V(t,o=>{let r={before:[],lines:[],after:[]},a=al(i,o);Wt(r.before,qt(dt(a,"beforeLabel",this,o))),Wt(r.lines,dt(a,"label",this,o)),Wt(r.after,qt(dt(a,"afterLabel",this,o))),n.push(r)}),n}getAfterBody(t,e){return rl(dt(e.callbacks,"afterBody",this,t))}getFooter(t,e){let{callbacks:i}=e,n=dt(i,"beforeFooter",this,t),o=dt(i,"footer",this,t),r=dt(i,"afterFooter",this,t),a=[];return a=Wt(a,qt(n)),a=Wt(a,qt(o)),a=Wt(a,qt(r)),a}_createItems(t){let e=this._active,i=this.chart.data,n=[],o=[],r=[],a=[],l,c;for(l=0,c=e.length;lt.filter(h,u,d,i))),t.itemSort&&(a=a.sort((h,u)=>t.itemSort(h,u,i))),V(a,h=>{let u=al(t.callbacks,h);n.push(dt(u,"labelColor",this,h)),o.push(dt(u,"labelPointStyle",this,h)),r.push(dt(u,"labelTextColor",this,h))}),this.labelColors=n,this.labelPointStyles=o,this.labelTextColors=r,this.dataPoints=a,a}update(t,e){let i=this.options.setContext(this.getContext()),n=this._active,o,r=[];if(!n.length)this.opacity!==0&&(o={opacity:0});else{let a=Rs[i.position].call(this,n,this._eventPosition);r=this._createItems(i),this.title=this.getTitle(r,i),this.beforeBody=this.getBeforeBody(r,i),this.body=this.getBody(r,i),this.afterBody=this.getAfterBody(r,i),this.footer=this.getFooter(r,i);let l=this._size=il(this,i),c=Object.assign({},a,l),h=nl(this.chart,i,c),u=ol(i,c,h,this.chart);this.xAlign=h.xAlign,this.yAlign=h.yAlign,o={opacity:1,x:u.x,y:u.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=r,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,n){let o=this.getCaretPosition(t,i,n);e.lineTo(o.x1,o.y1),e.lineTo(o.x2,o.y2),e.lineTo(o.x3,o.y3)}getCaretPosition(t,e,i){let{xAlign:n,yAlign:o}=this,{caretSize:r,cornerRadius:a}=i,{topLeft:l,topRight:c,bottomLeft:h,bottomRight:u}=ae(a),{x:d,y:f}=t,{width:m,height:g}=e,p,y,b,_,w,x;return o==="center"?(w=f+g/2,n==="left"?(p=d,y=p-r,_=w+r,x=w-r):(p=d+m,y=p+r,_=w-r,x=w+r),b=p):(n==="left"?y=d+Math.max(l,h)+r:n==="right"?y=d+m-Math.max(c,u)-r:y=this.caretX,o==="top"?(_=f,w=_-r,p=y-r,b=y+r):(_=f+g,w=_+r,p=y+r,b=y-r),x=_),{x1:p,x2:y,x3:b,y1:_,y2:w,y3:x}}drawTitle(t,e,i){let n=this.title,o=n.length,r,a,l;if(o){let c=Se(i.rtl,this.x,this.width);for(t.x=Ki(this,i.titleAlign,i),e.textAlign=c.textAlign(i.titleAlign),e.textBaseline="middle",r=Q(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=r.string,l=0;lb!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,Ye(t,{x:g,y:m,w:c,h:l,radius:y}),t.fill(),t.stroke(),t.fillStyle=r.backgroundColor,t.beginPath(),Ye(t,{x:p,y:m+1,w:c-2,h:l-2,radius:y}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(g,m,c,l),t.strokeRect(g,m,c,l),t.fillStyle=r.backgroundColor,t.fillRect(p,m+1,c-2,l-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){let{body:n}=this,{bodySpacing:o,bodyAlign:r,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:h}=i,u=Q(i.bodyFont),d=u.lineHeight,f=0,m=Se(i.rtl,this.x,this.width),g=function(v){e.fillText(v,m.x(t.x+f),t.y+d/2),t.y+=d+o},p=m.textAlign(r),y,b,_,w,x,k,M;for(e.textAlign=r,e.textBaseline="middle",e.font=u.string,t.x=Ki(this,p,i),e.fillStyle=i.bodyColor,V(this.beforeBody,g),f=a&&p!=="right"?r==="center"?c/2+h:c+2+h:0,w=0,k=n.length;w0&&e.stroke()}_updateAnimationTarget(t){let e=this.chart,i=this.$animations,n=i&&i.x,o=i&&i.y;if(n||o){let r=Rs[t.position].call(this,this._active,this._eventPosition);if(!r)return;let a=this._size=il(this,t),l=Object.assign({},r,this._size),c=nl(e,t,l),h=ol(t,l,c,e);(n._to!==h.x||o._to!==h.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=a.width,this.height=a.height,this.caretX=r.x,this.caretY=r.y,this._resolveAnimations().update(this,h))}}_willRender(){return!!this.opacity}draw(t){let e=this.options.setContext(this.getContext()),i=this.opacity;if(!i)return;this._updateAnimationTarget(e);let n={width:this.width,height:this.height},o={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;let r=at(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(o,t,n,e),oo(t,e.textDirection),o.y+=r.top,this.drawTitle(o,t,e),this.drawBody(o,t,e),this.drawFooter(o,t,e),ro(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){let i=this._active,n=t.map(({datasetIndex:a,index:l})=>{let c=this.chart.getDatasetMeta(a);if(!c)throw new Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[l],index:l}}),o=!Ts(i,n),r=this._positionChanged(n,e);(o||r)&&(this._active=n,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;let n=this.options,o=this._active||[],r=this._getActiveElements(t,o,e,i),a=this._positionChanged(r,t),l=e||!Ts(r,o)||a;return l&&(this._active=r,(n.enabled||n.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),l}_getActiveElements(t,e,i,n){let o=this.options;if(t.type==="mouseout")return[];if(!n)return e.filter(a=>this.chart.data.datasets[a.datasetIndex]&&this.chart.getDatasetMeta(a.datasetIndex).controller.getParsed(a.index)!==void 0);let r=this.chart.getElementsAtEventForMode(t,o.mode,o,i);return o.reverse&&r.reverse(),r}_positionChanged(t,e){let{caretX:i,caretY:n,options:o}=this,r=Rs[o.position].call(this,t,e);return r!==!1&&(i!==r.x||n!==r.y)}};S(Bs,"positioners",Rs);var om={id:"tooltip",_element:Bs,positioners:Rs,afterInit(s,t,e){e&&(s.tooltip=new Bs({chart:s,options:e}))},beforeUpdate(s,t,e){s.tooltip&&s.tooltip.initialize(e)},reset(s,t,e){s.tooltip&&s.tooltip.initialize(e)},afterDraw(s){let t=s.tooltip;if(t&&t._willRender()){let e={tooltip:t};if(s.notifyPlugins("beforeTooltipDraw",{...e,cancelable:!0})===!1)return;t.draw(s.ctx),s.notifyPlugins("afterTooltipDraw",e)}},afterEvent(s,t){if(s.tooltip){let e=t.replay;s.tooltip.handleEvent(t.event,e,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(s,t)=>t.bodyFont.size,boxWidth:(s,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Nl},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:s=>s!=="filter"&&s!=="itemSort"&&s!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},rm=Object.freeze({__proto__:null,Colors:bf,Decimation:Sf,Filler:Bf,Legend:qf,SubTitle:Kf,Title:Xf,Tooltip:om}),am=(s,t,e,i)=>(typeof t=="string"?(e=s.push(t)-1,i.unshift({index:e,label:t})):isNaN(t)&&(e=null),e);function lm(s,t,e,i){let n=s.indexOf(t);if(n===-1)return am(s,t,e,i);let o=s.lastIndexOf(t);return n!==o?e:n}var cm=(s,t)=>s===null?null:tt(Math.round(s),0,t);function ll(s){let t=this.getLabels();return s>=0&&se.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}};S(Ws,"id","category"),S(Ws,"defaults",{ticks:{callback:ll}});function hm(s,t){let e=[],{bounds:n,step:o,min:r,max:a,precision:l,count:c,maxTicks:h,maxDigits:u,includeBounds:d}=s,f=o||1,m=h-1,{min:g,max:p}=t,y=!A(r),b=!A(a),_=!A(c),w=(p-g)/(u+1),x=Wn((p-g)/m/f)*f,k,M,v,O;if(x<1e-14&&!y&&!b)return[{value:g},{value:p}];O=Math.ceil(p/x)-Math.floor(g/x),O>m&&(x=Wn(O*x/m/f)*f),A(l)||(k=Math.pow(10,l),x=Math.ceil(x*k)/k),n==="ticks"?(M=Math.floor(g/x)*x,v=Math.ceil(p/x)*x):(M=g,v=p),y&&b&&o&&Gr((a-r)/o,x/1e3)?(O=Math.round(Math.min((a-r)/x,h)),x=(a-r)/O,M=r,v=a):_?(M=y?r:M,v=b?a:v,O=c-1,x=(v-M)/O):(O=(v-M)/x,$e(O,Math.round(O),x/1e3)?O=Math.round(O):O=Math.ceil(O));let E=Math.max(Vn(x),Vn(M));k=Math.pow(10,A(l)?E:l),M=Math.round(M*k)/k,v=Math.round(v*k)/k;let C=0;for(y&&(d&&M!==r?(e.push({value:r}),Ma)break;e.push({value:P})}return b&&d&&v!==a?e.length&&$e(e[e.length-1].value,a,cl(a,w,s))?e[e.length-1].value=a:e.push({value:a}):(!b||v===a)&&e.push({value:v}),e}function cl(s,t,{horizontal:e,minRotation:i}){let n=wt(i),o=(e?Math.sin(n):Math.cos(n))||.001,r=.75*t*(""+s).length;return Math.min(t/o,r)}var is=class extends Ee{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return A(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){let{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds(),{min:n,max:o}=this,r=l=>n=e?n:l,a=l=>o=i?o:l;if(t){let l=Ot(n),c=Ot(o);l<0&&c<0?a(0):l>0&&c>0&&r(0)}if(n===o){let l=o===0?1:Math.abs(o*.05);a(o+l),t||r(n-l)}this.min=n,this.max=o}getTickLimit(){let t=this.options.ticks,{maxTicksLimit:e,stepSize:i}=t,n;return i?(n=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e=e||11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){let t=this.options,e=t.ticks,i=this.getTickLimit();i=Math.max(2,i);let n={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:e.includeBounds!==!1},o=this._range||this,r=hm(n,o);return t.bounds==="ticks"&&zn(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){let t=this.ticks,e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){let n=(i-e)/Math.max(t.length-1,1)/2;e-=n,i+=n}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return Ue(t,this.chart.options.locale,this.options.ticks.format)}},zs=class extends is{determineDataLimits(){let{min:t,max:e}=this.getMinMax(!0);this.min=Z(t)?t:0,this.max=Z(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){let t=this.isHorizontal(),e=t?this.width:this.height,i=wt(this.options.ticks.minRotation),n=(t?Math.sin(i):Math.cos(i))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,o.lineHeight/n))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}};S(zs,"id","linear"),S(zs,"defaults",{ticks:{callback:Os.formatters.numeric}});var Us=s=>Math.floor(jt(s)),Me=(s,t)=>Math.pow(10,Us(s)+t);function hl(s){return s/Math.pow(10,Us(s))===1}function ul(s,t,e){let i=Math.pow(10,e),n=Math.floor(s/i);return Math.ceil(t/i)-n}function um(s,t){let e=t-s,i=Us(e);for(;ul(s,t,i)>10;)i++;for(;ul(s,t,i)<10;)i--;return Math.min(i,Us(s))}function dm(s,{min:t,max:e}){t=ut(s.min,t);let i=[],n=Us(t),o=um(t,e),r=o<0?Math.pow(10,Math.abs(o)):1,a=Math.pow(10,o),l=n>o?Math.pow(10,n):0,c=Math.round((t-l)*r)/r,h=Math.floor((t-l)/a/10)*a*10,u=Math.floor((c-h)/Math.pow(10,o)),d=ut(s.min,Math.round((l+h+u*Math.pow(10,o))*r)/r);for(;d=10?u=u<15?15:20:u++,u>=20&&(o++,u=2,r=o>=0?1:r),d=Math.round((l+h+u*Math.pow(10,o))*r)/r;let f=ut(s.max,d);return i.push({value:f,major:hl(f),significand:u}),i}var Vs=class extends Ee{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){let i=is.prototype.parse.apply(this,[t,e]);if(i===0){this._zero=!0;return}return Z(i)&&i>0?i:null}determineDataLimits(){let{min:t,max:e}=this.getMinMax(!0);this.min=Z(t)?Math.max(0,t):null,this.max=Z(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!Z(this._userMin)&&(this.min=t===Me(this.min,0)?Me(this.min,-1):Me(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){let{minDefined:t,maxDefined:e}=this.getUserBounds(),i=this.min,n=this.max,o=a=>i=t?i:a,r=a=>n=e?n:a;i===n&&(i<=0?(o(1),r(10)):(o(Me(i,-1)),r(Me(n,1)))),i<=0&&o(Me(n,-1)),n<=0&&r(Me(i,1)),this.min=i,this.max=n}buildTicks(){let t=this.options,e={min:this._userMin,max:this._userMax},i=dm(e,this);return t.bounds==="ticks"&&zn(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":Ue(t,this.chart.options.locale,this.options.ticks.format)}configure(){let t=this.min;super.configure(),this._startValue=jt(t),this._valueRange=jt(this.max)-jt(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(jt(t)-this._startValue)/this._valueRange)}getValueForPixel(t){let e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}};S(Vs,"id","logarithmic"),S(Vs,"defaults",{ticks:{callback:Os.formatters.logarithmic,major:{enabled:!0}}});function Po(s){let t=s.ticks;if(t.display&&s.display){let e=at(t.backdropPadding);return I(t.font&&t.font.size,U.font.size)+e.height}return 0}function fm(s,t,e){return e=$(e)?e:[e],{w:na(s,t.string,e),h:e.length*t.lineHeight}}function dl(s,t,e,i,n){return s===i||s===n?{start:t-e/2,end:t+e/2}:sn?{start:t-e,end:t}:{start:t,end:t+e}}function mm(s){let t={l:s.left+s._padding.left,r:s.right-s._padding.right,t:s.top+s._padding.top,b:s.bottom-s._padding.bottom},e=Object.assign({},t),i=[],n=[],o=s._pointLabels.length,r=s.options.pointLabels,a=r.centerPointLabels?N/o:0;for(let l=0;lt.r&&(a=(i.end-t.r)/o,s.r=Math.max(s.r,t.r+a)),n.startt.b&&(l=(n.end-t.b)/r,s.b=Math.max(s.b,t.b+l))}function pm(s,t,e){let i=s.drawingArea,{extra:n,additionalAngle:o,padding:r,size:a}=e,l=s.getPointPosition(t,i+n+r,o),c=Math.round(Ri(ot(l.angle+X))),h=wm(l.y,a.h,c),u=xm(c),d=_m(l.x,a.w,u);return{visible:!0,x:l.x,y:h,textAlign:u,left:d,top:h,right:d+a.w,bottom:h+a.h}}function ym(s,t){if(!t)return!0;let{left:e,top:i,right:n,bottom:o}=s;return!(Pt({x:e,y:i},t)||Pt({x:e,y:o},t)||Pt({x:n,y:i},t)||Pt({x:n,y:o},t))}function bm(s,t,e){let i=[],n=s._pointLabels.length,o=s.options,{centerPointLabels:r,display:a}=o.pointLabels,l={extra:Po(o)/2,additionalAngle:r?N/n:0},c;for(let h=0;h270||e<90)&&(s-=t),s}function Sm(s,t,e){let{left:i,top:n,right:o,bottom:r}=e,{backdropColor:a}=t;if(!A(a)){let l=ae(t.borderRadius),c=at(t.backdropPadding);s.fillStyle=a;let h=i-c.left,u=n-c.top,d=o-i+c.width,f=r-n+c.height;Object.values(l).some(m=>m!==0)?(s.beginPath(),Ye(s,{x:h,y:u,w:d,h:f,radius:l}),s.fill()):s.fillRect(h,u,d,f)}}function km(s,t){let{ctx:e,options:{pointLabels:i}}=s;for(let n=t-1;n>=0;n--){let o=s._pointLabelItems[n];if(!o.visible)continue;let r=i.setContext(s.getPointLabelContext(n));Sm(e,r,o);let a=Q(r.font),{x:l,y:c,textAlign:h}=o;re(e,s._pointLabels[n],l,c+a.lineHeight/2,a,{color:r.color,textAlign:h,textBaseline:"middle"})}}function Rl(s,t,e,i){let{ctx:n}=s;if(e)n.arc(s.xCenter,s.yCenter,t,0,j);else{let o=s.getPointPosition(0,t);n.moveTo(o.x,o.y);for(let r=1;r{let n=B(this.options.pointLabels.callback,[e,i],this);return n||n===0?n:""}).filter((e,i)=>this.chart.getDataVisibility(i))}fit(){let t=this.options;t.display&&t.pointLabels.display?mm(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,n){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-n)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,n))}getIndexAngle(t){let e=j/(this._pointLabels.length||1),i=this.options.startAngle||0;return ot(t*e+wt(i))}getDistanceFromCenterForValue(t){if(A(t))return NaN;let e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(A(t))return NaN;let e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){let e=this._pointLabels||[];if(t>=0&&t{if(u!==0||u===0&&this.min<0){l=this.getDistanceFromCenterForValue(h.value);let d=this.getContext(u),f=n.setContext(d),m=o.setContext(d);Mm(this,f,l,r,m)}}),i.display){for(t.save(),a=r-1;a>=0;a--){let h=i.setContext(this.getPointLabelContext(a)),{color:u,lineWidth:d}=h;!d||!u||(t.lineWidth=d,t.strokeStyle=u,t.setLineDash(h.borderDash),t.lineDashOffset=h.borderDashOffset,l=this.getDistanceFromCenterForValue(e.reverse?this.min:this.max),c=this.getPointPosition(a,l),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(c.x,c.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){let t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;let n=this.getIndexAngle(0),o,r;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(n),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((a,l)=>{if(l===0&&this.min>=0&&!e.reverse)return;let c=i.setContext(this.getContext(l)),h=Q(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=h.string,r=t.measureText(a.label).width,t.fillStyle=c.backdropColor;let u=at(c.backdropPadding);t.fillRect(-r/2-u.left,-o-h.size/2-u.top,r+u.width,h.size+u.height)}re(t,a.label,0,-o,h,{color:c.color,strokeColor:c.textStrokeColor,strokeWidth:c.textStrokeWidth})}),t.restore()}drawTitle(){}};S(Te,"id","radialLinear"),S(Te,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Os.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),S(Te,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),S(Te,"descriptors",{angleLines:{_fallback:"grid"}});var cn={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},ft=Object.keys(cn);function fl(s,t){return s-t}function ml(s,t){if(A(t))return null;let e=s._adapter,{parser:i,round:n,isoWeekday:o}=s._parseOpts,r=t;return typeof i=="function"&&(r=i(r)),Z(r)||(r=typeof i=="string"?e.parse(r,i):e.parse(r)),r===null?null:(n&&(r=n==="week"&&(we(o)||o===!0)?e.startOf(r,"isoWeek",o):e.startOf(r,n)),+r)}function gl(s,t,e,i){let n=ft.length;for(let o=ft.indexOf(s);o=ft.indexOf(e);o--){let r=ft[o];if(cn[r].common&&s._adapter.diff(n,i,r)>=t-1)return r}return ft[e?ft.indexOf(e):0]}function Om(s){for(let t=ft.indexOf(s)+1,e=ft.length;t=t?e[i]:e[n];s[o]=!0}}function Dm(s,t,e,i){let n=s._adapter,o=+n.startOf(t[0].value,i),r=t[t.length-1].value,a,l;for(a=o;a<=r;a=+n.add(a,1,i))l=e[a],l>=0&&(t[l].major=!0);return t}function yl(s,t,e){let i=[],n={},o=t.length,r,a;for(r=0;r+t.value))}initOffsets(t=[]){let e=0,i=0,n,o;this.options.offset&&t.length&&(n=this.getDecimalForValue(t[0]),t.length===1?e=1-n:e=(this.getDecimalForValue(t[1])-n)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?i=o:i=(o-this.getDecimalForValue(t[t.length-2]))/2);let r=t.length<3?.5:.25;e=tt(e,0,r),i=tt(i,0,r),this._offsets={start:e,end:i,factor:1/(e+1+i)}}_generate(){let t=this._adapter,e=this.min,i=this.max,n=this.options,o=n.time,r=o.unit||gl(o.minUnit,e,i,this._getLabelCapacity(e)),a=I(n.ticks.stepSize,1),l=r==="week"?o.isoWeekday:!1,c=we(l)||l===!0,h={},u=e,d,f;if(c&&(u=+t.startOf(u,"isoWeek",l)),u=+t.startOf(u,c?"day":r),t.diff(i,e,r)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+r);let m=n.ticks.source==="data"&&this.getDataTimestamps();for(d=u,f=0;d+g)}getLabelForValue(t){let e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){let n=this.options.time.displayFormats,o=this._unit,r=e||n[o];return this._adapter.format(t,r)}_tickFormatFunction(t,e,i,n){let o=this.options,r=o.ticks.callback;if(r)return B(r,[t,e,i],this);let a=o.time.displayFormats,l=this._unit,c=this._majorUnit,h=l&&a[l],u=c&&a[c],d=i[e],f=c&&u&&d&&d.major;return this._adapter.format(t,n||(f?u:h))}generateTickLabels(t){let e,i,n;for(e=0,i=t.length;e0?a:1}getDataTimestamps(){let t=this._cache.data||[],e,i;if(t.length)return t;let n=this.getMatchingVisibleMetas();if(this._normalized&&n.length)return this._cache.data=n[0].controller.getAllParsedValues(this);for(e=0,i=n.length;e=s[i].pos&&t<=s[n].pos&&({lo:i,hi:n}=Lt(s,"pos",t)),{pos:o,time:a}=s[i],{pos:r,time:l}=s[n]):(t>=s[i].time&&t<=s[n].time&&({lo:i,hi:n}=Lt(s,"time",t)),{time:o,pos:a}=s[i],{time:r,pos:l}=s[n]);let c=r-o;return c?a+(l-a)*(t-o)/c:a}var Hs=class extends De{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){let t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=Ji(e,this.min),this._tableRange=Ji(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){let{min:e,max:i}=this,n=[],o=[],r,a,l,c,h;for(r=0,a=t.length;r=e&&c<=i&&n.push(c);if(n.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(r=0,a=n.length;rn-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;let e=this.getDataTimestamps(),i=this.getLabelTimestamps();return e.length&&i.length?t=this.normalize(e.concat(i)):t=e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(Ji(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){let e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return Ji(this._table,i*this._tableRange+this._minPos,!0)}};S(Hs,"id","timeseries"),S(Hs,"defaults",De.defaults);var Em=Object.freeze({__proto__:null,CategoryScale:Ws,LinearScale:zs,LogarithmicScale:Vs,RadialLinearScale:Te,TimeScale:De,TimeSeriesScale:Hs}),Wl=[Vu,uf,rm,Em];St.register(...Wl);var Ht=St;var Xt=class extends Error{},hn=class extends Xt{constructor(t){super(`Invalid DateTime: ${t.toMessage()}`)}},un=class extends Xt{constructor(t){super(`Invalid Interval: ${t.toMessage()}`)}},dn=class extends Xt{constructor(t){super(`Invalid Duration: ${t.toMessage()}`)}},Dt=class extends Xt{},ns=class extends Xt{constructor(t){super(`Invalid unit ${t}`)}},K=class extends Xt{},Et=class extends Xt{constructor(){super("Zone is an abstract class")}};var T="numeric",It="short",bt="long",he={year:T,month:T,day:T},Zs={year:T,month:It,day:T},Ro={year:T,month:It,day:T,weekday:It},qs={year:T,month:bt,day:T},Gs={year:T,month:bt,day:T,weekday:bt},Xs={hour:T,minute:T},Ks={hour:T,minute:T,second:T},Js={hour:T,minute:T,second:T,timeZoneName:It},Qs={hour:T,minute:T,second:T,timeZoneName:bt},ti={hour:T,minute:T,hourCycle:"h23"},ei={hour:T,minute:T,second:T,hourCycle:"h23"},si={hour:T,minute:T,second:T,hourCycle:"h23",timeZoneName:It},ii={hour:T,minute:T,second:T,hourCycle:"h23",timeZoneName:bt},ni={year:T,month:T,day:T,hour:T,minute:T},oi={year:T,month:T,day:T,hour:T,minute:T,second:T},ri={year:T,month:It,day:T,hour:T,minute:T},ai={year:T,month:It,day:T,hour:T,minute:T,second:T},Wo={year:T,month:It,day:T,weekday:It,hour:T,minute:T},li={year:T,month:bt,day:T,hour:T,minute:T,timeZoneName:It},ci={year:T,month:bt,day:T,hour:T,minute:T,second:T,timeZoneName:It},hi={year:T,month:bt,day:T,weekday:bt,hour:T,minute:T,timeZoneName:bt},ui={year:T,month:bt,day:T,weekday:bt,hour:T,minute:T,second:T,timeZoneName:bt};var mt=class{get type(){throw new Et}get name(){throw new Et}get ianaName(){return this.name}get isUniversal(){throw new Et}offsetName(t,e){throw new Et}formatOffset(t,e){throw new Et}offset(t){throw new Et}equals(t){throw new Et}get isValid(){throw new Et}};var zo=null,ue=class s extends mt{static get instance(){return zo===null&&(zo=new s),zo}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(t,{format:e,locale:i}){return mn(t,e,i)}formatOffset(t,e){return de(this.offset(t),e)}offset(t){return-new Date(t).getTimezoneOffset()}equals(t){return t.type==="system"}get isValid(){return!0}};var Ho=new Map;function Im(s){let t=Ho.get(s);return t===void 0&&(t=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:s,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"}),Ho.set(s,t)),t}var Cm={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function Fm(s,t){let e=s.format(t).replace(/\u200E/g,""),i=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(e),[,n,o,r,a,l,c,h]=i;return[r,n,o,a,l,c,h]}function Am(s,t){let e=s.formatToParts(t),i=[];for(let n=0;n=0?m:1e3+m,(d-f)/(60*1e3)}equals(t){return t.type==="iana"&&t.name===this.name}get isValid(){return this.valid}};var zl={};function Lm(s,t={}){let e=JSON.stringify([s,t]),i=zl[e];return i||(i=new Intl.ListFormat(s,t),zl[e]=i),i}var Bo=new Map;function $o(s,t={}){let e=JSON.stringify([s,t]),i=Bo.get(e);return i===void 0&&(i=new Intl.DateTimeFormat(s,t),Bo.set(e,i)),i}var jo=new Map;function Pm(s,t={}){let e=JSON.stringify([s,t]),i=jo.get(e);return i===void 0&&(i=new Intl.NumberFormat(s,t),jo.set(e,i)),i}var Uo=new Map;function Nm(s,t={}){let{base:e,...i}=t,n=JSON.stringify([s,i]),o=Uo.get(n);return o===void 0&&(o=new Intl.RelativeTimeFormat(s,t),Uo.set(n,o)),o}var di=null;function Rm(){return di||(di=new Intl.DateTimeFormat().resolvedOptions().locale,di)}var Yo=new Map;function Vl(s){let t=Yo.get(s);return t===void 0&&(t=new Intl.DateTimeFormat(s).resolvedOptions(),Yo.set(s,t)),t}var Zo=new Map;function Wm(s){let t=Zo.get(s);if(!t){let e=new Intl.Locale(s);t="getWeekInfo"in e?e.getWeekInfo():e.weekInfo,"minimalDays"in t||(t={...Hl,...t}),Zo.set(s,t)}return t}function zm(s){let t=s.indexOf("-x-");t!==-1&&(s=s.substring(0,t));let e=s.indexOf("-u-");if(e===-1)return[s];{let i,n;try{i=$o(s).resolvedOptions(),n=s}catch{let l=s.substring(0,e);i=$o(l).resolvedOptions(),n=l}let{numberingSystem:o,calendar:r}=i;return[n,o,r]}}function Vm(s,t,e){return(e||t)&&(s.includes("-u-")||(s+="-u"),e&&(s+=`-ca-${e}`),t&&(s+=`-nu-${t}`)),s}function Hm(s){let t=[];for(let e=1;e<=12;e++){let i=F.utc(2009,e,1);t.push(s(i))}return t}function Bm(s){let t=[];for(let e=1;e<=7;e++){let i=F.utc(2016,11,13+e);t.push(s(i))}return t}function gn(s,t,e,i){let n=s.listingMode();return n==="error"?null:n==="en"?e(t):i(t)}function $m(s){return s.numberingSystem&&s.numberingSystem!=="latn"?!1:s.numberingSystem==="latn"||!s.locale||s.locale.startsWith("en")||Vl(s.locale).numberingSystem==="latn"}var qo=class{constructor(t,e,i){this.padTo=i.padTo||0,this.floor=i.floor||!1;let{padTo:n,floor:o,...r}=i;if(!e||Object.keys(r).length>0){let a={useGrouping:!1,...i};i.padTo>0&&(a.minimumIntegerDigits=i.padTo),this.inf=Pm(t,a)}}format(t){if(this.inf){let e=this.floor?Math.floor(t):t;return this.inf.format(e)}else{let e=this.floor?Math.floor(t):rs(t,3);return q(e,this.padTo)}}},Go=class{constructor(t,e,i){this.opts=i,this.originalZone=void 0;let n;if(this.opts.timeZone)this.dt=t;else if(t.zone.type==="fixed"){let r=-1*(t.offset/60),a=r>=0?`Etc/GMT+${r}`:`Etc/GMT${r}`;t.offset!==0&&ht.create(a).valid?(n=a,this.dt=t):(n="UTC",this.dt=t.offset===0?t:t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone)}else t.zone.type==="system"?this.dt=t:t.zone.type==="iana"?(this.dt=t,n=t.zone.name):(n="UTC",this.dt=t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone);let o={...this.opts};o.timeZone=o.timeZone||n,this.dtf=$o(e,o)}format(){return this.originalZone?this.formatToParts().map(({value:t})=>t).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){let t=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?t.map(e=>{if(e.type==="timeZoneName"){let i=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...e,value:i}}else return e}):t}resolvedOptions(){return this.dtf.resolvedOptions()}},Xo=class{constructor(t,e,i){this.opts={style:"long",...i},!e&&pn()&&(this.rtf=Nm(t,i))}format(t,e){return this.rtf?this.rtf.format(t,e):Bl(e,t,this.opts.numeric,this.opts.style!=="long")}formatToParts(t,e){return this.rtf?this.rtf.formatToParts(t,e):[]}},Hl={firstDay:1,minimalDays:4,weekend:[6,7]},W=class s{static fromOpts(t){return s.create(t.locale,t.numberingSystem,t.outputCalendar,t.weekSettings,t.defaultToEN)}static create(t,e,i,n,o=!1){let r=t||R.defaultLocale,a=r||(o?"en-US":Rm()),l=e||R.defaultNumberingSystem,c=i||R.defaultOutputCalendar,h=fi(n)||R.defaultWeekSettings;return new s(a,l,c,h,r)}static resetCache(){di=null,Bo.clear(),jo.clear(),Uo.clear(),Yo.clear(),Zo.clear()}static fromObject({locale:t,numberingSystem:e,outputCalendar:i,weekSettings:n}={}){return s.create(t,e,i,n)}constructor(t,e,i,n,o){let[r,a,l]=zm(t);this.locale=r,this.numberingSystem=e||a||null,this.outputCalendar=i||l||null,this.weekSettings=n,this.intl=Vm(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=o,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=$m(this)),this.fastNumbersCached}listingMode(){let t=this.isEnglish(),e=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return t&&e?"en":"intl"}clone(t){return!t||Object.getOwnPropertyNames(t).length===0?this:s.create(t.locale||this.specifiedLocale,t.numberingSystem||this.numberingSystem,t.outputCalendar||this.outputCalendar,fi(t.weekSettings)||this.weekSettings,t.defaultToEN||!1)}redefaultToEN(t={}){return this.clone({...t,defaultToEN:!0})}redefaultToSystem(t={}){return this.clone({...t,defaultToEN:!1})}months(t,e=!1){return gn(this,t,Ko,()=>{let i=this.intl==="ja"||this.intl.startsWith("ja-");e&=!i;let n=e?{month:t,day:"numeric"}:{month:t},o=e?"format":"standalone";if(!this.monthsCache[o][t]){let r=i?a=>this.dtFormatter(a,n).format():a=>this.extract(a,n,"month");this.monthsCache[o][t]=Hm(r)}return this.monthsCache[o][t]})}weekdays(t,e=!1){return gn(this,t,Jo,()=>{let i=e?{weekday:t,year:"numeric",month:"long",day:"numeric"}:{weekday:t},n=e?"format":"standalone";return this.weekdaysCache[n][t]||(this.weekdaysCache[n][t]=Bm(o=>this.extract(o,i,"weekday"))),this.weekdaysCache[n][t]})}meridiems(){return gn(this,void 0,()=>Qo,()=>{if(!this.meridiemCache){let t={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[F.utc(2016,11,13,9),F.utc(2016,11,13,19)].map(e=>this.extract(e,t,"dayperiod"))}return this.meridiemCache})}eras(t){return gn(this,t,tr,()=>{let e={era:t};return this.eraCache[t]||(this.eraCache[t]=[F.utc(-40,1,1),F.utc(2017,1,1)].map(i=>this.extract(i,e,"era"))),this.eraCache[t]})}extract(t,e,i){let n=this.dtFormatter(t,e),o=n.formatToParts(),r=o.find(a=>a.type.toLowerCase()===i);return r?r.value:null}numberFormatter(t={}){return new qo(this.intl,t.forceSimple||this.fastNumbers,t)}dtFormatter(t,e={}){return new Go(t,this.intl,e)}relFormatter(t={}){return new Xo(this.intl,this.isEnglish(),t)}listFormatter(t={}){return Lm(this.intl,t)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||Vl(this.intl).locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:yn()?Wm(this.locale):Hl}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(t){return this.locale===t.locale&&this.numberingSystem===t.numberingSystem&&this.outputCalendar===t.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}};var sr=null,et=class s extends mt{static get utcInstance(){return sr===null&&(sr=new s(0)),sr}static instance(t){return t===0?s.utcInstance:new s(t)}static parseSpecifier(t){if(t){let e=t.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(e)return new s(Ie(e[1],e[2]))}return null}constructor(t){super(),this.fixed=t}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${de(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${de(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(t,e){return de(this.fixed,e)}get isUniversal(){return!0}offset(){return this.fixed}equals(t){return t.type==="fixed"&&t.fixed===this.fixed}get isValid(){return!0}};var as=class extends mt{constructor(t){super(),this.zoneName=t}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}};function Ct(s,t){let e;if(D(s)||s===null)return t;if(s instanceof mt)return s;if($l(s)){let i=s.toLowerCase();return i==="default"?t:i==="local"||i==="system"?ue.instance:i==="utc"||i==="gmt"?et.utcInstance:et.parseSpecifier(i)||ht.create(s)}else return Ft(s)?et.instance(s):typeof s=="object"&&"offset"in s&&typeof s.offset=="function"?s:new as(s)}var nr={arab:"[\u0660-\u0669]",arabext:"[\u06F0-\u06F9]",bali:"[\u1B50-\u1B59]",beng:"[\u09E6-\u09EF]",deva:"[\u0966-\u096F]",fullwide:"[\uFF10-\uFF19]",gujr:"[\u0AE6-\u0AEF]",hanidec:"[\u3007|\u4E00|\u4E8C|\u4E09|\u56DB|\u4E94|\u516D|\u4E03|\u516B|\u4E5D]",khmr:"[\u17E0-\u17E9]",knda:"[\u0CE6-\u0CEF]",laoo:"[\u0ED0-\u0ED9]",limb:"[\u1946-\u194F]",mlym:"[\u0D66-\u0D6F]",mong:"[\u1810-\u1819]",mymr:"[\u1040-\u1049]",orya:"[\u0B66-\u0B6F]",tamldec:"[\u0BE6-\u0BEF]",telu:"[\u0C66-\u0C6F]",thai:"[\u0E50-\u0E59]",tibt:"[\u0F20-\u0F29]",latn:"\\d"},jl={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},jm=nr.hanidec.replace(/[\[|\]]/g,"").split("");function Ul(s){let t=parseInt(s,10);if(isNaN(t)){t="";for(let e=0;e=o&&i<=r&&(t+=i-o)}}return parseInt(t,10)}else return t}var ir=new Map;function Yl(){ir.clear()}function kt({numberingSystem:s},t=""){let e=s||"latn",i=ir.get(e);i===void 0&&(i=new Map,ir.set(e,i));let n=i.get(t);return n===void 0&&(n=new RegExp(`${nr[e]}${t}`),i.set(t,n)),n}var Zl=()=>Date.now(),ql="system",Gl=null,Xl=null,Kl=null,Jl=60,Ql,tc=null,R=class{static get now(){return Zl}static set now(t){Zl=t}static set defaultZone(t){ql=t}static get defaultZone(){return Ct(ql,ue.instance)}static get defaultLocale(){return Gl}static set defaultLocale(t){Gl=t}static get defaultNumberingSystem(){return Xl}static set defaultNumberingSystem(t){Xl=t}static get defaultOutputCalendar(){return Kl}static set defaultOutputCalendar(t){Kl=t}static get defaultWeekSettings(){return tc}static set defaultWeekSettings(t){tc=fi(t)}static get twoDigitCutoffYear(){return Jl}static set twoDigitCutoffYear(t){Jl=t%100}static get throwOnInvalid(){return Ql}static set throwOnInvalid(t){Ql=t}static resetCaches(){W.resetCache(),ht.resetCache(),F.resetCache(),Yl()}};var st=class{constructor(t,e){this.reason=t,this.explanation=e}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}};var ec=[0,31,59,90,120,151,181,212,243,273,304,334],sc=[0,31,60,91,121,152,182,213,244,274,305,335];function Mt(s,t){return new st("unit out of range",`you specified ${t} (of type ${typeof t}) as a ${s}, which is invalid`)}function bn(s,t,e){let i=new Date(Date.UTC(s,t-1,e));s<100&&s>=0&&i.setUTCFullYear(i.getUTCFullYear()-1900);let n=i.getUTCDay();return n===0?7:n}function ic(s,t,e){return e+(Fe(s)?sc:ec)[t-1]}function nc(s,t){let e=Fe(s)?sc:ec,i=e.findIndex(o=>oCe(i,t,e)?(c=i+1,l=1):c=i,{weekYear:c,weekNumber:l,weekday:a,...pi(s)}}function or(s,t=4,e=1){let{weekYear:i,weekNumber:n,weekday:o}=s,r=xn(bn(i,1,t),e),a=fe(i),l=n*7+o-r-7+t,c;l<1?(c=i-1,l+=fe(c)):l>a?(c=i+1,l-=fe(i)):c=i;let{month:h,day:u}=nc(c,l);return{year:c,month:h,day:u,...pi(s)}}function _n(s){let{year:t,month:e,day:i}=s,n=ic(t,e,i);return{year:t,ordinal:n,...pi(s)}}function rr(s){let{year:t,ordinal:e}=s,{month:i,day:n}=nc(t,e);return{year:t,month:i,day:n,...pi(s)}}function ar(s,t){if(!D(s.localWeekday)||!D(s.localWeekNumber)||!D(s.localWeekYear)){if(!D(s.weekday)||!D(s.weekNumber)||!D(s.weekYear))throw new Dt("Cannot mix locale-based week fields with ISO-based week fields");return D(s.localWeekday)||(s.weekday=s.localWeekday),D(s.localWeekNumber)||(s.weekNumber=s.localWeekNumber),D(s.localWeekYear)||(s.weekYear=s.localWeekYear),delete s.localWeekday,delete s.localWeekNumber,delete s.localWeekYear,{minDaysInFirstWeek:t.getMinDaysInFirstWeek(),startOfWeek:t.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function oc(s,t=4,e=1){let i=gi(s.weekYear),n=xt(s.weekNumber,1,Ce(s.weekYear,t,e)),o=xt(s.weekday,1,7);return i?n?o?!1:Mt("weekday",s.weekday):Mt("week",s.weekNumber):Mt("weekYear",s.weekYear)}function rc(s){let t=gi(s.year),e=xt(s.ordinal,1,fe(s.year));return t?e?!1:Mt("ordinal",s.ordinal):Mt("year",s.year)}function lr(s){let t=gi(s.year),e=xt(s.month,1,12),i=xt(s.day,1,ls(s.year,s.month));return t?e?i?!1:Mt("day",s.day):Mt("month",s.month):Mt("year",s.year)}function cr(s){let{hour:t,minute:e,second:i,millisecond:n}=s,o=xt(t,0,23)||t===24&&e===0&&i===0&&n===0,r=xt(e,0,59),a=xt(i,0,59),l=xt(n,0,999);return o?r?a?l?!1:Mt("millisecond",n):Mt("second",i):Mt("minute",e):Mt("hour",t)}function D(s){return typeof s>"u"}function Ft(s){return typeof s=="number"}function gi(s){return typeof s=="number"&&s%1===0}function $l(s){return typeof s=="string"}function lc(s){return Object.prototype.toString.call(s)==="[object Date]"}function pn(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}function yn(){try{return typeof Intl<"u"&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch{return!1}}function cc(s){return Array.isArray(s)?s:[s]}function hr(s,t,e){if(s.length!==0)return s.reduce((i,n)=>{let o=[t(n),n];return i&&e(i[0],o[0])===i[0]?i:o},null)[1]}function hc(s,t){return t.reduce((e,i)=>(e[i]=s[i],e),{})}function me(s,t){return Object.prototype.hasOwnProperty.call(s,t)}function fi(s){if(s==null)return null;if(typeof s!="object")throw new K("Week settings must be an object");if(!xt(s.firstDay,1,7)||!xt(s.minimalDays,1,7)||!Array.isArray(s.weekend)||s.weekend.some(t=>!xt(t,1,7)))throw new K("Invalid week settings");return{firstDay:s.firstDay,minimalDays:s.minimalDays,weekend:Array.from(s.weekend)}}function xt(s,t,e){return gi(s)&&s>=t&&s<=e}function Um(s,t){return s-t*Math.floor(s/t)}function q(s,t=2){let e=s<0,i;return e?i="-"+(""+-s).padStart(t,"0"):i=(""+s).padStart(t,"0"),i}function Kt(s){if(!(D(s)||s===null||s===""))return parseInt(s,10)}function ge(s){if(!(D(s)||s===null||s===""))return parseFloat(s)}function yi(s){if(!(D(s)||s===null||s==="")){let t=parseFloat("0."+s)*1e3;return Math.floor(t)}}function rs(s,t,e="round"){let i=10**t;switch(e){case"expand":return s>0?Math.ceil(s*i)/i:Math.floor(s*i)/i;case"trunc":return Math.trunc(s*i)/i;case"round":return Math.round(s*i)/i;case"floor":return Math.floor(s*i)/i;case"ceil":return Math.ceil(s*i)/i;default:throw new RangeError(`Value rounding ${e} is out of range`)}}function Fe(s){return s%4===0&&(s%100!==0||s%400===0)}function fe(s){return Fe(s)?366:365}function ls(s,t){let e=Um(t-1,12)+1,i=s+(t-e)/12;return e===2?Fe(i)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][e-1]}function os(s){let t=Date.UTC(s.year,s.month-1,s.day,s.hour,s.minute,s.second,s.millisecond);return s.year<100&&s.year>=0&&(t=new Date(t),t.setUTCFullYear(s.year,s.month-1,s.day)),+t}function ac(s,t,e){return-xn(bn(s,1,t),e)+t-1}function Ce(s,t=4,e=1){let i=ac(s,t,e),n=ac(s+1,t,e);return(fe(s)-i+n)/7}function bi(s){return s>99?s:s>R.twoDigitCutoffYear?1900+s:2e3+s}function mn(s,t,e,i=null){let n=new Date(s),o={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};i&&(o.timeZone=i);let r={timeZoneName:t,...o},a=new Intl.DateTimeFormat(e,r).formatToParts(n).find(l=>l.type.toLowerCase()==="timezonename");return a?a.value:null}function Ie(s,t){let e=parseInt(s,10);Number.isNaN(e)&&(e=0);let i=parseInt(t,10)||0,n=e<0||Object.is(e,-0)?-i:i;return e*60+n}function ur(s){let t=Number(s);if(typeof s=="boolean"||s===""||!Number.isFinite(t))throw new K(`Invalid unit value ${s}`);return t}function cs(s,t){let e={};for(let i in s)if(me(s,i)){let n=s[i];if(n==null)continue;e[t(i)]=ur(n)}return e}function de(s,t){let e=Math.trunc(Math.abs(s/60)),i=Math.trunc(Math.abs(s%60)),n=s>=0?"+":"-";switch(t){case"short":return`${n}${q(e,2)}:${q(i,2)}`;case"narrow":return`${n}${e}${i>0?`:${i}`:""}`;case"techie":return`${n}${q(e,2)}${q(i,2)}`;default:throw new RangeError(`Value format ${t} is out of range for property format`)}}function pi(s){return hc(s,["hour","minute","second","millisecond"])}var Ym=["January","February","March","April","May","June","July","August","September","October","November","December"],dr=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Zm=["J","F","M","A","M","J","J","A","S","O","N","D"];function Ko(s){switch(s){case"narrow":return[...Zm];case"short":return[...dr];case"long":return[...Ym];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}var fr=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],mr=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],qm=["M","T","W","T","F","S","S"];function Jo(s){switch(s){case"narrow":return[...qm];case"short":return[...mr];case"long":return[...fr];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var Qo=["AM","PM"],Gm=["Before Christ","Anno Domini"],Xm=["BC","AD"],Km=["B","A"];function tr(s){switch(s){case"narrow":return[...Km];case"short":return[...Xm];case"long":return[...Gm];default:return null}}function uc(s){return Qo[s.hour<12?0:1]}function dc(s,t){return Jo(t)[s.weekday-1]}function fc(s,t){return Ko(t)[s.month-1]}function mc(s,t){return tr(t)[s.year<0?0:1]}function Bl(s,t,e="always",i=!1){let n={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},o=["hours","minutes","seconds"].indexOf(s)===-1;if(e==="auto"&&o){let u=s==="days";switch(t){case 1:return u?"tomorrow":`next ${n[s][0]}`;case-1:return u?"yesterday":`last ${n[s][0]}`;case 0:return u?"today":`this ${n[s][0]}`;default:}}let r=Object.is(t,-0)||t<0,a=Math.abs(t),l=a===1,c=n[s],h=i?l?c[1]:c[2]||c[1]:l?n[s][0]:s;return r?`${a} ${h} ago`:`in ${a} ${h}`}function gc(s,t){let e="";for(let i of s)i.literal?e+=i.val:e+=t(i.val);return e}var Jm={D:he,DD:Zs,DDD:qs,DDDD:Gs,t:Xs,tt:Ks,ttt:Js,tttt:Qs,T:ti,TT:ei,TTT:si,TTTT:ii,f:ni,ff:ri,fff:li,ffff:hi,F:oi,FF:ai,FFF:ci,FFFF:ui},it=class s{static create(t,e={}){return new s(t,e)}static parseFormat(t){let e=null,i="",n=!1,o=[];for(let r=0;r0||n)&&o.push({literal:n||/^\s+$/.test(i),val:i===""?"'":i}),e=null,i="",n=!n):n||a===e?i+=a:(i.length>0&&o.push({literal:/^\s+$/.test(i),val:i}),i=a,e=a)}return i.length>0&&o.push({literal:n||/^\s+$/.test(i),val:i}),o}static macroTokenToFormatOpts(t){return Jm[t]}constructor(t,e){this.opts=e,this.loc=t,this.systemLoc=null}formatWithSystemDefault(t,e){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(t,{...this.opts,...e}).format()}dtFormatter(t,e={}){return this.loc.dtFormatter(t,{...this.opts,...e})}formatDateTime(t,e){return this.dtFormatter(t,e).format()}formatDateTimeParts(t,e){return this.dtFormatter(t,e).formatToParts()}formatInterval(t,e){return this.dtFormatter(t.start,e).dtf.formatRange(t.start.toJSDate(),t.end.toJSDate())}resolvedOptions(t,e){return this.dtFormatter(t,e).resolvedOptions()}num(t,e=0,i=void 0){if(this.opts.forceSimple)return q(t,e);let n={...this.opts};return e>0&&(n.padTo=e),i&&(n.signDisplay=i),this.loc.numberFormatter(n).format(t)}formatDateTimeFromString(t,e){let i=this.loc.listingMode()==="en",n=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",o=(f,m)=>this.loc.extract(t,f,m),r=f=>t.isOffsetFixed&&t.offset===0&&f.allowZ?"Z":t.isValid?t.zone.formatOffset(t.ts,f.format):"",a=()=>i?uc(t):o({hour:"numeric",hourCycle:"h12"},"dayperiod"),l=(f,m)=>i?fc(t,f):o(m?{month:f}:{month:f,day:"numeric"},"month"),c=(f,m)=>i?dc(t,f):o(m?{weekday:f}:{weekday:f,month:"long",day:"numeric"},"weekday"),h=f=>{let m=s.macroTokenToFormatOpts(f);return m?this.formatWithSystemDefault(t,m):f},u=f=>i?mc(t,f):o({era:f},"era"),d=f=>{switch(f){case"S":return this.num(t.millisecond);case"u":case"SSS":return this.num(t.millisecond,3);case"s":return this.num(t.second);case"ss":return this.num(t.second,2);case"uu":return this.num(Math.floor(t.millisecond/10),2);case"uuu":return this.num(Math.floor(t.millisecond/100));case"m":return this.num(t.minute);case"mm":return this.num(t.minute,2);case"h":return this.num(t.hour%12===0?12:t.hour%12);case"hh":return this.num(t.hour%12===0?12:t.hour%12,2);case"H":return this.num(t.hour);case"HH":return this.num(t.hour,2);case"Z":return r({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return r({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return r({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return t.zone.offsetName(t.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return t.zone.offsetName(t.ts,{format:"long",locale:this.loc.locale});case"z":return t.zoneName;case"a":return a();case"d":return n?o({day:"numeric"},"day"):this.num(t.day);case"dd":return n?o({day:"2-digit"},"day"):this.num(t.day,2);case"c":return this.num(t.weekday);case"ccc":return c("short",!0);case"cccc":return c("long",!0);case"ccccc":return c("narrow",!0);case"E":return this.num(t.weekday);case"EEE":return c("short",!1);case"EEEE":return c("long",!1);case"EEEEE":return c("narrow",!1);case"L":return n?o({month:"numeric",day:"numeric"},"month"):this.num(t.month);case"LL":return n?o({month:"2-digit",day:"numeric"},"month"):this.num(t.month,2);case"LLL":return l("short",!0);case"LLLL":return l("long",!0);case"LLLLL":return l("narrow",!0);case"M":return n?o({month:"numeric"},"month"):this.num(t.month);case"MM":return n?o({month:"2-digit"},"month"):this.num(t.month,2);case"MMM":return l("short",!1);case"MMMM":return l("long",!1);case"MMMMM":return l("narrow",!1);case"y":return n?o({year:"numeric"},"year"):this.num(t.year);case"yy":return n?o({year:"2-digit"},"year"):this.num(t.year.toString().slice(-2),2);case"yyyy":return n?o({year:"numeric"},"year"):this.num(t.year,4);case"yyyyyy":return n?o({year:"numeric"},"year"):this.num(t.year,6);case"G":return u("short");case"GG":return u("long");case"GGGGG":return u("narrow");case"kk":return this.num(t.weekYear.toString().slice(-2),2);case"kkkk":return this.num(t.weekYear,4);case"W":return this.num(t.weekNumber);case"WW":return this.num(t.weekNumber,2);case"n":return this.num(t.localWeekNumber);case"nn":return this.num(t.localWeekNumber,2);case"ii":return this.num(t.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(t.localWeekYear,4);case"o":return this.num(t.ordinal);case"ooo":return this.num(t.ordinal,3);case"q":return this.num(t.quarter);case"qq":return this.num(t.quarter,2);case"X":return this.num(Math.floor(t.ts/1e3));case"x":return this.num(t.ts);default:return h(f)}};return gc(s.parseFormat(e),d)}formatDurationFromString(t,e){let i=this.opts.signMode==="negativeLargestOnly"?-1:1,n=h=>{switch(h[0]){case"S":return"milliseconds";case"s":return"seconds";case"m":return"minutes";case"h":return"hours";case"d":return"days";case"w":return"weeks";case"M":return"months";case"y":return"years";default:return null}},o=(h,u)=>d=>{let f=n(d);if(f){let m=u.isNegativeDuration&&f!==u.largestUnit?i:1,g;return this.opts.signMode==="negativeLargestOnly"&&f!==u.largestUnit?g="never":this.opts.signMode==="all"?g="always":g="auto",this.num(h.get(f)*m,d.length,g)}else return d},r=s.parseFormat(e),a=r.reduce((h,{literal:u,val:d})=>u?h:h.concat(d),[]),l=t.shiftTo(...a.map(n).filter(h=>h)),c={isNegativeDuration:l<0,largestUnit:Object.keys(l.values)[0]};return gc(r,o(l,c))}};var yc=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function us(...s){let t=s.reduce((e,i)=>e+i.source,"");return RegExp(`^${t}$`)}function ds(...s){return t=>s.reduce(([e,i,n],o)=>{let[r,a,l]=o(t,n);return[{...e,...r},a||i,l]},[{},null,1]).slice(0,2)}function fs(s,...t){if(s==null)return[null,null];for(let[e,i]of t){let n=e.exec(s);if(n)return i(n)}return[null,null]}function bc(...s){return(t,e)=>{let i={},n;for(n=0;nf!==void 0&&(m||f&&h)?-f:f;return[{years:d(ge(e)),months:d(ge(i)),weeks:d(ge(n)),days:d(ge(o)),hours:d(ge(r)),minutes:d(ge(a)),seconds:d(ge(l),l==="-0"),milliseconds:d(yi(c),u)}]}var ug={GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function yr(s,t,e,i,n,o,r){let a={year:t.length===2?bi(Kt(t)):Kt(t),month:dr.indexOf(e)+1,day:Kt(i),hour:Kt(n),minute:Kt(o)};return r&&(a.second=Kt(r)),s&&(a.weekday=s.length>3?fr.indexOf(s)+1:mr.indexOf(s)+1),a}var dg=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function fg(s){let[,t,e,i,n,o,r,a,l,c,h,u]=s,d=yr(t,n,i,e,o,r,a),f;return l?f=ug[l]:c?f=0:f=Ie(h,u),[d,new et(f)]}function mg(s){return s.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}var gg=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,pg=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,yg=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function pc(s){let[,t,e,i,n,o,r,a]=s;return[yr(t,n,i,e,o,r,a),et.utcInstance]}function bg(s){let[,t,e,i,n,o,r,a]=s;return[yr(t,a,e,i,n,o,r),et.utcInstance]}var xg=us(tg,pr),_g=us(eg,pr),wg=us(sg,pr),Sg=us(_c),Sc=ds(ag,ms,xi,_i),kg=ds(ig,ms,xi,_i),Mg=ds(ng,ms,xi,_i),vg=ds(ms,xi,_i);function kc(s){return fs(s,[xg,Sc],[_g,kg],[wg,Mg],[Sg,vg])}function Mc(s){return fs(mg(s),[dg,fg])}function vc(s){return fs(s,[gg,pc],[pg,pc],[yg,bg])}function Tc(s){return fs(s,[cg,hg])}var Tg=ds(ms);function Oc(s){return fs(s,[lg,Tg])}var Og=us(og,rg),Dg=us(wc),Eg=ds(ms,xi,_i);function Dc(s){return fs(s,[Og,Sc],[Dg,Eg])}var Ec="Invalid Duration",Fc={weeks:{days:7,hours:7*24,minutes:7*24*60,seconds:7*24*60*60,milliseconds:7*24*60*60*1e3},days:{hours:24,minutes:24*60,seconds:24*60*60,milliseconds:24*60*60*1e3},hours:{minutes:60,seconds:60*60,milliseconds:60*60*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},Ig={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:91*24,minutes:91*24*60,seconds:91*24*60*60,milliseconds:91*24*60*60*1e3},months:{weeks:4,days:30,hours:30*24,minutes:30*24*60,seconds:30*24*60*60,milliseconds:30*24*60*60*1e3},...Fc},vt=146097/400,gs=146097/4800,Cg={years:{quarters:4,months:12,weeks:vt/7,days:vt,hours:vt*24,minutes:vt*24*60,seconds:vt*24*60*60,milliseconds:vt*24*60*60*1e3},quarters:{months:3,weeks:vt/28,days:vt/4,hours:vt*24/4,minutes:vt*24*60/4,seconds:vt*24*60*60/4,milliseconds:vt*24*60*60*1e3/4},months:{weeks:gs/7,days:gs,hours:gs*24,minutes:gs*24*60,seconds:gs*24*60*60,milliseconds:gs*24*60*60*1e3},...Fc},Ae=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],Fg=Ae.slice(0).reverse();function Jt(s,t,e=!1){let i={values:e?t.values:{...s.values,...t.values||{}},loc:s.loc.clone(t.loc),conversionAccuracy:t.conversionAccuracy||s.conversionAccuracy,matrix:t.matrix||s.matrix};return new G(i)}function Ac(s,t){let e=t.milliseconds??0;for(let i of Fg.slice(1))t[i]&&(e+=t[i]*s[i].milliseconds);return e}function Ic(s,t){let e=Ac(s,t)<0?-1:1;Ae.reduceRight((i,n)=>{if(D(t[n]))return i;if(i){let o=t[i]*e,r=s[n][i],a=Math.floor(o/r);t[n]+=a*e,t[i]-=a*r*e}return n},null),Ae.reduce((i,n)=>{if(D(t[n]))return i;if(i){let o=t[i]%1;t[i]-=o,t[n]+=o*s[i][n]}return n},null)}function Cc(s){let t={};for(let[e,i]of Object.entries(s))i!==0&&(t[e]=i);return t}var G=class s{constructor(t){let e=t.conversionAccuracy==="longterm"||!1,i=e?Cg:Ig;t.matrix&&(i=t.matrix),this.values=t.values,this.loc=t.loc||W.create(),this.conversionAccuracy=e?"longterm":"casual",this.invalid=t.invalid||null,this.matrix=i,this.isLuxonDuration=!0}static fromMillis(t,e){return s.fromObject({milliseconds:t},e)}static fromObject(t,e={}){if(t==null||typeof t!="object")throw new K(`Duration.fromObject: argument expected to be an object, got ${t===null?"null":typeof t}`);return new s({values:cs(t,s.normalizeUnit),loc:W.fromObject(e),conversionAccuracy:e.conversionAccuracy,matrix:e.matrix})}static fromDurationLike(t){if(Ft(t))return s.fromMillis(t);if(s.isDuration(t))return t;if(typeof t=="object")return s.fromObject(t);throw new K(`Unknown duration argument ${t} of type ${typeof t}`)}static fromISO(t,e){let[i]=Tc(t);return i?s.fromObject(i,e):s.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static fromISOTime(t,e){let[i]=Oc(t);return i?s.fromObject(i,e):s.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static invalid(t,e=null){if(!t)throw new K("need to specify a reason the Duration is invalid");let i=t instanceof st?t:new st(t,e);if(R.throwOnInvalid)throw new dn(i);return new s({invalid:i})}static normalizeUnit(t){let e={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[t&&t.toLowerCase()];if(!e)throw new ns(t);return e}static isDuration(t){return t&&t.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(t,e={}){let i={...e,floor:e.round!==!1&&e.floor!==!1};return this.isValid?it.create(this.loc,i).formatDurationFromString(this,t):Ec}toHuman(t={}){if(!this.isValid)return Ec;let e=t.showZeros!==!1,i=Ae.map(n=>{let o=this.values[n];return D(o)||o===0&&!e?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...t,unit:n.slice(0,-1)}).format(o)}).filter(n=>n);return this.loc.listFormatter({type:"conjunction",style:t.listStyle||"narrow",...t}).format(i)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let t="P";return this.years!==0&&(t+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(t+=this.months+this.quarters*3+"M"),this.weeks!==0&&(t+=this.weeks+"W"),this.days!==0&&(t+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(t+="T"),this.hours!==0&&(t+=this.hours+"H"),this.minutes!==0&&(t+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(t+=rs(this.seconds+this.milliseconds/1e3,3)+"S"),t==="P"&&(t+="T0S"),t}toISOTime(t={}){if(!this.isValid)return null;let e=this.toMillis();return e<0||e>=864e5?null:(t={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...t,includeOffset:!1},F.fromMillis(e,{zone:"UTC"}).toISOTime(t))}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?Ac(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(t){if(!this.isValid)return this;let e=s.fromDurationLike(t),i={};for(let n of Ae)(me(e.values,n)||me(this.values,n))&&(i[n]=e.get(n)+this.get(n));return Jt(this,{values:i},!0)}minus(t){if(!this.isValid)return this;let e=s.fromDurationLike(t);return this.plus(e.negate())}mapUnits(t){if(!this.isValid)return this;let e={};for(let i of Object.keys(this.values))e[i]=ur(t(this.values[i],i));return Jt(this,{values:e},!0)}get(t){return this[s.normalizeUnit(t)]}set(t){if(!this.isValid)return this;let e={...this.values,...cs(t,s.normalizeUnit)};return Jt(this,{values:e})}reconfigure({locale:t,numberingSystem:e,conversionAccuracy:i,matrix:n}={}){let r={loc:this.loc.clone({locale:t,numberingSystem:e}),matrix:n,conversionAccuracy:i};return Jt(this,r)}as(t){return this.isValid?this.shiftTo(t).get(t):NaN}normalize(){if(!this.isValid)return this;let t=this.toObject();return Ic(this.matrix,t),Jt(this,{values:t},!0)}rescale(){if(!this.isValid)return this;let t=Cc(this.normalize().shiftToAll().toObject());return Jt(this,{values:t},!0)}shiftTo(...t){if(!this.isValid)return this;if(t.length===0)return this;t=t.map(r=>s.normalizeUnit(r));let e={},i={},n=this.toObject(),o;for(let r of Ae)if(t.indexOf(r)>=0){o=r;let a=0;for(let c in i)a+=this.matrix[c][r]*i[c],i[c]=0;Ft(n[r])&&(a+=n[r]);let l=Math.trunc(a);e[r]=l,i[r]=(a*1e3-l*1e3)/1e3}else Ft(n[r])&&(i[r]=n[r]);for(let r in i)i[r]!==0&&(e[o]+=r===o?i[r]:i[r]/this.matrix[o][r]);return Ic(this.matrix,e),Jt(this,{values:e},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;let t={};for(let e of Object.keys(this.values))t[e]=this.values[e]===0?0:-this.values[e];return Jt(this,{values:t},!0)}removeZeros(){if(!this.isValid)return this;let t=Cc(this.values);return Jt(this,{values:t},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(t){if(!this.isValid||!t.isValid||!this.loc.equals(t.loc))return!1;function e(i,n){return i===void 0||i===0?n===void 0||n===0:i===n}for(let i of Ae)if(!e(this.values[i],t.values[i]))return!1;return!0}};var ps="Invalid Interval";function Ag(s,t){return!s||!s.isValid?Qt.invalid("missing or invalid start"):!t||!t.isValid?Qt.invalid("missing or invalid end"):tt:!1}isBefore(t){return this.isValid?this.e<=t:!1}contains(t){return this.isValid?this.s<=t&&this.e>t:!1}set({start:t,end:e}={}){return this.isValid?s.fromDateTimes(t||this.s,e||this.e):this}splitAt(...t){if(!this.isValid)return[];let e=t.map(ys).filter(r=>this.contains(r)).sort((r,a)=>r.toMillis()-a.toMillis()),i=[],{s:n}=this,o=0;for(;n+this.e?this.e:r;i.push(s.fromDateTimes(n,a)),n=a,o+=1}return i}splitBy(t){let e=G.fromDurationLike(t);if(!this.isValid||!e.isValid||e.as("milliseconds")===0)return[];let{s:i}=this,n=1,o,r=[];for(;il*n));o=+a>+this.e?this.e:a,r.push(s.fromDateTimes(i,o)),i=o,n+=1}return r}divideEqually(t){return this.isValid?this.splitBy(this.length()/t).slice(0,t):[]}overlaps(t){return this.e>t.s&&this.s=t.e:!1}equals(t){return!this.isValid||!t.isValid?!1:this.s.equals(t.s)&&this.e.equals(t.e)}intersection(t){if(!this.isValid)return this;let e=this.s>t.s?this.s:t.s,i=this.e=i?null:s.fromDateTimes(e,i)}union(t){if(!this.isValid)return this;let e=this.st.e?this.e:t.e;return s.fromDateTimes(e,i)}static merge(t){let[e,i]=t.sort((n,o)=>n.s-o.s).reduce(([n,o],r)=>o?o.overlaps(r)||o.abutsStart(r)?[n,o.union(r)]:[n.concat([o]),r]:[n,r],[[],null]);return i&&e.push(i),e}static xor(t){let e=null,i=0,n=[],o=t.map(l=>[{time:l.s,type:"s"},{time:l.e,type:"e"}]),r=Array.prototype.concat(...o),a=r.sort((l,c)=>l.time-c.time);for(let l of a)i+=l.type==="s"?1:-1,i===1?e=l.time:(e&&+e!=+l.time&&n.push(s.fromDateTimes(e,l.time)),e=null);return s.merge(n)}difference(...t){return s.xor([this].concat(t)).map(e=>this.intersection(e)).filter(e=>e&&!e.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} \u2013 ${this.e.toISO()})`:ps}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(t=he,e={}){return this.isValid?it.create(this.s.loc.clone(e),t).formatInterval(this):ps}toISO(t){return this.isValid?`${this.s.toISO(t)}/${this.e.toISO(t)}`:ps}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:ps}toISOTime(t){return this.isValid?`${this.s.toISOTime(t)}/${this.e.toISOTime(t)}`:ps}toFormat(t,{separator:e=" \u2013 "}={}){return this.isValid?`${this.s.toFormat(t)}${e}${this.e.toFormat(t)}`:ps}toDuration(t,e){return this.isValid?this.e.diff(this.s,t,e):G.invalid(this.invalidReason)}mapEndpoints(t){return s.fromDateTimes(t(this.s),t(this.e))}};var te=class{static hasDST(t=R.defaultZone){let e=F.now().setZone(t).set({month:12});return!t.isUniversal&&e.offset!==e.set({month:6}).offset}static isValidIANAZone(t){return ht.isValidZone(t)}static normalizeZone(t){return Ct(t,R.defaultZone)}static getStartOfWeek({locale:t=null,locObj:e=null}={}){return(e||W.create(t)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:t=null,locObj:e=null}={}){return(e||W.create(t)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:t=null,locObj:e=null}={}){return(e||W.create(t)).getWeekendDays().slice()}static months(t="long",{locale:e=null,numberingSystem:i=null,locObj:n=null,outputCalendar:o="gregory"}={}){return(n||W.create(e,i,o)).months(t)}static monthsFormat(t="long",{locale:e=null,numberingSystem:i=null,locObj:n=null,outputCalendar:o="gregory"}={}){return(n||W.create(e,i,o)).months(t,!0)}static weekdays(t="long",{locale:e=null,numberingSystem:i=null,locObj:n=null}={}){return(n||W.create(e,i,null)).weekdays(t)}static weekdaysFormat(t="long",{locale:e=null,numberingSystem:i=null,locObj:n=null}={}){return(n||W.create(e,i,null)).weekdays(t,!0)}static meridiems({locale:t=null}={}){return W.create(t).meridiems()}static eras(t="short",{locale:e=null}={}){return W.create(e,null,"gregory").eras(t)}static features(){return{relative:pn(),localeWeek:yn()}}};function Lc(s,t){let e=n=>n.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),i=e(t)-e(s);return Math.floor(G.fromMillis(i).as("days"))}function Lg(s,t,e){let i=[["years",(l,c)=>c.year-l.year],["quarters",(l,c)=>c.quarter-l.quarter+(c.year-l.year)*4],["months",(l,c)=>c.month-l.month+(c.year-l.year)*12],["weeks",(l,c)=>{let h=Lc(l,c);return(h-h%7)/7}],["days",Lc]],n={},o=s,r,a;for(let[l,c]of i)e.indexOf(l)>=0&&(r=l,n[l]=c(s,t),a=o.plus(n),a>t?(n[l]--,s=o.plus(n),s>t&&(a=s,n[l]--,s=o.plus(n))):s=a);return[s,n,a,r]}function Pc(s,t,e,i){let[n,o,r,a]=Lg(s,t,e),l=t-n,c=e.filter(u=>["hours","minutes","seconds","milliseconds"].indexOf(u)>=0);c.length===0&&(r0?G.fromMillis(l,i).shiftTo(...c).plus(h):h}var Pg="missing Intl.DateTimeFormat.formatToParts support";function z(s,t=e=>e){return{regex:s,deser:([e])=>t(Ul(e))}}var Ng="\xA0",Wc=`[ ${Ng}]`,zc=new RegExp(Wc,"g");function Rg(s){return s.replace(/\./g,"\\.?").replace(zc,Wc)}function Nc(s){return s.replace(/\./g,"").replace(zc," ").toLowerCase()}function At(s,t){return s===null?null:{regex:RegExp(s.map(Rg).join("|")),deser:([e])=>s.findIndex(i=>Nc(e)===Nc(i))+t}}function Rc(s,t){return{regex:s,deser:([,e,i])=>Ie(e,i),groups:t}}function wn(s){return{regex:s,deser:([t])=>t}}function Wg(s){return s.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function zg(s,t){let e=kt(t),i=kt(t,"{2}"),n=kt(t,"{3}"),o=kt(t,"{4}"),r=kt(t,"{6}"),a=kt(t,"{1,2}"),l=kt(t,"{1,3}"),c=kt(t,"{1,6}"),h=kt(t,"{1,9}"),u=kt(t,"{2,4}"),d=kt(t,"{4,6}"),f=p=>({regex:RegExp(Wg(p.val)),deser:([y])=>y,literal:!0}),g=(p=>{if(s.literal)return f(p);switch(p.val){case"G":return At(t.eras("short"),0);case"GG":return At(t.eras("long"),0);case"y":return z(c);case"yy":return z(u,bi);case"yyyy":return z(o);case"yyyyy":return z(d);case"yyyyyy":return z(r);case"M":return z(a);case"MM":return z(i);case"MMM":return At(t.months("short",!0),1);case"MMMM":return At(t.months("long",!0),1);case"L":return z(a);case"LL":return z(i);case"LLL":return At(t.months("short",!1),1);case"LLLL":return At(t.months("long",!1),1);case"d":return z(a);case"dd":return z(i);case"o":return z(l);case"ooo":return z(n);case"HH":return z(i);case"H":return z(a);case"hh":return z(i);case"h":return z(a);case"mm":return z(i);case"m":return z(a);case"q":return z(a);case"qq":return z(i);case"s":return z(a);case"ss":return z(i);case"S":return z(l);case"SSS":return z(n);case"u":return wn(h);case"uu":return wn(a);case"uuu":return z(e);case"a":return At(t.meridiems(),0);case"kkkk":return z(o);case"kk":return z(u,bi);case"W":return z(a);case"WW":return z(i);case"E":case"c":return z(e);case"EEE":return At(t.weekdays("short",!1),1);case"EEEE":return At(t.weekdays("long",!1),1);case"ccc":return At(t.weekdays("short",!0),1);case"cccc":return At(t.weekdays("long",!0),1);case"Z":case"ZZ":return Rc(new RegExp(`([+-]${a.source})(?::(${i.source}))?`),2);case"ZZZ":return Rc(new RegExp(`([+-]${a.source})(${i.source})?`),2);case"z":return wn(/[a-z_+-/]{1,256}?/i);case" ":return wn(/[^\S\n\r]/);default:return f(p)}})(s)||{invalidReason:Pg};return g.token=s,g}var Vg={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function Hg(s,t,e){let{type:i,value:n}=s;if(i==="literal"){let l=/^\s+$/.test(n);return{literal:!l,val:l?" ":n}}let o=t[i],r=i;i==="hour"&&(t.hour12!=null?r=t.hour12?"hour12":"hour24":t.hourCycle!=null?t.hourCycle==="h11"||t.hourCycle==="h12"?r="hour12":r="hour24":r=e.hour12?"hour12":"hour24");let a=Vg[r];if(typeof a=="object"&&(a=a[o]),a)return{literal:!1,val:a}}function Bg(s){return[`^${s.map(e=>e.regex).reduce((e,i)=>`${e}(${i.source})`,"")}$`,s]}function $g(s,t,e){let i=s.match(t);if(i){let n={},o=1;for(let r in e)if(me(e,r)){let a=e[r],l=a.groups?a.groups+1:1;!a.literal&&a.token&&(n[a.token.val[0]]=a.deser(i.slice(o,o+l))),o+=l}return[i,n]}else return[i,{}]}function jg(s){let t=o=>{switch(o){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},e=null,i;return D(s.z)||(e=ht.create(s.z)),D(s.Z)||(e||(e=new et(s.Z)),i=s.Z),D(s.q)||(s.M=(s.q-1)*3+1),D(s.h)||(s.h<12&&s.a===1?s.h+=12:s.h===12&&s.a===0&&(s.h=0)),s.G===0&&s.y&&(s.y=-s.y),D(s.u)||(s.S=yi(s.u)),[Object.keys(s).reduce((o,r)=>{let a=t(r);return a&&(o[a]=s[r]),o},{}),e,i]}var br=null;function Ug(){return br||(br=F.fromMillis(1555555555555)),br}function Yg(s,t){if(s.literal)return s;let e=it.macroTokenToFormatOpts(s.val),i=wr(e,t);return i==null||i.includes(void 0)?s:i}function xr(s,t){return Array.prototype.concat(...s.map(e=>Yg(e,t)))}var wi=class{constructor(t,e){if(this.locale=t,this.format=e,this.tokens=xr(it.parseFormat(e),t),this.units=this.tokens.map(i=>zg(i,t)),this.disqualifyingUnit=this.units.find(i=>i.invalidReason),!this.disqualifyingUnit){let[i,n]=Bg(this.units);this.regex=RegExp(i,"i"),this.handlers=n}}explainFromTokens(t){if(this.isValid){let[e,i]=$g(t,this.regex,this.handlers),[n,o,r]=i?jg(i):[null,null,void 0];if(me(i,"a")&&me(i,"H"))throw new Dt("Can't include meridiem when specifying 24-hour format");return{input:t,tokens:this.tokens,regex:this.regex,rawMatches:e,matches:i,result:n,zone:o,specificOffset:r}}else return{input:t,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}};function _r(s,t,e){return new wi(s,e).explainFromTokens(t)}function Vc(s,t,e){let{result:i,zone:n,specificOffset:o,invalidReason:r}=_r(s,t,e);return[i,n,o,r]}function wr(s,t){if(!s)return null;let i=it.create(t,s).dtFormatter(Ug()),n=i.formatToParts(),o=i.resolvedOptions();return n.map(r=>Hg(r,s,o))}var Sr="Invalid DateTime",Hc=864e13;function Si(s){return new st("unsupported zone",`the zone "${s.name}" is not supported`)}function kr(s){return s.weekData===null&&(s.weekData=mi(s.c)),s.weekData}function Mr(s){return s.localWeekData===null&&(s.localWeekData=mi(s.c,s.loc.getMinDaysInFirstWeek(),s.loc.getStartOfWeek())),s.localWeekData}function Le(s,t){let e={ts:s.ts,zone:s.zone,c:s.c,o:s.o,loc:s.loc,invalid:s.invalid};return new F({...e,...t,old:e})}function qc(s,t,e){let i=s-t*60*1e3,n=e.offset(i);if(t===n)return[i,t];i-=(n-t)*60*1e3;let o=e.offset(i);return n===o?[i,n]:[s-Math.min(n,o)*60*1e3,Math.max(n,o)]}function Sn(s,t){s+=t*60*1e3;let e=new Date(s);return{year:e.getUTCFullYear(),month:e.getUTCMonth()+1,day:e.getUTCDate(),hour:e.getUTCHours(),minute:e.getUTCMinutes(),second:e.getUTCSeconds(),millisecond:e.getUTCMilliseconds()}}function Mn(s,t,e){return qc(os(s),t,e)}function Bc(s,t){let e=s.o,i=s.c.year+Math.trunc(t.years),n=s.c.month+Math.trunc(t.months)+Math.trunc(t.quarters)*3,o={...s.c,year:i,month:n,day:Math.min(s.c.day,ls(i,n))+Math.trunc(t.days)+Math.trunc(t.weeks)*7},r=G.fromObject({years:t.years-Math.trunc(t.years),quarters:t.quarters-Math.trunc(t.quarters),months:t.months-Math.trunc(t.months),weeks:t.weeks-Math.trunc(t.weeks),days:t.days-Math.trunc(t.days),hours:t.hours,minutes:t.minutes,seconds:t.seconds,milliseconds:t.milliseconds}).as("milliseconds"),a=os(o),[l,c]=qc(a,e,s.zone);return r!==0&&(l+=r,c=s.zone.offset(l)),{ts:l,o:c}}function bs(s,t,e,i,n,o){let{setZone:r,zone:a}=e;if(s&&Object.keys(s).length!==0||t){let l=t||a,c=F.fromObject(s,{...e,zone:l,specificOffset:o});return r?c:c.setZone(a)}else return F.invalid(new st("unparsable",`the input "${n}" can't be parsed as ${i}`))}function kn(s,t,e=!0){return s.isValid?it.create(W.create("en-US"),{allowZ:e,forceSimple:!0}).formatDateTimeFromString(s,t):null}function vr(s,t,e){let i=s.c.year>9999||s.c.year<0,n="";if(i&&s.c.year>=0&&(n+="+"),n+=q(s.c.year,i?6:4),e==="year")return n;if(t){if(n+="-",n+=q(s.c.month),e==="month")return n;n+="-"}else if(n+=q(s.c.month),e==="month")return n;return n+=q(s.c.day),n}function $c(s,t,e,i,n,o,r){let a=!e||s.c.millisecond!==0||s.c.second!==0,l="";switch(r){case"day":case"month":case"year":break;default:if(l+=q(s.c.hour),r==="hour")break;if(t){if(l+=":",l+=q(s.c.minute),r==="minute")break;a&&(l+=":",l+=q(s.c.second))}else{if(l+=q(s.c.minute),r==="minute")break;a&&(l+=q(s.c.second))}if(r==="second")break;a&&(!i||s.c.millisecond!==0)&&(l+=".",l+=q(s.c.millisecond,3))}return n&&(s.isOffsetFixed&&s.offset===0&&!o?l+="Z":s.o<0?(l+="-",l+=q(Math.trunc(-s.o/60)),l+=":",l+=q(Math.trunc(-s.o%60))):(l+="+",l+=q(Math.trunc(s.o/60)),l+=":",l+=q(Math.trunc(s.o%60)))),o&&(l+="["+s.zone.ianaName+"]"),l}var Gc={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},Zg={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},qg={ordinal:1,hour:0,minute:0,second:0,millisecond:0},vn=["year","month","day","hour","minute","second","millisecond"],Gg=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],Xg=["year","ordinal","hour","minute","second","millisecond"];function Tn(s){let t={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[s.toLowerCase()];if(!t)throw new ns(s);return t}function jc(s){switch(s.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return Tn(s)}}function Kg(s){if(ki===void 0&&(ki=R.now()),s.type!=="iana")return s.offset(ki);let t=s.name,e=Tr.get(t);return e===void 0&&(e=s.offset(ki),Tr.set(t,e)),e}function Uc(s,t){let e=Ct(t.zone,R.defaultZone);if(!e.isValid)return F.invalid(Si(e));let i=W.fromObject(t),n,o;if(D(s.year))n=R.now();else{for(let l of vn)D(s[l])&&(s[l]=Gc[l]);let r=lr(s)||cr(s);if(r)return F.invalid(r);let a=Kg(e);[n,o]=Mn(s,a,e)}return new F({ts:n,zone:e,loc:i,o})}function Yc(s,t,e){let i=D(e.round)?!0:e.round,n=D(e.rounding)?"trunc":e.rounding,o=(a,l)=>(a=rs(a,i||e.calendary?0:2,e.calendary?"round":n),t.loc.clone(e).relFormatter(e).format(a,l)),r=a=>e.calendary?t.hasSame(s,a)?0:t.startOf(a).diff(s.startOf(a),a).get(a):t.diff(s,a).get(a);if(e.unit)return o(r(e.unit),e.unit);for(let a of e.units){let l=r(a);if(Math.abs(l)>=1)return o(l,a)}return o(s>t?-0:0,e.units[e.units.length-1])}function Zc(s){let t={},e;return s.length>0&&typeof s[s.length-1]=="object"?(t=s[s.length-1],e=Array.from(s).slice(0,s.length-1)):e=Array.from(s),[t,e]}var ki,Tr=new Map,F=class s{constructor(t){let e=t.zone||R.defaultZone,i=t.invalid||(Number.isNaN(t.ts)?new st("invalid input"):null)||(e.isValid?null:Si(e));this.ts=D(t.ts)?R.now():t.ts;let n=null,o=null;if(!i)if(t.old&&t.old.ts===this.ts&&t.old.zone.equals(e))[n,o]=[t.old.c,t.old.o];else{let a=Ft(t.o)&&!t.old?t.o:e.offset(this.ts);n=Sn(this.ts,a),i=Number.isNaN(n.year)?new st("invalid input"):null,n=i?null:n,o=i?null:a}this._zone=e,this.loc=t.loc||W.create(),this.invalid=i,this.weekData=null,this.localWeekData=null,this.c=n,this.o=o,this.isLuxonDateTime=!0}static now(){return new s({})}static local(){let[t,e]=Zc(arguments),[i,n,o,r,a,l,c]=e;return Uc({year:i,month:n,day:o,hour:r,minute:a,second:l,millisecond:c},t)}static utc(){let[t,e]=Zc(arguments),[i,n,o,r,a,l,c]=e;return t.zone=et.utcInstance,Uc({year:i,month:n,day:o,hour:r,minute:a,second:l,millisecond:c},t)}static fromJSDate(t,e={}){let i=lc(t)?t.valueOf():NaN;if(Number.isNaN(i))return s.invalid("invalid input");let n=Ct(e.zone,R.defaultZone);return n.isValid?new s({ts:i,zone:n,loc:W.fromObject(e)}):s.invalid(Si(n))}static fromMillis(t,e={}){if(Ft(t))return t<-Hc||t>Hc?s.invalid("Timestamp out of range"):new s({ts:t,zone:Ct(e.zone,R.defaultZone),loc:W.fromObject(e)});throw new K(`fromMillis requires a numerical input, but received a ${typeof t} with value ${t}`)}static fromSeconds(t,e={}){if(Ft(t))return new s({ts:t*1e3,zone:Ct(e.zone,R.defaultZone),loc:W.fromObject(e)});throw new K("fromSeconds requires a numerical input")}static fromObject(t,e={}){t=t||{};let i=Ct(e.zone,R.defaultZone);if(!i.isValid)return s.invalid(Si(i));let n=W.fromObject(e),o=cs(t,jc),{minDaysInFirstWeek:r,startOfWeek:a}=ar(o,n),l=R.now(),c=D(e.specificOffset)?i.offset(l):e.specificOffset,h=!D(o.ordinal),u=!D(o.year),d=!D(o.month)||!D(o.day),f=u||d,m=o.weekYear||o.weekNumber;if((f||h)&&m)throw new Dt("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(d&&h)throw new Dt("Can't mix ordinal dates with month/day");let g=m||o.weekday&&!f,p,y,b=Sn(l,c);g?(p=Gg,y=Zg,b=mi(b,r,a)):h?(p=Xg,y=qg,b=_n(b)):(p=vn,y=Gc);let _=!1;for(let E of p){let C=o[E];D(C)?_?o[E]=y[E]:o[E]=b[E]:_=!0}let w=g?oc(o,r,a):h?rc(o):lr(o),x=w||cr(o);if(x)return s.invalid(x);let k=g?or(o,r,a):h?rr(o):o,[M,v]=Mn(k,c,i),O=new s({ts:M,zone:i,o:v,loc:n});return o.weekday&&f&&t.weekday!==O.weekday?s.invalid("mismatched weekday",`you can't specify both a weekday of ${o.weekday} and a date of ${O.toISO()}`):O.isValid?O:s.invalid(O.invalid)}static fromISO(t,e={}){let[i,n]=kc(t);return bs(i,n,e,"ISO 8601",t)}static fromRFC2822(t,e={}){let[i,n]=Mc(t);return bs(i,n,e,"RFC 2822",t)}static fromHTTP(t,e={}){let[i,n]=vc(t);return bs(i,n,e,"HTTP",e)}static fromFormat(t,e,i={}){if(D(t)||D(e))throw new K("fromFormat requires an input string and a format");let{locale:n=null,numberingSystem:o=null}=i,r=W.fromOpts({locale:n,numberingSystem:o,defaultToEN:!0}),[a,l,c,h]=Vc(r,t,e);return h?s.invalid(h):bs(a,l,i,`format ${e}`,t,c)}static fromString(t,e,i={}){return s.fromFormat(t,e,i)}static fromSQL(t,e={}){let[i,n]=Dc(t);return bs(i,n,e,"SQL",t)}static invalid(t,e=null){if(!t)throw new K("need to specify a reason the DateTime is invalid");let i=t instanceof st?t:new st(t,e);if(R.throwOnInvalid)throw new hn(i);return new s({invalid:i})}static isDateTime(t){return t&&t.isLuxonDateTime||!1}static parseFormatForOpts(t,e={}){let i=wr(t,W.fromObject(e));return i?i.map(n=>n?n.val:null).join(""):null}static expandFormat(t,e={}){return xr(it.parseFormat(t),W.fromObject(e)).map(n=>n.val).join("")}static resetCache(){ki=void 0,Tr.clear()}get(t){return this[t]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?kr(this).weekYear:NaN}get weekNumber(){return this.isValid?kr(this).weekNumber:NaN}get weekday(){return this.isValid?kr(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?Mr(this).weekday:NaN}get localWeekNumber(){return this.isValid?Mr(this).weekNumber:NaN}get localWeekYear(){return this.isValid?Mr(this).weekYear:NaN}get ordinal(){return this.isValid?_n(this.c).ordinal:NaN}get monthShort(){return this.isValid?te.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?te.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?te.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?te.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let t=864e5,e=6e4,i=os(this.c),n=this.zone.offset(i-t),o=this.zone.offset(i+t),r=this.zone.offset(i-n*e),a=this.zone.offset(i-o*e);if(r===a)return[this];let l=i-r*e,c=i-a*e,h=Sn(l,r),u=Sn(c,a);return h.hour===u.hour&&h.minute===u.minute&&h.second===u.second&&h.millisecond===u.millisecond?[Le(this,{ts:l}),Le(this,{ts:c})]:[this]}get isInLeapYear(){return Fe(this.year)}get daysInMonth(){return ls(this.year,this.month)}get daysInYear(){return this.isValid?fe(this.year):NaN}get weeksInWeekYear(){return this.isValid?Ce(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?Ce(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(t={}){let{locale:e,numberingSystem:i,calendar:n}=it.create(this.loc.clone(t),t).resolvedOptions(this);return{locale:e,numberingSystem:i,outputCalendar:n}}toUTC(t=0,e={}){return this.setZone(et.instance(t),e)}toLocal(){return this.setZone(R.defaultZone)}setZone(t,{keepLocalTime:e=!1,keepCalendarTime:i=!1}={}){if(t=Ct(t,R.defaultZone),t.equals(this.zone))return this;if(t.isValid){let n=this.ts;if(e||i){let o=t.offset(this.ts),r=this.toObject();[n]=Mn(r,o,t)}return Le(this,{ts:n,zone:t})}else return s.invalid(Si(t))}reconfigure({locale:t,numberingSystem:e,outputCalendar:i}={}){let n=this.loc.clone({locale:t,numberingSystem:e,outputCalendar:i});return Le(this,{loc:n})}setLocale(t){return this.reconfigure({locale:t})}set(t){if(!this.isValid)return this;let e=cs(t,jc),{minDaysInFirstWeek:i,startOfWeek:n}=ar(e,this.loc),o=!D(e.weekYear)||!D(e.weekNumber)||!D(e.weekday),r=!D(e.ordinal),a=!D(e.year),l=!D(e.month)||!D(e.day),c=a||l,h=e.weekYear||e.weekNumber;if((c||r)&&h)throw new Dt("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(l&&r)throw new Dt("Can't mix ordinal dates with month/day");let u;o?u=or({...mi(this.c,i,n),...e},i,n):D(e.ordinal)?(u={...this.toObject(),...e},D(e.day)&&(u.day=Math.min(ls(u.year,u.month),u.day))):u=rr({..._n(this.c),...e});let[d,f]=Mn(u,this.o,this.zone);return Le(this,{ts:d,o:f})}plus(t){if(!this.isValid)return this;let e=G.fromDurationLike(t);return Le(this,Bc(this,e))}minus(t){if(!this.isValid)return this;let e=G.fromDurationLike(t).negate();return Le(this,Bc(this,e))}startOf(t,{useLocaleWeeks:e=!1}={}){if(!this.isValid)return this;let i={},n=G.normalizeUnit(t);switch(n){case"years":i.month=1;case"quarters":case"months":i.day=1;case"weeks":case"days":i.hour=0;case"hours":i.minute=0;case"minutes":i.second=0;case"seconds":i.millisecond=0;break;case"milliseconds":break}if(n==="weeks")if(e){let o=this.loc.getStartOfWeek(),{weekday:r}=this;r=3&&(l+="T"),l+=$c(this,a,e,i,n,o,r),l}toISODate({format:t="extended",precision:e="day"}={}){return this.isValid?vr(this,t==="extended",Tn(e)):null}toISOWeekDate(){return kn(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:t=!1,suppressSeconds:e=!1,includeOffset:i=!0,includePrefix:n=!1,extendedZone:o=!1,format:r="extended",precision:a="milliseconds"}={}){return this.isValid?(a=Tn(a),(n&&vn.indexOf(a)>=3?"T":"")+$c(this,r==="extended",e,t,i,o,a)):null}toRFC2822(){return kn(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return kn(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?vr(this,!0):null}toSQLTime({includeOffset:t=!0,includeZone:e=!1,includeOffsetSpace:i=!0}={}){let n="HH:mm:ss.SSS";return(e||t)&&(i&&(n+=" "),e?n+="z":t&&(n+="ZZ")),kn(this,n,!0)}toSQL(t={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(t)}`:null}toString(){return this.isValid?this.toISO():Sr}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`:`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(t={}){if(!this.isValid)return{};let e={...this.c};return t.includeConfig&&(e.outputCalendar=this.outputCalendar,e.numberingSystem=this.loc.numberingSystem,e.locale=this.loc.locale),e}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(t,e="milliseconds",i={}){if(!this.isValid||!t.isValid)return G.invalid("created by diffing an invalid DateTime");let n={locale:this.locale,numberingSystem:this.numberingSystem,...i},o=cc(e).map(G.normalizeUnit),r=t.valueOf()>this.valueOf(),a=r?this:t,l=r?t:this,c=Pc(a,l,o,n);return r?c.negate():c}diffNow(t="milliseconds",e={}){return this.diff(s.now(),t,e)}until(t){return this.isValid?Qt.fromDateTimes(this,t):this}hasSame(t,e,i){if(!this.isValid)return!1;let n=t.valueOf(),o=this.setZone(t.zone,{keepLocalTime:!0});return o.startOf(e,i)<=n&&n<=o.endOf(e,i)}equals(t){return this.isValid&&t.isValid&&this.valueOf()===t.valueOf()&&this.zone.equals(t.zone)&&this.loc.equals(t.loc)}toRelative(t={}){if(!this.isValid)return null;let e=t.base||s.fromObject({},{zone:this.zone}),i=t.padding?thise.valueOf(),Math.min)}static max(...t){if(!t.every(s.isDateTime))throw new K("max requires all arguments be DateTimes");return hr(t,e=>e.valueOf(),Math.max)}static fromFormatExplain(t,e,i={}){let{locale:n=null,numberingSystem:o=null}=i,r=W.fromOpts({locale:n,numberingSystem:o,defaultToEN:!0});return _r(r,t,e)}static fromStringExplain(t,e,i={}){return s.fromFormatExplain(t,e,i)}static buildFormatParser(t,e={}){let{locale:i=null,numberingSystem:n=null}=e,o=W.fromOpts({locale:i,numberingSystem:n,defaultToEN:!0});return new wi(o,t)}static fromFormatParser(t,e,i={}){if(D(t)||D(e))throw new K("fromFormatParser requires an input string and a format parser");let{locale:n=null,numberingSystem:o=null}=i,r=W.fromOpts({locale:n,numberingSystem:o,defaultToEN:!0});if(!r.equals(e.locale))throw new K(`fromFormatParser called with a locale of ${r}, but the format parser was created for ${e.locale}`);let{result:a,zone:l,specificOffset:c,invalidReason:h}=e.explainFromTokens(t);return h?s.invalid(h):bs(a,l,i,`format ${e.format}`,t,c)}static get DATE_SHORT(){return he}static get DATE_MED(){return Zs}static get DATE_MED_WITH_WEEKDAY(){return Ro}static get DATE_FULL(){return qs}static get DATE_HUGE(){return Gs}static get TIME_SIMPLE(){return Xs}static get TIME_WITH_SECONDS(){return Ks}static get TIME_WITH_SHORT_OFFSET(){return Js}static get TIME_WITH_LONG_OFFSET(){return Qs}static get TIME_24_SIMPLE(){return ti}static get TIME_24_WITH_SECONDS(){return ei}static get TIME_24_WITH_SHORT_OFFSET(){return si}static get TIME_24_WITH_LONG_OFFSET(){return ii}static get DATETIME_SHORT(){return ni}static get DATETIME_SHORT_WITH_SECONDS(){return oi}static get DATETIME_MED(){return ri}static get DATETIME_MED_WITH_SECONDS(){return ai}static get DATETIME_MED_WITH_WEEKDAY(){return Wo}static get DATETIME_FULL(){return li}static get DATETIME_FULL_WITH_SECONDS(){return ci}static get DATETIME_HUGE(){return hi}static get DATETIME_HUGE_WITH_SECONDS(){return ui}};function ys(s){if(F.isDateTime(s))return s;if(s&&s.valueOf&&Ft(s.valueOf()))return F.fromJSDate(s);if(s&&typeof s=="object")return F.fromObject(s);throw new K(`Unknown datetime argument: ${s}, of type ${typeof s}`)}var Jg={datetime:F.DATETIME_MED_WITH_SECONDS,millisecond:"h:mm:ss.SSS a",second:F.TIME_WITH_SECONDS,minute:F.TIME_SIMPLE,hour:{hour:"numeric"},day:{day:"numeric",month:"short"},week:"DD",month:{month:"short",year:"numeric"},quarter:"'Q'q - yyyy",year:{year:"numeric"}};No._date.override({_id:"luxon",_create:function(s){return F.fromMillis(s,this.options)},init(s){this.options.locale||(this.options.locale=s.locale)},formats:function(){return Jg},parse:function(s,t){let e=this.options,i=typeof s;return s===null||i==="undefined"?null:(i==="number"?s=this._create(s):i==="string"?typeof t=="string"?s=F.fromFormat(s,t,e):s=F.fromISO(s,e):s instanceof Date?s=F.fromJSDate(s,e):i==="object"&&!(s instanceof F)&&(s=F.fromObject(s,e)),s.isValid?s.valueOf():null)},format:function(s,t){let e=this._create(s);return typeof t=="string"?e.toFormat(t):e.toLocaleString(t)},add:function(s,t,e){let i={};return i[e]=t,this._create(s).plus(i).valueOf()},diff:function(s,t,e){return this._create(s).diff(this._create(t)).as(e).valueOf()},startOf:function(s,t,e){if(t==="isoWeek"){e=Math.trunc(Math.min(Math.max(0,e),6));let i=this._create(s);return i.minus({days:(i.weekday-e+7)%7}).startOf("day").valueOf()}return t?this._create(s).startOf(t).valueOf():s},endOf:function(s,t){return this._create(s).endOf(t).valueOf()}});function On({cachedData:s,options:t,type:e}){return{init(){this.initChart(),this.$wire.$on("updateChartData",({data:i})=>{On=this.getChart(),On.data=i,On.update("resize")}),Alpine.effect(()=>{Alpine.store("theme"),this.$nextTick(()=>{this.getChart()&&(this.getChart().destroy(),this.initChart())})}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{Alpine.store("theme")==="system"&&this.$nextTick(()=>{this.getChart().destroy(),this.initChart()})})},initChart(i=null){var r,a,l,c,h,u,d,f,m,g,p,y,b,_;if(!this.$refs.canvas||!this.$refs.backgroundColorElement||!this.$refs.borderColorElement||!this.$refs.textColorElement||!this.$refs.gridColorElement)return;Ht.defaults.animation.duration=0,Ht.defaults.backgroundColor=getComputedStyle(this.$refs.backgroundColorElement).color;let n=getComputedStyle(this.$refs.borderColorElement).color;Ht.defaults.borderColor=n,Ht.defaults.color=getComputedStyle(this.$refs.textColorElement).color,Ht.defaults.font.family=getComputedStyle(this.$el).fontFamily,Ht.defaults.plugins.legend.labels.boxWidth=12,Ht.defaults.plugins.legend.position="bottom";let o=getComputedStyle(this.$refs.gridColorElement).color;return t??(t={}),t.borderWidth??(t.borderWidth=2),t.pointBackgroundColor??(t.pointBackgroundColor=n),t.pointHitRadius??(t.pointHitRadius=4),t.pointRadius??(t.pointRadius=2),t.scales??(t.scales={}),(r=t.scales).x??(r.x={}),(a=t.scales.x).border??(a.border={}),(l=t.scales.x.border).display??(l.display=!1),(c=t.scales.x).grid??(c.grid={}),(h=t.scales.x.grid).color??(h.color=o),(u=t.scales.x.grid).display??(u.display=!1),(d=t.scales).y??(d.y={}),(f=t.scales.y).border??(f.border={}),(m=t.scales.y.border).display??(m.display=!1),(g=t.scales.y).grid??(g.grid={}),(p=t.scales.y.grid).color??(p.color=o),["doughnut","pie"].includes(e)&&((y=t.scales.x).display??(y.display=!1),(b=t.scales.y).display??(b.display=!1),(_=t.scales.y.grid).display??(_.display=!1)),new Ht(this.$refs.canvas,{type:e,data:i??s,options:t,plugins:window.filamentChartJsPlugins??[]})},getChart(){return this.$refs.canvas?Ht.getChart(this.$refs.canvas):null}}}export{On as default}; +/*! Bundled license information: + +@kurkle/color/dist/color.esm.js: + (*! + * @kurkle/color v0.3.4 + * https://github.com/kurkle/color#readme + * (c) 2024 Jukka Kurkela + * Released under the MIT License + *) + +chart.js/dist/chunks/helpers.dataset.js: +chart.js/dist/chart.js: + (*! + * Chart.js v4.5.0 + * https://www.chartjs.org + * (c) 2025 Chart.js Contributors + * Released under the MIT License + *) + +chartjs-adapter-luxon/dist/chartjs-adapter-luxon.esm.js: + (*! + * chartjs-adapter-luxon v1.3.1 + * https://www.chartjs.org + * (c) 2023 chartjs-adapter-luxon Contributors + * Released under the MIT license + *) +*/ diff --git a/public/js/filament/widgets/components/stats-overview/stat/chart.js b/public/js/filament/widgets/components/stats-overview/stat/chart.js new file mode 100644 index 0000000..3f30b7b --- /dev/null +++ b/public/js/filament/widgets/components/stats-overview/stat/chart.js @@ -0,0 +1,22 @@ +var Zo=Object.defineProperty;var Jo=(i,t,e)=>t in i?Zo(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var M=(i,t,e)=>Jo(i,typeof t!="symbol"?t+"":t,e);function ye(i){return i+.5|0}var wt=(i,t,e)=>Math.max(Math.min(i,e),t);function xe(i){return wt(ye(i*2.55),0,255)}function St(i){return wt(ye(i*255),0,255)}function mt(i){return wt(ye(i/2.55)/100,0,1)}function zs(i){return wt(ye(i*100),0,100)}var nt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Ai=[..."0123456789ABCDEF"],Qo=i=>Ai[i&15],ta=i=>Ai[(i&240)>>4]+Ai[i&15],Ye=i=>(i&240)>>4===(i&15),ea=i=>Ye(i.r)&&Ye(i.g)&&Ye(i.b)&&Ye(i.a);function ia(i){var t=i.length,e;return i[0]==="#"&&(t===4||t===5?e={r:255&nt[i[1]]*17,g:255&nt[i[2]]*17,b:255&nt[i[3]]*17,a:t===5?nt[i[4]]*17:255}:(t===7||t===9)&&(e={r:nt[i[1]]<<4|nt[i[2]],g:nt[i[3]]<<4|nt[i[4]],b:nt[i[5]]<<4|nt[i[6]],a:t===9?nt[i[7]]<<4|nt[i[8]]:255})),e}var sa=(i,t)=>i<255?t(i):"";function na(i){var t=ea(i)?Qo:ta;return i?"#"+t(i.r)+t(i.g)+t(i.b)+sa(i.a,t):void 0}var oa=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Ns(i,t,e){let s=t*Math.min(e,1-e),n=(o,a=(o+i/30)%12)=>e-s*Math.max(Math.min(a-3,9-a,1),-1);return[n(0),n(8),n(4)]}function aa(i,t,e){let s=(n,o=(n+i/60)%6)=>e-e*t*Math.max(Math.min(o,4-o,1),0);return[s(5),s(3),s(1)]}function ra(i,t,e){let s=Ns(i,1,.5),n;for(t+e>1&&(n=1/(t+e),t*=n,e*=n),n=0;n<3;n++)s[n]*=1-t-e,s[n]+=t;return s}function la(i,t,e,s,n){return i===n?(t-e)/s+(t.5?h/(2-o-a):h/(o+a),l=la(e,s,n,h,o),l=l*60+.5),[l|0,c||0,r]}function Li(i,t,e,s){return(Array.isArray(t)?i(t[0],t[1],t[2]):i(t,e,s)).map(St)}function Ri(i,t,e){return Li(Ns,i,t,e)}function ca(i,t,e){return Li(ra,i,t,e)}function ha(i,t,e){return Li(aa,i,t,e)}function Hs(i){return(i%360+360)%360}function da(i){let t=oa.exec(i),e=255,s;if(!t)return;t[5]!==s&&(e=t[6]?xe(+t[5]):St(+t[5]));let n=Hs(+t[2]),o=+t[3]/100,a=+t[4]/100;return t[1]==="hwb"?s=ca(n,o,a):t[1]==="hsv"?s=ha(n,o,a):s=Ri(n,o,a),{r:s[0],g:s[1],b:s[2],a:e}}function ua(i,t){var e=Ti(i);e[0]=Hs(e[0]+t),e=Ri(e),i.r=e[0],i.g=e[1],i.b=e[2]}function fa(i){if(!i)return;let t=Ti(i),e=t[0],s=zs(t[1]),n=zs(t[2]);return i.a<255?`hsla(${e}, ${s}%, ${n}%, ${mt(i.a)})`:`hsl(${e}, ${s}%, ${n}%)`}var Bs={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Vs={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function ga(){let i={},t=Object.keys(Vs),e=Object.keys(Bs),s,n,o,a,r;for(s=0;s>16&255,o>>8&255,o&255]}return i}var Ue;function pa(i){Ue||(Ue=ga(),Ue.transparent=[0,0,0,0]);let t=Ue[i.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}var ma=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function ba(i){let t=ma.exec(i),e=255,s,n,o;if(t){if(t[7]!==s){let a=+t[7];e=t[8]?xe(a):wt(a*255,0,255)}return s=+t[1],n=+t[3],o=+t[5],s=255&(t[2]?xe(s):wt(s,0,255)),n=255&(t[4]?xe(n):wt(n,0,255)),o=255&(t[6]?xe(o):wt(o,0,255)),{r:s,g:n,b:o,a:e}}}function xa(i){return i&&(i.a<255?`rgba(${i.r}, ${i.g}, ${i.b}, ${mt(i.a)})`:`rgb(${i.r}, ${i.g}, ${i.b})`)}var Ci=i=>i<=.0031308?i*12.92:Math.pow(i,1/2.4)*1.055-.055,qt=i=>i<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4);function _a(i,t,e){let s=qt(mt(i.r)),n=qt(mt(i.g)),o=qt(mt(i.b));return{r:St(Ci(s+e*(qt(mt(t.r))-s))),g:St(Ci(n+e*(qt(mt(t.g))-n))),b:St(Ci(o+e*(qt(mt(t.b))-o))),a:i.a+e*(t.a-i.a)}}function Xe(i,t,e){if(i){let s=Ti(i);s[t]=Math.max(0,Math.min(s[t]+s[t]*e,t===0?360:1)),s=Ri(s),i.r=s[0],i.g=s[1],i.b=s[2]}}function js(i,t){return i&&Object.assign(t||{},i)}function Ws(i){var t={r:0,g:0,b:0,a:255};return Array.isArray(i)?i.length>=3&&(t={r:i[0],g:i[1],b:i[2],a:255},i.length>3&&(t.a=St(i[3]))):(t=js(i,{r:0,g:0,b:0,a:1}),t.a=St(t.a)),t}function ya(i){return i.charAt(0)==="r"?ba(i):da(i)}var _e=class i{constructor(t){if(t instanceof i)return t;let e=typeof t,s;e==="object"?s=Ws(t):e==="string"&&(s=ia(t)||pa(t)||ya(t)),this._rgb=s,this._valid=!!s}get valid(){return this._valid}get rgb(){var t=js(this._rgb);return t&&(t.a=mt(t.a)),t}set rgb(t){this._rgb=Ws(t)}rgbString(){return this._valid?xa(this._rgb):void 0}hexString(){return this._valid?na(this._rgb):void 0}hslString(){return this._valid?fa(this._rgb):void 0}mix(t,e){if(t){let s=this.rgb,n=t.rgb,o,a=e===o?.5:e,r=2*a-1,l=s.a-n.a,c=((r*l===-1?r:(r+l)/(1+r*l))+1)/2;o=1-c,s.r=255&c*s.r+o*n.r+.5,s.g=255&c*s.g+o*n.g+.5,s.b=255&c*s.b+o*n.b+.5,s.a=a*s.a+(1-a)*n.a,this.rgb=s}return this}interpolate(t,e){return t&&(this._rgb=_a(this._rgb,t._rgb,e)),this}clone(){return new i(this.rgb)}alpha(t){return this._rgb.a=St(t),this}clearer(t){let e=this._rgb;return e.a*=1-t,this}greyscale(){let t=this._rgb,e=ye(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){let e=this._rgb;return e.a*=1+t,this}negate(){let t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Xe(this._rgb,2,t),this}darken(t){return Xe(this._rgb,2,-t),this}saturate(t){return Xe(this._rgb,1,t),this}desaturate(t){return Xe(this._rgb,1,-t),this}rotate(t){return ua(this._rgb,t),this}};function dt(){}var tn=(()=>{let i=0;return()=>i++})();function A(i){return i==null}function z(i){if(Array.isArray&&Array.isArray(i))return!0;let t=Object.prototype.toString.call(i);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function T(i){return i!==null&&Object.prototype.toString.call(i)==="[object Object]"}function N(i){return(typeof i=="number"||i instanceof Number)&&isFinite(+i)}function J(i,t){return N(i)?i:t}function D(i,t){return typeof i>"u"?t:i}var en=(i,t)=>typeof i=="string"&&i.endsWith("%")?parseFloat(i)/100:+i/t,zi=(i,t)=>typeof i=="string"&&i.endsWith("%")?parseFloat(i)/100*t:+i;function F(i,t,e){if(i&&typeof i.call=="function")return i.apply(e,t)}function E(i,t,e,s){let n,o,a;if(z(i))if(o=i.length,s)for(n=o-1;n>=0;n--)t.call(e,i[n],n);else for(n=0;ni,x:i=>i.x,y:i=>i.y};function ka(i){let t=i.split("."),e=[],s="";for(let n of t)s+=n,s.endsWith("\\")?s=s.slice(0,-1)+".":(e.push(s),s="");return e}function wa(i){let t=ka(i);return e=>{for(let s of t){if(s==="")break;e=e&&e[s]}return e}}function _t(i,t){return($s[t]||($s[t]=wa(t)))(i)}function ii(i){return i.charAt(0).toUpperCase()+i.slice(1)}var te=i=>typeof i<"u",bt=i=>typeof i=="function",Bi=(i,t)=>{if(i.size!==t.size)return!1;for(let e of i)if(!t.has(e))return!1;return!0};function nn(i){return i.type==="mouseup"||i.type==="click"||i.type==="contextmenu"}var R=Math.PI,B=2*R,Sa=B+R,Qe=Number.POSITIVE_INFINITY,Pa=R/180,H=R/2,It=R/4,Ys=R*2/3,xt=Math.log10,lt=Math.sign;function ee(i,t,e){return Math.abs(i-t)n-o).pop(),t}function Da(i){return typeof i=="symbol"||typeof i=="object"&&i!==null&&!(Symbol.toPrimitive in i||"toString"in i||"valueOf"in i)}function Bt(i){return!Da(i)&&!isNaN(parseFloat(i))&&isFinite(i)}function an(i,t){let e=Math.round(i);return e-t<=i&&e+t>=i}function Wi(i,t,e){let s,n,o;for(s=0,n=i.length;sl&&c=Math.min(t,e)-s&&i<=Math.max(t,e)+s}function ni(i,t,e){e=e||(a=>i[a]1;)o=n+s>>1,e(o)?n=o:s=o;return{lo:n,hi:s}}var ct=(i,t,e,s)=>ni(i,e,s?n=>{let o=i[n][t];return oi[n][t]ni(i,e,s=>i[s][t]>=e);function cn(i,t,e){let s=0,n=i.length;for(;ss&&i[n-1]>e;)n--;return s>0||n{let s="_onData"+ii(e),n=i[e];Object.defineProperty(i,e,{configurable:!0,enumerable:!1,value(...o){let a=n.apply(this,o);return i._chartjs.listeners.forEach(r=>{typeof r[s]=="function"&&r[s](...o)}),a}})})}function ji(i,t){let e=i._chartjs;if(!e)return;let s=e.listeners,n=s.indexOf(t);n!==-1&&s.splice(n,1),!(s.length>0)&&(hn.forEach(o=>{delete i[o]}),delete i._chartjs)}function $i(i){let t=new Set(i);return t.size===i.length?i:Array.from(t)}var Yi=function(){return typeof window>"u"?function(i){return i()}:window.requestAnimationFrame}();function Ui(i,t){let e=[],s=!1;return function(...n){e=n,s||(s=!0,Yi.call(window,()=>{s=!1,i.apply(t,e)}))}}function un(i,t){let e;return function(...s){return t?(clearTimeout(e),e=setTimeout(i,t,s)):i.apply(this,s),t}}var oi=i=>i==="start"?"left":i==="end"?"right":"center",K=(i,t,e)=>i==="start"?t:i==="end"?e:(t+e)/2,fn=(i,t,e,s)=>i===(s?"left":"right")?e:i==="center"?(t+e)/2:t;function Xi(i,t,e){let s=t.length,n=0,o=s;if(i._sorted){let{iScale:a,vScale:r,_parsed:l}=i,c=i.dataset&&i.dataset.options?i.dataset.options.spanGaps:null,h=a.axis,{min:d,max:u,minDefined:f,maxDefined:g}=a.getUserBounds();if(f){if(n=Math.min(ct(l,h,d).lo,e?s:ct(t,h,a.getPixelForValue(d)).lo),c){let p=l.slice(0,n+1).reverse().findIndex(m=>!A(m[r.axis]));n-=Math.max(0,p)}n=Y(n,0,s-1)}if(g){let p=Math.max(ct(l,a.axis,u,!0).hi+1,e?0:ct(t,h,a.getPixelForValue(u),!0).hi+1);if(c){let m=l.slice(p-1).findIndex(b=>!A(b[r.axis]));p+=Math.max(0,m)}o=Y(p,n,s)-n}else o=s-n}return{start:n,count:o}}function Ki(i){let{xScale:t,yScale:e,_scaleRanges:s}=i,n={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!s)return i._scaleRanges=n,!0;let o=s.xmin!==t.min||s.xmax!==t.max||s.ymin!==e.min||s.ymax!==e.max;return Object.assign(s,n),o}var Ke=i=>i===0||i===1,Us=(i,t,e)=>-(Math.pow(2,10*(i-=1))*Math.sin((i-t)*B/e)),Xs=(i,t,e)=>Math.pow(2,-10*i)*Math.sin((i-t)*B/e)+1,Gt={linear:i=>i,easeInQuad:i=>i*i,easeOutQuad:i=>-i*(i-2),easeInOutQuad:i=>(i/=.5)<1?.5*i*i:-.5*(--i*(i-2)-1),easeInCubic:i=>i*i*i,easeOutCubic:i=>(i-=1)*i*i+1,easeInOutCubic:i=>(i/=.5)<1?.5*i*i*i:.5*((i-=2)*i*i+2),easeInQuart:i=>i*i*i*i,easeOutQuart:i=>-((i-=1)*i*i*i-1),easeInOutQuart:i=>(i/=.5)<1?.5*i*i*i*i:-.5*((i-=2)*i*i*i-2),easeInQuint:i=>i*i*i*i*i,easeOutQuint:i=>(i-=1)*i*i*i*i+1,easeInOutQuint:i=>(i/=.5)<1?.5*i*i*i*i*i:.5*((i-=2)*i*i*i*i+2),easeInSine:i=>-Math.cos(i*H)+1,easeOutSine:i=>Math.sin(i*H),easeInOutSine:i=>-.5*(Math.cos(R*i)-1),easeInExpo:i=>i===0?0:Math.pow(2,10*(i-1)),easeOutExpo:i=>i===1?1:-Math.pow(2,-10*i)+1,easeInOutExpo:i=>Ke(i)?i:i<.5?.5*Math.pow(2,10*(i*2-1)):.5*(-Math.pow(2,-10*(i*2-1))+2),easeInCirc:i=>i>=1?i:-(Math.sqrt(1-i*i)-1),easeOutCirc:i=>Math.sqrt(1-(i-=1)*i),easeInOutCirc:i=>(i/=.5)<1?-.5*(Math.sqrt(1-i*i)-1):.5*(Math.sqrt(1-(i-=2)*i)+1),easeInElastic:i=>Ke(i)?i:Us(i,.075,.3),easeOutElastic:i=>Ke(i)?i:Xs(i,.075,.3),easeInOutElastic(i){return Ke(i)?i:i<.5?.5*Us(i*2,.1125,.45):.5+.5*Xs(i*2-1,.1125,.45)},easeInBack(i){return i*i*((1.70158+1)*i-1.70158)},easeOutBack(i){return(i-=1)*i*((1.70158+1)*i+1.70158)+1},easeInOutBack(i){let t=1.70158;return(i/=.5)<1?.5*(i*i*(((t*=1.525)+1)*i-t)):.5*((i-=2)*i*(((t*=1.525)+1)*i+t)+2)},easeInBounce:i=>1-Gt.easeOutBounce(1-i),easeOutBounce(i){return i<1/2.75?7.5625*i*i:i<2/2.75?7.5625*(i-=1.5/2.75)*i+.75:i<2.5/2.75?7.5625*(i-=2.25/2.75)*i+.9375:7.5625*(i-=2.625/2.75)*i+.984375},easeInOutBounce:i=>i<.5?Gt.easeInBounce(i*2)*.5:Gt.easeOutBounce(i*2-1)*.5+.5};function qi(i){if(i&&typeof i=="object"){let t=i.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Gi(i){return qi(i)?i:new _e(i)}function Ei(i){return qi(i)?i:new _e(i).saturate(.5).darken(.1).hexString()}var Ca=["x","y","borderWidth","radius","tension"],Aa=["color","borderColor","backgroundColor"];function Ta(i){i.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),i.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),i.set("animations",{colors:{type:"color",properties:Aa},numbers:{type:"number",properties:Ca}}),i.describe("animations",{_fallback:"animation"}),i.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function La(i){i.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}var Ks=new Map;function Ra(i,t){t=t||{};let e=i+JSON.stringify(t),s=Ks.get(e);return s||(s=new Intl.NumberFormat(i,t),Ks.set(e,s)),s}function se(i,t,e){return Ra(t,e).format(i)}var gn={values(i){return z(i)?i:""+i},numeric(i,t,e){if(i===0)return"0";let s=this.chart.options.locale,n,o=i;if(e.length>1){let c=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(c<1e-4||c>1e15)&&(n="scientific"),o=Ea(i,e)}let a=xt(Math.abs(o)),r=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),se(i,s,l)},logarithmic(i,t,e){if(i===0)return"0";let s=e[t].significand||i/Math.pow(10,Math.floor(xt(i)));return[1,2,3,5,10,15].includes(s)||t>.8*e.length?gn.numeric.call(this,i,t,e):""}};function Ea(i,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&i!==Math.floor(i)&&(e=i-Math.floor(i)),e}var we={formatters:gn};function Ia(i){i.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:we.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),i.route("scale.ticks","color","","color"),i.route("scale.grid","color","","borderColor"),i.route("scale.border","color","","borderColor"),i.route("scale.title","color","","color"),i.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),i.describe("scales",{_fallback:"scale"}),i.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}var Dt=Object.create(null),ai=Object.create(null);function ve(i,t){if(!t)return i;let e=t.split(".");for(let s=0,n=e.length;ss.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(s,n)=>Ei(n.backgroundColor),this.hoverBorderColor=(s,n)=>Ei(n.borderColor),this.hoverColor=(s,n)=>Ei(n.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return Ii(this,t,e)}get(t){return ve(this,t)}describe(t,e){return Ii(ai,t,e)}override(t,e){return Ii(Dt,t,e)}route(t,e,s,n){let o=ve(this,t),a=ve(this,s),r="_"+e;Object.defineProperties(o,{[r]:{value:o[e],writable:!0},[e]:{enumerable:!0,get(){let l=this[r],c=a[n];return T(l)?Object.assign({},c,l):D(l,c)},set(l){this[r]=l}}})}apply(t){t.forEach(e=>e(this))}},V=new Fi({_scriptable:i=>!i.startsWith("on"),_indexable:i=>i!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[Ta,La,Ia]);function Fa(i){return!i||A(i.size)||A(i.family)?null:(i.style?i.style+" ":"")+(i.weight?i.weight+" ":"")+i.size+"px "+i.family}function Me(i,t,e,s,n){let o=t[n];return o||(o=t[n]=i.measureText(n).width,e.push(n)),o>s&&(s=o),s}function pn(i,t,e,s){s=s||{};let n=s.data=s.data||{},o=s.garbageCollect=s.garbageCollect||[];s.font!==t&&(n=s.data={},o=s.garbageCollect=[],s.font=t),i.save(),i.font=t;let a=0,r=e.length,l,c,h,d,u;for(l=0;le.length){for(l=0;l0&&i.stroke()}}function ht(i,t,e){return e=e||.5,!t||i&&i.x>t.left-e&&i.xt.top-e&&i.y0&&o.strokeColor!=="",l,c;for(i.save(),i.font=n.string,za(i,o),l=0;l+i||0;function li(i,t){let e={},s=T(t),n=s?Object.keys(t):t,o=T(i)?s?a=>D(i[a],i[t[a]]):a=>i[a]:()=>i;for(let a of n)e[a]=ja(o(a));return e}function Qi(i){return li(i,{top:"y",right:"x",bottom:"y",left:"x"})}function At(i){return li(i,["topLeft","topRight","bottomLeft","bottomRight"])}function q(i){let t=Qi(i);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function $(i,t){i=i||{},t=t||V.font;let e=D(i.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let s=D(i.style,t.style);s&&!(""+s).match(Na)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);let n={family:D(i.family,t.family),lineHeight:Ha(D(i.lineHeight,t.lineHeight),e),size:e,style:s,weight:D(i.weight,t.weight),string:""};return n.string=Fa(n),n}function oe(i,t,e,s){let n=!0,o,a,r;for(o=0,a=i.length;oe&&r===0?0:r+l;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function yt(i,t){return Object.assign(Object.create(i),t)}function ci(i,t=[""],e,s,n=()=>i[0]){let o=e||i;typeof s>"u"&&(s=vn("_fallback",i));let a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:i,_rootScopes:o,_fallback:s,_getTarget:n,override:r=>ci([r,...i],t,o,s)};return new Proxy(a,{deleteProperty(r,l){return delete r[l],delete r._keys,delete i[0][l],!0},get(r,l){return _n(r,l,()=>Za(l,t,i,r))},getOwnPropertyDescriptor(r,l){return Reflect.getOwnPropertyDescriptor(r._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(i[0])},has(r,l){return Gs(r).includes(l)},ownKeys(r){return Gs(r)},set(r,l,c){let h=r._storage||(r._storage=n());return r[l]=h[l]=c,delete r._keys,!0}})}function zt(i,t,e,s){let n={_cacheable:!1,_proxy:i,_context:t,_subProxy:e,_stack:new Set,_descriptors:ts(i,s),setContext:o=>zt(i,o,e,s),override:o=>zt(i.override(o),t,e,s)};return new Proxy(n,{deleteProperty(o,a){return delete o[a],delete i[a],!0},get(o,a,r){return _n(o,a,()=>Ya(o,a,r))},getOwnPropertyDescriptor(o,a){return o._descriptors.allKeys?Reflect.has(i,a)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(i,a)},getPrototypeOf(){return Reflect.getPrototypeOf(i)},has(o,a){return Reflect.has(i,a)},ownKeys(){return Reflect.ownKeys(i)},set(o,a,r){return i[a]=r,delete o[a],!0}})}function ts(i,t={scriptable:!0,indexable:!0}){let{_scriptable:e=t.scriptable,_indexable:s=t.indexable,_allKeys:n=t.allKeys}=i;return{allKeys:n,scriptable:e,indexable:s,isScriptable:bt(e)?e:()=>e,isIndexable:bt(s)?s:()=>s}}var $a=(i,t)=>i?i+ii(t):t,es=(i,t)=>T(t)&&i!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function _n(i,t,e){if(Object.prototype.hasOwnProperty.call(i,t)||t==="constructor")return i[t];let s=e();return i[t]=s,s}function Ya(i,t,e){let{_proxy:s,_context:n,_subProxy:o,_descriptors:a}=i,r=s[t];return bt(r)&&a.isScriptable(t)&&(r=Ua(t,r,i,e)),z(r)&&r.length&&(r=Xa(t,r,i,a.isIndexable)),es(t,r)&&(r=zt(r,n,o&&o[t],a)),r}function Ua(i,t,e,s){let{_proxy:n,_context:o,_subProxy:a,_stack:r}=e;if(r.has(i))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+i);r.add(i);let l=t(o,a||s);return r.delete(i),es(i,l)&&(l=is(n._scopes,n,i,l)),l}function Xa(i,t,e,s){let{_proxy:n,_context:o,_subProxy:a,_descriptors:r}=e;if(typeof o.index<"u"&&s(i))return t[o.index%t.length];if(T(t[0])){let l=t,c=n._scopes.filter(h=>h!==l);t=[];for(let h of l){let d=is(c,n,i,h);t.push(zt(d,o,a&&a[i],r))}}return t}function yn(i,t,e){return bt(i)?i(t,e):i}var Ka=(i,t)=>i===!0?t:typeof i=="string"?_t(t,i):void 0;function qa(i,t,e,s,n){for(let o of t){let a=Ka(e,o);if(a){i.add(a);let r=yn(a._fallback,e,n);if(typeof r<"u"&&r!==e&&r!==s)return r}else if(a===!1&&typeof s<"u"&&e!==s)return null}return!1}function is(i,t,e,s){let n=t._rootScopes,o=yn(t._fallback,e,s),a=[...i,...n],r=new Set;r.add(s);let l=qs(r,a,e,o||e,s);return l===null||typeof o<"u"&&o!==e&&(l=qs(r,a,o,l,s),l===null)?!1:ci(Array.from(r),[""],n,o,()=>Ga(t,e,s))}function qs(i,t,e,s,n){for(;e;)e=qa(i,t,e,s,n);return e}function Ga(i,t,e){let s=i._getTarget();t in s||(s[t]={});let n=s[t];return z(n)&&T(e)?e:n||{}}function Za(i,t,e,s){let n;for(let o of t)if(n=vn($a(o,i),e),typeof n<"u")return es(i,n)?is(e,s,i,n):n}function vn(i,t){for(let e of t){if(!e)continue;let s=e[i];if(typeof s<"u")return s}}function Gs(i){let t=i._keys;return t||(t=i._keys=Ja(i._scopes)),t}function Ja(i){let t=new Set;for(let e of i)for(let s of Object.keys(e).filter(n=>!n.startsWith("_")))t.add(s);return Array.from(t)}function ss(i,t,e,s){let{iScale:n}=i,{key:o="r"}=this._parsing,a=new Array(s),r,l,c,h;for(r=0,l=s;rti==="x"?"y":"x";function tr(i,t,e,s){let n=i.skip?t:i,o=t,a=e.skip?t:e,r=ti(o,n),l=ti(a,o),c=r/(r+l),h=l/(r+l);c=isNaN(c)?0:c,h=isNaN(h)?0:h;let d=s*c,u=s*h;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function er(i,t,e){let s=i.length,n,o,a,r,l,c=Jt(i,0);for(let h=0;h!c.skip)),t.cubicInterpolationMode==="monotone")sr(i,n);else{let c=s?i[i.length-1]:i[0];for(o=0,a=i.length;oi.ownerDocument.defaultView.getComputedStyle(i,null);function or(i,t){return ui(i).getPropertyValue(t)}var ar=["top","right","bottom","left"];function Ft(i,t,e){let s={};e=e?"-"+e:"";for(let n=0;n<4;n++){let o=ar[n];s[o]=parseFloat(i[t+"-"+o+e])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}var rr=(i,t,e)=>(i>0||t>0)&&(!e||!e.shadowRoot);function lr(i,t){let e=i.touches,s=e&&e.length?e[0]:i,{offsetX:n,offsetY:o}=s,a=!1,r,l;if(rr(n,o,i.target))r=n,l=o;else{let c=t.getBoundingClientRect();r=s.clientX-c.left,l=s.clientY-c.top,a=!0}return{x:r,y:l,box:a}}function Tt(i,t){if("native"in i)return i;let{canvas:e,currentDevicePixelRatio:s}=t,n=ui(e),o=n.boxSizing==="border-box",a=Ft(n,"padding"),r=Ft(n,"border","width"),{x:l,y:c,box:h}=lr(i,e),d=a.left+(h&&r.left),u=a.top+(h&&r.top),{width:f,height:g}=t;return o&&(f-=a.width+r.width,g-=a.height+r.height),{x:Math.round((l-d)/f*e.width/s),y:Math.round((c-u)/g*e.height/s)}}function cr(i,t,e){let s,n;if(t===void 0||e===void 0){let o=i&&di(i);if(!o)t=i.clientWidth,e=i.clientHeight;else{let a=o.getBoundingClientRect(),r=ui(o),l=Ft(r,"border","width"),c=Ft(r,"padding");t=a.width-c.width-l.width,e=a.height-c.height-l.height,s=ei(r.maxWidth,o,"clientWidth"),n=ei(r.maxHeight,o,"clientHeight")}}return{width:t,height:e,maxWidth:s||Qe,maxHeight:n||Qe}}var Ge=i=>Math.round(i*10)/10;function wn(i,t,e,s){let n=ui(i),o=Ft(n,"margin"),a=ei(n.maxWidth,i,"clientWidth")||Qe,r=ei(n.maxHeight,i,"clientHeight")||Qe,l=cr(i,t,e),{width:c,height:h}=l;if(n.boxSizing==="content-box"){let u=Ft(n,"border","width"),f=Ft(n,"padding");c-=f.width+u.width,h-=f.height+u.height}return c=Math.max(0,c-o.width),h=Math.max(0,s?c/s:h-o.height),c=Ge(Math.min(c,a,l.maxWidth)),h=Ge(Math.min(h,r,l.maxHeight)),c&&!h&&(h=Ge(c/2)),(t!==void 0||e!==void 0)&&s&&l.height&&h>l.height&&(h=l.height,c=Ge(Math.floor(h*s))),{width:c,height:h}}function ns(i,t,e){let s=t||1,n=Math.floor(i.height*s),o=Math.floor(i.width*s);i.height=Math.floor(i.height),i.width=Math.floor(i.width);let a=i.canvas;return a.style&&(e||!a.style.height&&!a.style.width)&&(a.style.height=`${i.height}px`,a.style.width=`${i.width}px`),i.currentDevicePixelRatio!==s||a.height!==n||a.width!==o?(i.currentDevicePixelRatio=s,a.height=n,a.width=o,i.ctx.setTransform(s,0,0,s,0,0),!0):!1}var Sn=function(){let i=!1;try{let t={get passive(){return i=!0,!1}};hi()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return i}();function os(i,t){let e=or(i,t),s=e&&e.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function Pt(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:i.y+e*(t.y-i.y)}}function Pn(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:s==="middle"?e<.5?i.y:t.y:s==="after"?e<1?i.y:t.y:e>0?t.y:i.y}}function Dn(i,t,e,s){let n={x:i.cp2x,y:i.cp2y},o={x:t.cp1x,y:t.cp1y},a=Pt(i,n,e),r=Pt(n,o,e),l=Pt(o,t,e),c=Pt(a,r,e),h=Pt(r,l,e);return Pt(c,h,e)}var hr=function(i,t){return{x(e){return i+i+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,s){return e-s},leftForLtr(e,s){return e-s}}},dr=function(){return{x(i){return i},setWidth(i){},textAlign(i){return i},xPlus(i,t){return i+t},leftForLtr(i,t){return i}}};function Vt(i,t,e){return i?hr(t,e):dr()}function as(i,t){let e,s;(t==="ltr"||t==="rtl")&&(e=i.canvas.style,s=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),i.prevTextDirection=s)}function rs(i,t){t!==void 0&&(delete i.prevTextDirection,i.canvas.style.setProperty("direction",t[0],t[1]))}function On(i){return i==="angle"?{between:ie,compare:Oa,normalize:X}:{between:ut,compare:(t,e)=>t-e,normalize:t=>t}}function Zs({start:i,end:t,count:e,loop:s,style:n}){return{start:i%e,end:t%e,loop:s&&(t-i+1)%e===0,style:n}}function ur(i,t,e){let{property:s,start:n,end:o}=e,{between:a,normalize:r}=On(s),l=t.length,{start:c,end:h,loop:d}=i,u,f;if(d){for(c+=l,h+=l,u=0,f=l;ul(n,v,b)&&r(n,v)!==0,_=()=>r(o,b)===0||l(o,v,b),k=()=>p||y(),w=()=>!p||_();for(let S=h,P=h;S<=d;++S)x=t[S%a],!x.skip&&(b=c(x[s]),b!==v&&(p=l(b,n,o),m===null&&k()&&(m=r(b,n)===0?S:P),m!==null&&w()&&(g.push(Zs({start:m,end:S,loop:u,count:a,style:f})),m=null),P=S,v=b));return m!==null&&g.push(Zs({start:m,end:d,loop:u,count:a,style:f})),g}function cs(i,t){let e=[],s=i.segments;for(let n=0;nn&&i[o%t].skip;)o--;return o%=t,{start:n,end:o}}function gr(i,t,e,s){let n=i.length,o=[],a=t,r=i[t],l;for(l=t+1;l<=e;++l){let c=i[l%n];c.skip||c.stop?r.skip||(s=!1,o.push({start:t%n,end:(l-1)%n,loop:s}),t=a=c.stop?l:null):(a=l,r.skip&&(t=l)),r=c}return a!==null&&o.push({start:t%n,end:a%n,loop:s}),o}function Cn(i,t){let e=i.points,s=i.options.spanGaps,n=e.length;if(!n)return[];let o=!!i._loop,{start:a,end:r}=fr(e,n,o,s);if(s===!0)return Js(i,[{start:a,end:r,loop:o}],e,t);let l=rr({chart:t,initial:e.initial,numSteps:a,currentStep:Math.min(s-e.start,a)}))}_refresh(){this._request||(this._running=!0,this._request=Yi.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((s,n)=>{if(!s.running||!s.items.length)return;let o=s.items,a=o.length-1,r=!1,l;for(;a>=0;--a)l=o[a],l._active?(l._total>s.duration&&(s.duration=l._total),l.tick(t),r=!0):(o[a]=o[o.length-1],o.pop());r&&(n.draw(),this._notify(n,s,t,"progress")),o.length||(s.running=!1,this._notify(n,s,t,"complete"),s.initial=!1),e+=o.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){let e=this._charts,s=e.get(t);return s||(s={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,s)),s}listen(t,e,s){this._getAnims(t).listeners[e].push(s)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){let e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((s,n)=>Math.max(s,n._duration),0),this._refresh())}running(t){if(!this._running)return!1;let e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){let e=this._charts.get(t);if(!e||!e.items.length)return;let s=e.items,n=s.length-1;for(;n>=0;--n)s[n].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}},vt=new Ms,An="transparent",xr={boolean(i,t,e){return e>.5?t:i},color(i,t,e){let s=Gi(i||An),n=s.valid&&Gi(t||An);return n&&n.valid?n.mix(s,e).hexString():t},number(i,t,e){return i+(t-i)*e}},ks=class{constructor(t,e,s,n){let o=e[s];n=oe([t.to,n,o,t.from]);let a=oe([t.from,o,n]);this._active=!0,this._fn=t.fn||xr[t.type||typeof a],this._easing=Gt[t.easing]||Gt.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=s,this._from=a,this._to=n,this._promises=void 0}active(){return this._active}update(t,e,s){if(this._active){this._notify(!1);let n=this._target[this._prop],o=s-this._start,a=this._duration-o;this._start=s,this._duration=Math.floor(Math.max(a,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=oe([t.to,e,n,t.from]),this._from=oe([t.from,n,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){let e=t-this._start,s=this._duration,n=this._prop,o=this._from,a=this._loop,r=this._to,l;if(this._active=o!==r&&(a||e1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[n]=this._fn(o,r,l)}wait(){let t=this._promises||(this._promises=[]);return new Promise((e,s)=>{t.push({res:e,rej:s})})}_notify(t){let e=t?"res":"rej",s=this._promises||[];for(let n=0;n{let o=t[n];if(!T(o))return;let a={};for(let r of e)a[r]=o[r];(z(o.properties)&&o.properties||[n]).forEach(r=>{(r===n||!s.has(r))&&s.set(r,a)})})}_animateOptions(t,e){let s=e.options,n=yr(t,s);if(!n)return[];let o=this._createAnimations(n,s);return s.$shared&&_r(t.options.$animations,s).then(()=>{t.options=s},()=>{}),o}_createAnimations(t,e){let s=this._properties,n=[],o=t.$animations||(t.$animations={}),a=Object.keys(e),r=Date.now(),l;for(l=a.length-1;l>=0;--l){let c=a[l];if(c.charAt(0)==="$")continue;if(c==="options"){n.push(...this._animateOptions(t,e));continue}let h=e[c],d=o[c],u=s.get(c);if(d)if(u&&d.active()){d.update(u,h,r);continue}else d.cancel();if(!u||!u.duration){t[c]=h;continue}o[c]=d=new ks(u,t,c,h),n.push(d)}return n}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}let s=this._createAnimations(t,e);if(s.length)return vt.add(this._chart,s),!0}};function _r(i,t){let e=[],s=Object.keys(t);for(let n=0;n0||!e&&o<0)return n.index}return null}function En(i,t){let{chart:e,_cachedMeta:s}=i,n=e._stacks||(e._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,c=a.axis,h=wr(o,a,s),d=t.length,u;for(let f=0;fe[s].axis===t).shift()}function Dr(i,t){return yt(i,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Or(i,t,e){return yt(i,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function De(i,t){let e=i.controller.index,s=i.vScale&&i.vScale.axis;if(s){t=t||i._parsed;for(let n of t){let o=n._stacks;if(!o||o[s]===void 0||o[s][e]===void 0)return;delete o[s][e],o[s]._visualValues!==void 0&&o[s]._visualValues[e]!==void 0&&delete o[s]._visualValues[e]}}}var fs=i=>i==="reset"||i==="none",In=(i,t)=>t?i:Object.assign({},i),Cr=(i,t,e)=>i&&!t.hidden&&t._stacked&&{keys:Ao(e,!0),values:null},it=class{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){let t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=ds(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&De(this._cachedMeta),this.index=t}linkScales(){let t=this.chart,e=this._cachedMeta,s=this.getDataset(),n=(d,u,f,g)=>d==="x"?u:d==="r"?g:f,o=e.xAxisID=D(s.xAxisID,us(t,"x")),a=e.yAxisID=D(s.yAxisID,us(t,"y")),r=e.rAxisID=D(s.rAxisID,us(t,"r")),l=e.indexAxis,c=e.iAxisID=n(l,o,a,r),h=e.vAxisID=n(l,a,o,r);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(a),e.rScale=this.getScaleForId(r),e.iScale=this.getScaleForId(c),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){let e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){let t=this._cachedMeta;this._data&&ji(this._data,this),t._stacked&&De(t)}_dataCheck(){let t=this.getDataset(),e=t.data||(t.data=[]),s=this._data;if(T(e)){let n=this._cachedMeta;this._data=kr(e,n)}else if(s!==e){if(s){ji(s,this);let n=this._cachedMeta;De(n),n._parsed=[]}e&&Object.isExtensible(e)&&dn(e,this),this._syncList=[],this._data=e}}addElements(){let t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){let e=this._cachedMeta,s=this.getDataset(),n=!1;this._dataCheck();let o=e._stacked;e._stacked=ds(e.vScale,e),e.stack!==s.stack&&(n=!0,De(e),e.stack=s.stack),this._resyncElements(t),(n||o!==e._stacked)&&(En(this,e._parsed),e._stacked=ds(e.vScale,e))}configure(){let t=this.chart.config,e=t.datasetScopeKeys(this._type),s=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(s,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){let{_cachedMeta:s,_data:n}=this,{iScale:o,_stacked:a}=s,r=o.axis,l=t===0&&e===n.length?!0:s._sorted,c=t>0&&s._parsed[t-1],h,d,u;if(this._parsing===!1)s._parsed=n,s._sorted=!0,u=n;else{z(n[t])?u=this.parseArrayData(s,n,t,e):T(n[t])?u=this.parseObjectData(s,n,t,e):u=this.parsePrimitiveData(s,n,t,e);let f=()=>d[r]===null||c&&d[r]p||d=0;--u)if(!g()){this.updateRangeFromParsed(c,t,f,l);break}}return c}getAllParsedValues(t){let e=this._cachedMeta._parsed,s=[],n,o,a;for(n=0,o=e.length;n=0&&tthis.getContext(s,n,e),p=c.resolveNamedOptions(u,f,g,d);return p.$shared&&(p.$shared=l,o[a]=Object.freeze(In(p,l))),p}_resolveAnimations(t,e,s){let n=this.chart,o=this._cachedDataOpts,a=`animation-${e}`,r=o[a];if(r)return r;let l;if(n.options.animation!==!1){let h=this.chart.config,d=h.datasetAnimationScopeKeys(this._type,e),u=h.getOptionScopes(this.getDataset(),d);l=h.createResolver(u,this.getContext(t,s,e))}let c=new vi(n,l&&l.animations);return l&&l._cacheable&&(o[a]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||fs(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){let s=this.resolveDataElementOptions(t,e),n=this._sharedOptions,o=this.getSharedOptions(s),a=this.includeOptions(e,o)||o!==n;return this.updateSharedOptions(o,e,s),{sharedOptions:o,includeOptions:a}}updateElement(t,e,s,n){fs(n)?Object.assign(t,s):this._resolveAnimations(e,n).update(t,s)}updateSharedOptions(t,e,s){t&&!fs(e)&&this._resolveAnimations(void 0,e).update(t,s)}_setStyle(t,e,s,n){t.active=n;let o=this.getStyle(e,n);this._resolveAnimations(e,s,n).update(t,{options:!n&&this.getSharedOptions(o)||o})}removeHoverStyle(t,e,s){this._setStyle(t,s,"active",!1)}setHoverStyle(t,e,s){this._setStyle(t,s,"active",!0)}_removeDatasetHoverStyle(){let t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){let t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){let e=this._data,s=this._cachedMeta.data;for(let[r,l,c]of this._syncList)this[r](l,c);this._syncList=[];let n=s.length,o=e.length,a=Math.min(o,n);a&&this.parse(0,a),o>n?this._insertElements(n,o-n,t):o{for(c.length+=e,r=c.length-1;r>=a;r--)c[r]=c[r-e]};for(l(o),r=t;rn-o))}return i._cache.$bar}function Tr(i){let t=i.iScale,e=Ar(t,i.type),s=t._length,n,o,a,r,l=()=>{a===32767||a===-32768||(te(r)&&(s=Math.min(s,Math.abs(a-r)||s)),r=a)};for(n=0,o=e.length;n0?n[i-1]:null,r=iMath.abs(r)&&(l=r,c=a),t[e.axis]=c,t._custom={barStart:l,barEnd:c,start:n,end:o,min:a,max:r}}function To(i,t,e,s){return z(i)?Er(i,t,e,s):t[e.axis]=e.parse(i,s),t}function Fn(i,t,e,s){let n=i.iScale,o=i.vScale,a=n.getLabels(),r=n===o,l=[],c,h,d,u;for(c=e,h=e+s;c=e?1:-1)}function Fr(i){let t,e,s,n,o;return i.horizontal?(t=i.base>i.x,e="left",s="right"):(t=i.baseh.controller.options.grouped),o=s.options.stacked,a=[],r=this._cachedMeta.controller.getParsed(e),l=r&&r[s.axis],c=h=>{let d=h._parsed.find(f=>f[s.axis]===l),u=d&&d[h.vScale.axis];if(A(u)||isNaN(u))return!0};for(let h of n)if(!(e!==void 0&&c(h))&&((o===!1||a.indexOf(h.stack)===-1||o===void 0&&h.stack===void 0)&&a.push(h.stack),h.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){let t=this.chart.scales,e=this.chart.options.indexAxis;return Object.keys(t).filter(s=>t[s].axis===e).shift()}_getAxis(){let t={},e=this.getFirstScaleIdForIndexAxis();for(let s of this.chart.data.datasets)t[D(this.chart.options.indexAxis==="x"?s.xAxisID:s.yAxisID,e)]=!0;return Object.keys(t)}_getStackIndex(t,e,s){let n=this._getStacks(t,s),o=e!==void 0?n.indexOf(e):-1;return o===-1?n.length-1:o}_getRuler(){let t=this.options,e=this._cachedMeta,s=e.iScale,n=[],o,a;for(o=0,a=e.data.length;o=0;--s)e=Math.max(e,t[s].size(this.resolveDataElementOptions(s))/2);return e>0&&e}getLabelAndValue(t){let e=this._cachedMeta,s=this.chart.data.labels||[],{xScale:n,yScale:o}=e,a=this.getParsed(t),r=n.getLabelForValue(a.x),l=o.getLabelForValue(a.y),c=a._custom;return{label:s[t]||"",value:"("+r+", "+l+(c?", "+c:"")+")"}}update(t){let e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,s,n){let o=n==="reset",{iScale:a,vScale:r}=this._cachedMeta,{sharedOptions:l,includeOptions:c}=this._getSharedOptions(e,n),h=a.axis,d=r.axis;for(let u=e;uie(v,r,l,!0)?1:Math.max(y,y*e,_,_*e),g=(v,y,_)=>ie(v,r,l,!0)?-1:Math.min(y,y*e,_,_*e),p=f(0,c,d),m=f(H,h,u),b=g(R,c,d),x=g(R+H,h,u);s=(p-b)/2,n=(m-x)/2,o=-(p+b)/2,a=-(m+x)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}var kt=class extends it{constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){let s=this.getDataset().data,n=this._cachedMeta;if(this._parsing===!1)n._parsed=s;else{let o=l=>+s[l];if(T(s[t])){let{key:l="value"}=this._parsing;o=c=>+_t(s[c],l)}let a,r;for(a=t,r=t+e;a0&&!isNaN(t)?B*(Math.abs(t)/e):0}getLabelAndValue(t){let e=this._cachedMeta,s=this.chart,n=s.data.labels||[],o=se(e._parsed[t],s.options.locale);return{label:n[t]||"",value:o}}getMaxBorderWidth(t){let e=0,s=this.chart,n,o,a,r,l;if(!t){for(n=0,o=s.data.datasets.length;nt!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")}),M(kt,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){let e=t.data;if(e.labels.length&&e.datasets.length){let{labels:{pointStyle:s,color:n}}=t.legend.options;return e.labels.map((o,a)=>{let l=t.getDatasetMeta(0).controller.getStyle(a);return{text:o,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:n,lineWidth:l.borderWidth,pointStyle:s,hidden:!t.getDataVisibility(a),index:a}})}return[]}},onClick(t,e,s){s.chart.toggleDataVisibility(e.index),s.chart.update()}}}});var ce=class extends it{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){let e=this._cachedMeta,{dataset:s,data:n=[],_dataset:o}=e,a=this.chart._animationsDisabled,{start:r,count:l}=Xi(e,n,a);this._drawStart=r,this._drawCount=l,Ki(e)&&(r=0,l=n.length),s._chart=this.chart,s._datasetIndex=this.index,s._decimated=!!o._decimated,s.points=n;let c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(s,void 0,{animated:!a,options:c},t),this.updateElements(n,r,l,t)}updateElements(t,e,s,n){let o=n==="reset",{iScale:a,vScale:r,_stacked:l,_dataset:c}=this._cachedMeta,{sharedOptions:h,includeOptions:d}=this._getSharedOptions(e,n),u=a.axis,f=r.axis,{spanGaps:g,segment:p}=this.options,m=Bt(g)?g:Number.POSITIVE_INFINITY,b=this.chart._animationsDisabled||o||n==="none",x=e+s,v=t.length,y=e>0&&this.getParsed(e-1);for(let _=0;_=x){w.skip=!0;continue}let S=this.getParsed(_),P=A(S[f]),O=w[u]=a.getPixelForValue(S[u],_),C=w[f]=o||P?r.getBasePixel():r.getPixelForValue(l?this.applyStack(r,S,l):S[f],_);w.skip=isNaN(O)||isNaN(C)||P,w.stop=_>0&&Math.abs(S[u]-y[u])>m,p&&(w.parsed=S,w.raw=c.data[_]),d&&(w.options=h||this.resolveDataElementOptions(_,k.active?"active":n)),b||this.updateElement(k,_,w,n),y=S}}getMaxOverflow(){let t=this._cachedMeta,e=t.dataset,s=e.options&&e.options.borderWidth||0,n=t.data||[];if(!n.length)return s;let o=n[0].size(this.resolveDataElementOptions(0)),a=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(s,o,a)/2}draw(){let t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}};M(ce,"id","line"),M(ce,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),M(ce,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});var $t=class extends it{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){let e=this._cachedMeta,s=this.chart,n=s.data.labels||[],o=se(e._parsed[t].r,s.options.locale);return{label:n[t]||"",value:o}}parseObjectData(t,e,s,n){return ss.bind(this)(t,e,s,n)}update(t){let e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){let t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((s,n)=>{let o=this.getParsed(n).r;!isNaN(o)&&this.chart.getDataVisibility(n)&&(oe.max&&(e.max=o))}),e}_updateRadius(){let t=this.chart,e=t.chartArea,s=t.options,n=Math.min(e.right-e.left,e.bottom-e.top),o=Math.max(n/2,0),a=Math.max(s.cutoutPercentage?o/100*s.cutoutPercentage:1,0),r=(o-a)/t.getVisibleDatasetCount();this.outerRadius=o-r*this.index,this.innerRadius=this.outerRadius-r}updateElements(t,e,s,n){let o=n==="reset",a=this.chart,l=a.options.animation,c=this._cachedMeta.rScale,h=c.xCenter,d=c.yCenter,u=c.getIndexAngle(0)-.5*R,f=u,g,p=360/this.countVisibleElements();for(g=0;g{!isNaN(this.getParsed(n).r)&&this.chart.getDataVisibility(n)&&e++}),e}_computeAngle(t,e,s){return this.chart.getDataVisibility(t)?ot(this.resolveDataElementOptions(t,e).angle||s):0}};M($t,"id","polarArea"),M($t,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),M($t,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){let e=t.data;if(e.labels.length&&e.datasets.length){let{labels:{pointStyle:s,color:n}}=t.legend.options;return e.labels.map((o,a)=>{let l=t.getDatasetMeta(0).controller.getStyle(a);return{text:o,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:n,lineWidth:l.borderWidth,pointStyle:s,hidden:!t.getDataVisibility(a),index:a}})}return[]}},onClick(t,e,s){s.chart.toggleDataVisibility(e.index),s.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});var Le=class extends kt{};M(Le,"id","pie"),M(Le,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});var he=class extends it{getLabelAndValue(t){let e=this._cachedMeta.vScale,s=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(s[e.axis])}}parseObjectData(t,e,s,n){return ss.bind(this)(t,e,s,n)}update(t){let e=this._cachedMeta,s=e.dataset,n=e.data||[],o=e.iScale.getLabels();if(s.points=n,t!=="resize"){let a=this.resolveDatasetElementOptions(t);this.options.showLine||(a.borderWidth=0);let r={_loop:!0,_fullLoop:o.length===n.length,options:a};this.updateElement(s,void 0,r,t)}this.updateElements(n,0,n.length,t)}updateElements(t,e,s,n){let o=this._cachedMeta.rScale,a=n==="reset";for(let r=e;r0&&this.getParsed(e-1);for(let y=e;y0&&Math.abs(k[f]-v[f])>b,m&&(w.parsed=k,w.raw=c.data[y]),u&&(w.options=d||this.resolveDataElementOptions(y,_.active?"active":n)),x||this.updateElement(_,y,w,n),v=k}this.updateSharedOptions(d,n,h)}getMaxOverflow(){let t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let r=0;for(let l=e.length-1;l>=0;--l)r=Math.max(r,e[l].size(this.resolveDataElementOptions(l))/2);return r>0&&r}let s=t.dataset,n=s.options&&s.options.borderWidth||0;if(!e.length)return n;let o=e[0].size(this.resolveDataElementOptions(0)),a=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(n,o,a)/2}};M(de,"id","scatter"),M(de,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),M(de,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});var Nr=Object.freeze({__proto__:null,BarController:re,BubbleController:le,DoughnutController:kt,LineController:ce,PieController:Le,PolarAreaController:$t,RadarController:he,ScatterController:de});function Wt(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}var ws=class i{constructor(t){M(this,"options");this.options=t||{}}static override(t){Object.assign(i.prototype,t)}init(){}formats(){return Wt()}parse(){return Wt()}format(){return Wt()}add(){return Wt()}diff(){return Wt()}startOf(){return Wt()}endOf(){return Wt()}},Hr={_date:ws};function jr(i,t,e,s){let{controller:n,data:o,_sorted:a}=i,r=n._cachedMeta.iScale,l=i.dataset&&i.dataset.options?i.dataset.options.spanGaps:null;if(r&&t===r.axis&&t!=="r"&&a&&o.length){let c=r._reversePixels?ln:ct;if(s){if(n._sharedOptions){let h=o[0],d=typeof h.getRange=="function"&&h.getRange(t);if(d){let u=c(o,t,e-d),f=c(o,t,e+d);return{lo:u.lo,hi:f.hi}}}}else{let h=c(o,t,e);if(l){let{vScale:d}=n._cachedMeta,{_parsed:u}=i,f=u.slice(0,h.lo+1).reverse().findIndex(p=>!A(p[d.axis]));h.lo-=Math.max(0,f);let g=u.slice(h.hi).findIndex(p=>!A(p[d.axis]));h.hi+=Math.max(0,g)}return h}}return{lo:0,hi:o.length-1}}function je(i,t,e,s,n){let o=i.getSortedVisibleDatasetMetas(),a=e[t];for(let r=0,l=o.length;r{l[a]&&l[a](t[e],n)&&(o.push({element:l,datasetIndex:c,index:h}),r=r||l.inRange(t.x,t.y,n))}),s&&!r?[]:o}var Xr={evaluateInteractionItems:je,modes:{index(i,t,e,s){let n=Tt(t,i),o=e.axis||"x",a=e.includeInvisible||!1,r=e.intersect?ps(i,n,o,s,a):ms(i,n,o,!1,s,a),l=[];return r.length?(i.getSortedVisibleDatasetMetas().forEach(c=>{let h=r[0].index,d=c.data[h];d&&!d.skip&&l.push({element:d,datasetIndex:c.index,index:h})}),l):[]},dataset(i,t,e,s){let n=Tt(t,i),o=e.axis||"xy",a=e.includeInvisible||!1,r=e.intersect?ps(i,n,o,s,a):ms(i,n,o,!1,s,a);if(r.length>0){let l=r[0].datasetIndex,c=i.getDatasetMeta(l).data;r=[];for(let h=0;he.pos===t)}function Wn(i,t){return i.filter(e=>Lo.indexOf(e.pos)===-1&&e.box.axis===t)}function Ce(i,t){return i.sort((e,s)=>{let n=t?s:e,o=t?e:s;return n.weight===o.weight?n.index-o.index:n.weight-o.weight})}function Kr(i){let t=[],e,s,n,o,a,r;for(e=0,s=(i||[]).length;ec.box.fullSize),!0),s=Ce(Oe(t,"left"),!0),n=Ce(Oe(t,"right")),o=Ce(Oe(t,"top"),!0),a=Ce(Oe(t,"bottom")),r=Wn(t,"x"),l=Wn(t,"y");return{fullSize:e,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:Oe(t,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}function Nn(i,t,e,s){return Math.max(i[e],t[e])+Math.max(i[s],t[s])}function Ro(i,t){i.top=Math.max(i.top,t.top),i.left=Math.max(i.left,t.left),i.bottom=Math.max(i.bottom,t.bottom),i.right=Math.max(i.right,t.right)}function Jr(i,t,e,s){let{pos:n,box:o}=e,a=i.maxPadding;if(!T(n)){e.size&&(i[n]-=e.size);let d=s[e.stack]||{size:0,count:1};d.size=Math.max(d.size,e.horizontal?o.height:o.width),e.size=d.size/d.count,i[n]+=e.size}o.getPadding&&Ro(a,o.getPadding());let r=Math.max(0,t.outerWidth-Nn(a,i,"left","right")),l=Math.max(0,t.outerHeight-Nn(a,i,"top","bottom")),c=r!==i.w,h=l!==i.h;return i.w=r,i.h=l,e.horizontal?{same:c,other:h}:{same:h,other:c}}function Qr(i){let t=i.maxPadding;function e(s){let n=Math.max(t[s]-i[s],0);return i[s]+=n,n}i.y+=e("top"),i.x+=e("left"),e("right"),e("bottom")}function tl(i,t){let e=t.maxPadding;function s(n){let o={left:0,top:0,right:0,bottom:0};return n.forEach(a=>{o[a]=Math.max(t[a],e[a])}),o}return s(i?["left","right"]:["top","bottom"])}function Re(i,t,e,s){let n=[],o,a,r,l,c,h;for(o=0,a=i.length,c=0;o{typeof p.beforeLayout=="function"&&p.beforeLayout()});let h=l.reduce((p,m)=>m.box.options&&m.box.options.display===!1?p:p+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:e,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/h,hBoxMaxHeight:a/2}),u=Object.assign({},n);Ro(u,q(s));let f=Object.assign({maxPadding:u,w:o,h:a,x:n.left,y:n.top},n),g=Gr(l.concat(c),d);Re(r.fullSize,f,d,g),Re(l,f,d,g),Re(c,f,d,g)&&Re(l,f,d,g),Qr(f),Hn(r.leftAndTop,f,d,g),f.x+=f.w,f.y+=f.h,Hn(r.rightAndBottom,f,d,g),i.chartArea={left:f.left,top:f.top,right:f.left+f.w,bottom:f.top+f.h,height:f.h,width:f.w},E(r.chartArea,p=>{let m=p.box;Object.assign(m,i.chartArea),m.update(f.w,f.h,{left:0,top:0,right:0,bottom:0})})}},Mi=class{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,s){}removeEventListener(t,e,s){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,s,n){return e=Math.max(0,e||t.width),s=s||t.height,{width:e,height:Math.max(0,n?Math.floor(e/n):s)}}isAttached(t){return!0}updateConfig(t){}},Ss=class extends Mi{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}},_i="$chartjs",el={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},jn=i=>i===null||i==="";function il(i,t){let e=i.style,s=i.getAttribute("height"),n=i.getAttribute("width");if(i[_i]={initial:{height:s,width:n,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",jn(n)){let o=os(i,"width");o!==void 0&&(i.width=o)}if(jn(s))if(i.style.height==="")i.height=i.width/(t||2);else{let o=os(i,"height");o!==void 0&&(i.height=o)}return i}var Eo=Sn?{passive:!0}:!1;function sl(i,t,e){i&&i.addEventListener(t,e,Eo)}function nl(i,t,e){i&&i.canvas&&i.canvas.removeEventListener(t,e,Eo)}function ol(i,t){let e=el[i.type]||i.type,{x:s,y:n}=Tt(i,t);return{type:e,chart:t,native:i,x:s!==void 0?s:null,y:n!==void 0?n:null}}function ki(i,t){for(let e of i)if(e===t||e.contains(t))return!0}function al(i,t,e){let s=i.canvas,n=new MutationObserver(o=>{let a=!1;for(let r of o)a=a||ki(r.addedNodes,s),a=a&&!ki(r.removedNodes,s);a&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}function rl(i,t,e){let s=i.canvas,n=new MutationObserver(o=>{let a=!1;for(let r of o)a=a||ki(r.removedNodes,s),a=a&&!ki(r.addedNodes,s);a&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}var We=new Map,$n=0;function Io(){let i=window.devicePixelRatio;i!==$n&&($n=i,We.forEach((t,e)=>{e.currentDevicePixelRatio!==i&&t()}))}function ll(i,t){We.size||window.addEventListener("resize",Io),We.set(i,t)}function cl(i){We.delete(i),We.size||window.removeEventListener("resize",Io)}function hl(i,t,e){let s=i.canvas,n=s&&di(s);if(!n)return;let o=Ui((r,l)=>{let c=n.clientWidth;e(r,l),c{let l=r[0],c=l.contentRect.width,h=l.contentRect.height;c===0&&h===0||o(c,h)});return a.observe(n),ll(i,o),a}function bs(i,t,e){e&&e.disconnect(),t==="resize"&&cl(i)}function dl(i,t,e){let s=i.canvas,n=Ui(o=>{i.ctx!==null&&e(ol(o,i))},i);return sl(s,t,n),n}var Ps=class extends Mi{acquireContext(t,e){let s=t&&t.getContext&&t.getContext("2d");return s&&s.canvas===t?(il(t,e),s):null}releaseContext(t){let e=t.canvas;if(!e[_i])return!1;let s=e[_i].initial;["height","width"].forEach(o=>{let a=s[o];A(a)?e.removeAttribute(o):e.setAttribute(o,a)});let n=s.style||{};return Object.keys(n).forEach(o=>{e.style[o]=n[o]}),e.width=e.width,delete e[_i],!0}addEventListener(t,e,s){this.removeEventListener(t,e);let n=t.$proxies||(t.$proxies={}),a={attach:al,detach:rl,resize:hl}[e]||dl;n[e]=a(t,e,s)}removeEventListener(t,e){let s=t.$proxies||(t.$proxies={}),n=s[e];if(!n)return;({attach:bs,detach:bs,resize:bs}[e]||nl)(t,e,n),s[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,s,n){return wn(t,e,s,n)}isAttached(t){let e=t&&di(t);return!!(e&&e.isConnected)}};function ul(i){return!hi()||typeof OffscreenCanvas<"u"&&i instanceof OffscreenCanvas?Ss:Ps}var st=class{constructor(){M(this,"x");M(this,"y");M(this,"active",!1);M(this,"options");M(this,"$animations")}tooltipPosition(t){let{x:e,y:s}=this.getProps(["x","y"],t);return{x:e,y:s}}hasValue(){return Bt(this.x)&&Bt(this.y)}getProps(t,e){let s=this.$animations;if(!e||!s)return this;let n={};return t.forEach(o=>{n[o]=s[o]&&s[o].active()?s[o]._to:this[o]}),n}};M(st,"defaults",{}),M(st,"defaultRoutes");function fl(i,t){let e=i.options.ticks,s=gl(i),n=Math.min(e.maxTicksLimit||s,s),o=e.major.enabled?ml(t):[],a=o.length,r=o[0],l=o[a-1],c=[];if(a>n)return bl(t,c,o,a/n),c;let h=pl(o,t,n);if(a>0){let d,u,f=a>1?Math.round((l-r)/(a-1)):null;for(gi(t,c,h,A(f)?0:r-f,r),d=0,u=a-1;dn)return l}return Math.max(n,1)}function ml(i){let t=[],e,s;for(e=0,s=i.length;ei==="left"?"right":i==="right"?"left":i,Yn=(i,t,e)=>t==="top"||t==="left"?i[t]+e:i[t]-e,Un=(i,t)=>Math.min(t||i,i);function Xn(i,t){let e=[],s=i.length/t,n=i.length,o=0;for(;oa+r)))return l}function vl(i,t){E(i,e=>{let s=e.gc,n=s.length/2,o;if(n>t){for(o=0;os?s:e,s=n&&e>s?e:s,{min:J(e,J(s,e)),max:J(s,J(e,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){let t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){F(this.options.beforeUpdate,[this])}update(t,e,s){let{beginAtZero:n,grace:o,ticks:a}=this.options,r=a.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=s=Object.assign({left:0,right:0,top:0,bottom:0},s),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+s.left+s.right:this.height+s.top+s.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=xn(this,o,n),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();let l=r=o||s<=1||!this.isHorizontal()){this.labelRotation=n;return}let h=this._getLabelSizes(),d=h.widest.width,u=h.highest.height,f=Y(this.chart.width-d,0,this.maxWidth);r=t.offset?this.maxWidth/s:f/(s-1),d+6>r&&(r=f/(s-(t.offset?.5:1)),l=this.maxHeight-Ae(t.grid)-e.padding-Kn(t.title,this.chart.options.font),c=Math.sqrt(d*d+u*u),a=si(Math.min(Math.asin(Y((h.highest.height+6)/r,-1,1)),Math.asin(Y(l/c,-1,1))-Math.asin(Y(u/c,-1,1)))),a=Math.max(n,Math.min(o,a))),this.labelRotation=a}afterCalculateLabelRotation(){F(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){F(this.options.beforeFit,[this])}fit(){let t={width:0,height:0},{chart:e,options:{ticks:s,title:n,grid:o}}=this,a=this._isVisible(),r=this.isHorizontal();if(a){let l=Kn(n,e.options.font);if(r?(t.width=this.maxWidth,t.height=Ae(o)+l):(t.height=this.maxHeight,t.width=Ae(o)+l),s.display&&this.ticks.length){let{first:c,last:h,widest:d,highest:u}=this._getLabelSizes(),f=s.padding*2,g=ot(this.labelRotation),p=Math.cos(g),m=Math.sin(g);if(r){let b=s.mirror?0:m*d.width+p*u.height;t.height=Math.min(this.maxHeight,t.height+b+f)}else{let b=s.mirror?0:p*d.width+m*u.height;t.width=Math.min(this.maxWidth,t.width+b+f)}this._calculatePadding(c,h,m,p)}}this._handleMargins(),r?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,s,n){let{ticks:{align:o,padding:a},position:r}=this.options,l=this.labelRotation!==0,c=r!=="top"&&this.axis==="x";if(this.isHorizontal()){let h=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1),u=0,f=0;l?c?(u=n*t.width,f=s*e.height):(u=s*t.height,f=n*e.width):o==="start"?f=e.width:o==="end"?u=t.width:o!=="inner"&&(u=t.width/2,f=e.width/2),this.paddingLeft=Math.max((u-h+a)*this.width/(this.width-h),0),this.paddingRight=Math.max((f-d+a)*this.width/(this.width-d),0)}else{let h=e.height/2,d=t.height/2;o==="start"?(h=0,d=t.height):o==="end"&&(h=e.height,d=0),this.paddingTop=h+a,this.paddingBottom=d+a}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){F(this.options.afterFit,[this])}isHorizontal(){let{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,s;for(e=0,s=t.length;e({width:a[P]||0,height:r[P]||0});return{first:S(0),last:S(e-1),widest:S(k),highest:S(w),widths:a,heights:r}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){let e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);let e=this._startPixel+t*this._length;return rn(this._alignToPixels?Ot(this.chart,e,0):e)}getDecimalForPixel(t){let e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){let{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){let e=this.ticks||[];if(t>=0&&tr*n?r/s:l/n:l*n0}_computeGridLineItems(t){let e=this.axis,s=this.chart,n=this.options,{grid:o,position:a,border:r}=n,l=o.offset,c=this.isHorizontal(),d=this.ticks.length+(l?1:0),u=Ae(o),f=[],g=r.setContext(this.getContext()),p=g.display?g.width:0,m=p/2,b=function(W){return Ot(s,W,p)},x,v,y,_,k,w,S,P,O,C,L,U;if(a==="top")x=b(this.bottom),w=this.bottom-u,P=x-m,C=b(t.top)+m,U=t.bottom;else if(a==="bottom")x=b(this.top),C=t.top,U=b(t.bottom)-m,w=x+m,P=this.top+u;else if(a==="left")x=b(this.right),k=this.right-u,S=x-m,O=b(t.left)+m,L=t.right;else if(a==="right")x=b(this.left),O=t.left,L=b(t.right)-m,k=x+m,S=this.left+u;else if(e==="x"){if(a==="center")x=b((t.top+t.bottom)/2+.5);else if(T(a)){let W=Object.keys(a)[0],j=a[W];x=b(this.chart.scales[W].getPixelForValue(j))}C=t.top,U=t.bottom,w=x+m,P=w+u}else if(e==="y"){if(a==="center")x=b((t.left+t.right)/2);else if(T(a)){let W=Object.keys(a)[0],j=a[W];x=b(this.chart.scales[W].getPixelForValue(j))}k=x-m,S=k-u,O=t.left,L=t.right}let et=D(n.ticks.maxTicksLimit,d),I=Math.max(1,Math.ceil(d/et));for(v=0;v0&&(Et-=Rt/2);break}$e={left:Et,top:be,width:Rt+Kt.width,height:me+Kt.height,color:I.backdropColor}}m.push({label:y,font:P,textOffset:L,options:{rotation:p,color:j,strokeColor:rt,strokeWidth:G,textAlign:Xt,textBaseline:U,translation:[_,k],backdrop:$e}})}return m}_getXAxisLabelAlignment(){let{position:t,ticks:e}=this.options;if(-ot(this.labelRotation))return t==="top"?"left":"right";let n="center";return e.align==="start"?n="left":e.align==="end"?n="right":e.align==="inner"&&(n="inner"),n}_getYAxisLabelAlignment(t){let{position:e,ticks:{crossAlign:s,mirror:n,padding:o}}=this.options,a=this._getLabelSizes(),r=t+o,l=a.widest.width,c,h;return e==="left"?n?(h=this.right+o,s==="near"?c="left":s==="center"?(c="center",h+=l/2):(c="right",h+=l)):(h=this.right-r,s==="near"?c="right":s==="center"?(c="center",h-=l/2):(c="left",h=this.left)):e==="right"?n?(h=this.left+o,s==="near"?c="right":s==="center"?(c="center",h-=l/2):(c="left",h-=l)):(h=this.left+r,s==="near"?c="left":s==="center"?(c="center",h+=l/2):(c="right",h=this.right)):c="right",{textAlign:c,x:h}}_computeLabelArea(){if(this.options.ticks.mirror)return;let t=this.chart,e=this.options.position;if(e==="left"||e==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(e==="top"||e==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){let{ctx:t,options:{backgroundColor:e},left:s,top:n,width:o,height:a}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(s,n,o,a),t.restore())}getLineWidthForValue(t){let e=this.options.grid;if(!this._isVisible()||!e.display)return 0;let n=this.ticks.findIndex(o=>o.value===t);return n>=0?e.setContext(this.getContext(n)).lineWidth:0}drawGrid(t){let e=this.options.grid,s=this.ctx,n=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t)),o,a,r=(l,c,h)=>{!h.width||!h.color||(s.save(),s.lineWidth=h.width,s.strokeStyle=h.color,s.setLineDash(h.borderDash||[]),s.lineDashOffset=h.borderDashOffset,s.beginPath(),s.moveTo(l.x,l.y),s.lineTo(c.x,c.y),s.stroke(),s.restore())};if(e.display)for(o=0,a=n.length;o{this.draw(o)}}]:[{z:s,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:n,draw:()=>{this.drawBorder()}},{z:e,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){let e=this.chart.getSortedVisibleDatasetMetas(),s=this.axis+"AxisID",n=[],o,a;for(o=0,a=e.length;o{let s=e.split("."),n=s.pop(),o=[i].concat(s).join("."),a=t[e].split("."),r=a.pop(),l=a.join(".");V.route(o,n,l,r)})}function Ol(i){return"id"in i&&"defaults"in i}var Ds=class{constructor(){this.controllers=new ge(it,"datasets",!0),this.elements=new ge(st,"elements"),this.plugins=new ge(Object,"plugins"),this.scales=new ge(Ut,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,s){[...e].forEach(n=>{let o=s||this._getRegistryForType(n);s||o.isForType(n)||o===this.plugins&&n.id?this._exec(t,o,n):E(n,a=>{let r=s||this._getRegistryForType(a);this._exec(t,r,a)})})}_exec(t,e,s){let n=ii(t);F(s["before"+n],[],s),e[t](s),F(s["after"+n],[],s)}_getRegistryForType(t){for(let e=0;eo.filter(r=>!a.some(l=>r.plugin.id===l.plugin.id));this._notify(n(e,s),t,"stop"),this._notify(n(s,e),t,"start")}};function Cl(i){let t={},e=[],s=Object.keys(gt.plugins.items);for(let o=0;o1&&qn(i[0].toLowerCase());if(s)return s}throw new Error(`Cannot determine type of '${i}' axis. Please provide 'axis' or 'position' option.`)}function Gn(i,t,e){if(e[t+"AxisID"]===i)return{axis:t}}function Fl(i,t){if(t.data&&t.data.datasets){let e=t.data.datasets.filter(s=>s.xAxisID===i||s.yAxisID===i);if(e.length)return Gn(i,"x",e[0])||Gn(i,"y",e[0])}return{}}function zl(i,t){let e=Dt[i.type]||{scales:{}},s=t.scales||{},n=Cs(i.type,t),o=Object.create(null);return Object.keys(s).forEach(a=>{let r=s[a];if(!T(r))return console.error(`Invalid scale configuration for scale: ${a}`);if(r._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${a}`);let l=As(a,r,Fl(a,i),V.scales[r.type]),c=El(l,n),h=e.scales||{};o[a]=Qt(Object.create(null),[{axis:l},r,h[l],h[c]])}),i.data.datasets.forEach(a=>{let r=a.type||i.type,l=a.indexAxis||Cs(r,t),h=(Dt[r]||{}).scales||{};Object.keys(h).forEach(d=>{let u=Rl(d,l),f=a[u+"AxisID"]||u;o[f]=o[f]||Object.create(null),Qt(o[f],[{axis:u},s[f],h[d]])})}),Object.keys(o).forEach(a=>{let r=o[a];Qt(r,[V.scales[r.type],V.scale])}),o}function Fo(i){let t=i.options||(i.options={});t.plugins=D(t.plugins,{}),t.scales=zl(i,t)}function zo(i){return i=i||{},i.datasets=i.datasets||[],i.labels=i.labels||[],i}function Bl(i){return i=i||{},i.data=zo(i.data),Fo(i),i}var Zn=new Map,Bo=new Set;function pi(i,t){let e=Zn.get(i);return e||(e=t(),Zn.set(i,e),Bo.add(e)),e}var Te=(i,t,e)=>{let s=_t(t,e);s!==void 0&&i.add(s)},Ts=class{constructor(t){this._config=Bl(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=zo(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){let t=this._config;this.clearCache(),Fo(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return pi(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return pi(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return pi(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){let e=t.id,s=this.type;return pi(`${s}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){let s=this._scopeCache,n=s.get(t);return(!n||e)&&(n=new Map,s.set(t,n)),n}getOptionScopes(t,e,s){let{options:n,type:o}=this,a=this._cachedScopes(t,s),r=a.get(e);if(r)return r;let l=new Set;e.forEach(h=>{t&&(l.add(t),h.forEach(d=>Te(l,t,d))),h.forEach(d=>Te(l,n,d)),h.forEach(d=>Te(l,Dt[o]||{},d)),h.forEach(d=>Te(l,V,d)),h.forEach(d=>Te(l,ai,d))});let c=Array.from(l);return c.length===0&&c.push(Object.create(null)),Bo.has(e)&&a.set(e,c),c}chartOptionScopes(){let{options:t,type:e}=this;return[t,Dt[e]||{},V.datasets[e]||{},{type:e},V,ai]}resolveNamedOptions(t,e,s,n=[""]){let o={$shared:!0},{resolver:a,subPrefixes:r}=Jn(this._resolverCache,t,n),l=a;if(Wl(a,e)){o.$shared=!1,s=bt(s)?s():s;let c=this.createResolver(t,s,r);l=zt(a,s,c)}for(let c of e)o[c]=l[c];return o}createResolver(t,e,s=[""],n){let{resolver:o}=Jn(this._resolverCache,t,s);return T(e)?zt(o,e,void 0,n):o}};function Jn(i,t,e){let s=i.get(t);s||(s=new Map,i.set(t,s));let n=e.join(),o=s.get(n);return o||(o={resolver:ci(t,e),subPrefixes:e.filter(r=>!r.toLowerCase().includes("hover"))},s.set(n,o)),o}var Vl=i=>T(i)&&Object.getOwnPropertyNames(i).some(t=>bt(i[t]));function Wl(i,t){let{isScriptable:e,isIndexable:s}=ts(i);for(let n of t){let o=e(n),a=s(n),r=(a||o)&&i[n];if(o&&(bt(r)||Vl(r))||a&&z(r))return!0}return!1}var Nl="4.5.0",Hl=["top","bottom","left","right","chartArea"];function Qn(i,t){return i==="top"||i==="bottom"||Hl.indexOf(i)===-1&&t==="x"}function to(i,t){return function(e,s){return e[i]===s[i]?e[t]-s[t]:e[i]-s[i]}}function eo(i){let t=i.chart,e=t.options.animation;t.notifyPlugins("afterRender"),F(e&&e.onComplete,[i],t)}function jl(i){let t=i.chart,e=t.options.animation;F(e&&e.onProgress,[i],t)}function Vo(i){return hi()&&typeof i=="string"?i=document.getElementById(i):i&&i.length&&(i=i[0]),i&&i.canvas&&(i=i.canvas),i}var yi={},io=i=>{let t=Vo(i);return Object.values(yi).filter(e=>e.canvas===t).pop()};function $l(i,t,e){let s=Object.keys(i);for(let n of s){let o=+n;if(o>=t){let a=i[n];delete i[n],(e>0||o>t)&&(i[o+e]=a)}}}function Yl(i,t,e,s){return!e||i.type==="mouseout"?null:s?t:i}var at=class{static register(...t){gt.add(...t),so()}static unregister(...t){gt.remove(...t),so()}constructor(t,e){let s=this.config=new Ts(e),n=Vo(t),o=io(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");let a=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||ul(n)),this.platform.updateConfig(s);let r=this.platform.acquireContext(n,a.aspectRatio),l=r&&r.canvas,c=l&&l.height,h=l&&l.width;if(this.id=tn(),this.ctx=r,this.canvas=l,this.width=h,this.height=c,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Os,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=un(d=>this.update(d),a.resizeDelay||0),this._dataChanges=[],yi[this.id]=this,!r||!l){console.error("Failed to create chart: can't acquire context from the given item");return}vt.listen(this,"complete",eo),vt.listen(this,"progress",jl),this._initialize(),this.attached&&this.update()}get aspectRatio(){let{options:{aspectRatio:t,maintainAspectRatio:e},width:s,height:n,_aspectRatio:o}=this;return A(t)?e&&o?o:n?s/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return gt}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():ns(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Zi(this.canvas,this.ctx),this}stop(){return vt.stop(this),this}resize(t,e){vt.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){let s=this.options,n=this.canvas,o=s.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(n,t,e,o),r=s.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,ns(this,r,!0)&&(this.notifyPlugins("resize",{size:a}),F(s.onResize,[this,a],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){let e=this.options.scales||{};E(e,(s,n)=>{s.id=n})}buildOrUpdateScales(){let t=this.options,e=t.scales,s=this.scales,n=Object.keys(s).reduce((a,r)=>(a[r]=!1,a),{}),o=[];e&&(o=o.concat(Object.keys(e).map(a=>{let r=e[a],l=As(a,r),c=l==="r",h=l==="x";return{options:r,dposition:c?"chartArea":h?"bottom":"left",dtype:c?"radialLinear":h?"category":"linear"}}))),E(o,a=>{let r=a.options,l=r.id,c=As(l,r),h=D(r.type,a.dtype);(r.position===void 0||Qn(r.position,c)!==Qn(a.dposition))&&(r.position=a.dposition),n[l]=!0;let d=null;if(l in s&&s[l].type===h)d=s[l];else{let u=gt.getScale(h);d=new u({id:l,type:h,ctx:this.ctx,chart:this}),s[d.id]=d}d.init(r,t)}),E(n,(a,r)=>{a||delete s[r]}),E(s,a=>{Z.configure(this,a,a.options),Z.addBox(this,a)})}_updateMetasets(){let t=this._metasets,e=this.data.datasets.length,s=t.length;if(t.sort((n,o)=>n.index-o.index),s>e){for(let n=e;ne.length&&delete this._stacks,t.forEach((s,n)=>{e.filter(o=>o===s._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){let t=[],e=this.data.datasets,s,n;for(this._removeUnreferencedMetasets(),s=0,n=e.length;s{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){let e=this.config;e.update();let s=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),n=this._animationsDisabled=!s.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;let o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let a=0;for(let c=0,h=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(to("z","_idx"));let{_active:r,_lastEvent:l}=this;l?this._eventHandler(l,!0):r.length&&this._updateHoverStyles(r,r,!0),this.render()}_updateScales(){E(this.scales,t=>{Z.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){let t=this.options,e=new Set(Object.keys(this._listeners)),s=new Set(t.events);(!Bi(e,s)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){let{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(let{method:s,start:n,count:o}of e){let a=s==="_removeElements"?-o:o;$l(t,n,a)}}_getUniformDataChanges(){let t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];let e=this.data.datasets.length,s=o=>new Set(t.filter(a=>a[0]===o).map((a,r)=>r+","+a.splice(1).join(","))),n=s(0);for(let o=1;oo.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Z.update(this,this.width,this.height,t);let e=this.chartArea,s=e.width<=0||e.height<=0;this._layers=[],E(this.boxes,n=>{s&&n.position==="chartArea"||(n.configure&&n.configure(),this._layers.push(...n._layers()))},this),this._layers.forEach((n,o)=>{n._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,s=this.data.datasets.length;e=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){let e=this.ctx,s={meta:t,index:t.index,cancelable:!0},n=hs(this,t);this.notifyPlugins("beforeDatasetDraw",s)!==!1&&(n&&Se(e,n),t.controller.draw(),n&&Pe(e),s.cancelable=!1,this.notifyPlugins("afterDatasetDraw",s))}isPointInArea(t){return ht(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,s,n){let o=Xr.modes[e];return typeof o=="function"?o(this,t,s,n):[]}getDatasetMeta(t){let e=this.data.datasets[t],s=this._metasets,n=s.filter(o=>o&&o._dataset===e).pop();return n||(n={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},s.push(n)),n}getContext(){return this.$context||(this.$context=yt(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){let e=this.data.datasets[t];if(!e)return!1;let s=this.getDatasetMeta(t);return typeof s.hidden=="boolean"?!s.hidden:!e.hidden}setDatasetVisibility(t,e){let s=this.getDatasetMeta(t);s.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,s){let n=s?"show":"hide",o=this.getDatasetMeta(t),a=o.controller._resolveAnimations(void 0,n);te(e)?(o.data[e].hidden=!s,this.update()):(this.setDatasetVisibility(t,s),a.update(o,{visible:s}),this.update(r=>r.datasetIndex===t?n:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){let e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),vt.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,o,a),t[o]=a},n=(o,a,r)=>{o.offsetX=a,o.offsetY=r,this._eventHandler(o)};E(this.options.events,o=>s(o,n))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});let t=this._responsiveListeners,e=this.platform,s=(l,c)=>{e.addEventListener(this,l,c),t[l]=c},n=(l,c)=>{t[l]&&(e.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)},a,r=()=>{n("attach",r),this.attached=!0,this.resize(),s("resize",o),s("detach",a)};a=()=>{this.attached=!1,n("resize",o),this._stop(),this._resize(0,0),s("attach",r)},e.isAttached(this.canvas)?r():a()}unbindEvents(){E(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},E(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,s){let n=s?"set":"remove",o,a,r,l;for(e==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+n+"DatasetHoverStyle"]()),r=0,l=t.length;r{let r=this.getDatasetMeta(o);if(!r)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:r.data[a],index:a}});!ke(s,e)&&(this._active=s,this._lastEvent=null,this._updateHoverStyles(s,e))}notifyPlugins(t,e,s){return this._plugins.notify(this,t,e,s)}isPluginEnabled(t){return this._plugins._cache.filter(e=>e.plugin.id===t).length===1}_updateHoverStyles(t,e,s){let n=this.options.hover,o=(l,c)=>l.filter(h=>!c.some(d=>h.datasetIndex===d.datasetIndex&&h.index===d.index)),a=o(e,t),r=s?t:o(t,e);a.length&&this.updateHoverStyle(a,n.mode,!1),r.length&&n.mode&&this.updateHoverStyle(r,n.mode,!0)}_eventHandler(t,e){let s={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},n=a=>(a.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",s,n)===!1)return;let o=this._handleEvent(t,e,s.inChartArea);return s.cancelable=!1,this.notifyPlugins("afterEvent",s,n),(o||s.changed)&&this.render(),this}_handleEvent(t,e,s){let{_active:n=[],options:o}=this,a=e,r=this._getActiveElements(t,n,s,a),l=nn(t),c=Yl(t,this._lastEvent,s,l);s&&(this._lastEvent=null,F(o.onHover,[t,r,this],this),l&&F(o.onClick,[t,r,this],this));let h=!ke(r,n);return(h||e)&&(this._active=r,this._updateHoverStyles(r,n,e)),this._lastEvent=c,h}_getActiveElements(t,e,s,n){if(t.type==="mouseout")return[];if(!s)return e;let o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,n)}};M(at,"defaults",V),M(at,"instances",yi),M(at,"overrides",Dt),M(at,"registry",gt),M(at,"version",Nl),M(at,"getChart",io);function so(){return E(at.instances,i=>i._plugins.invalidate())}function Ul(i,t,e){let{startAngle:s,x:n,y:o,outerRadius:a,innerRadius:r,options:l}=t,{borderWidth:c,borderJoinStyle:h}=l,d=Math.min(c/a,X(s-e));if(i.beginPath(),i.arc(n,o,a-c/2,s+d/2,e-d/2),r>0){let u=Math.min(c/r,X(s-e));i.arc(n,o,r+c/2,e-u/2,s+u/2,!0)}else{let u=Math.min(c/2,a*X(s-e));if(h==="round")i.arc(n,o,u,e-R/2,s+R/2,!0);else if(h==="bevel"){let f=2*u*u,g=-f*Math.cos(e+R/2)+n,p=-f*Math.sin(e+R/2)+o,m=f*Math.cos(s+R/2)+n,b=f*Math.sin(s+R/2)+o;i.lineTo(g,p),i.lineTo(m,b)}}i.closePath(),i.moveTo(0,0),i.rect(0,0,i.canvas.width,i.canvas.height),i.clip("evenodd")}function Xl(i,t,e){let{startAngle:s,pixelMargin:n,x:o,y:a,outerRadius:r,innerRadius:l}=t,c=n/r;i.beginPath(),i.arc(o,a,r,s-c,e+c),l>n?(c=n/l,i.arc(o,a,l,e+c,s-c,!0)):i.arc(o,a,n,e+H,s-H),i.closePath(),i.clip()}function Kl(i){return li(i,["outerStart","outerEnd","innerStart","innerEnd"])}function ql(i,t,e,s){let n=Kl(i.options.borderRadius),o=(e-t)/2,a=Math.min(o,s*t/2),r=l=>{let c=(e-Math.min(o,l))*s/2;return Y(l,0,Math.min(o,c))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:Y(n.innerStart,0,a),innerEnd:Y(n.innerEnd,0,a)}}function ae(i,t,e,s){return{x:e+i*Math.cos(t),y:s+i*Math.sin(t)}}function wi(i,t,e,s,n,o){let{x:a,y:r,startAngle:l,pixelMargin:c,innerRadius:h}=t,d=Math.max(t.outerRadius+s+e-c,0),u=h>0?h+s+e+c:0,f=0,g=n-l;if(s){let I=h>0?h-s:0,W=d>0?d-s:0,j=(I+W)/2,rt=j!==0?g*j/(j+s):g;f=(g-rt)/2}let p=Math.max(.001,g*d-e/R)/d,m=(g-p)/2,b=l+m+f,x=n-m-f,{outerStart:v,outerEnd:y,innerStart:_,innerEnd:k}=ql(t,u,d,x-b),w=d-v,S=d-y,P=b+v/w,O=x-y/S,C=u+_,L=u+k,U=b+_/C,et=x-k/L;if(i.beginPath(),o){let I=(P+O)/2;if(i.arc(a,r,d,P,I),i.arc(a,r,d,I,O),y>0){let G=ae(S,O,a,r);i.arc(G.x,G.y,y,O,x+H)}let W=ae(L,x,a,r);if(i.lineTo(W.x,W.y),k>0){let G=ae(L,et,a,r);i.arc(G.x,G.y,k,x+H,et+Math.PI)}let j=(x-k/u+(b+_/u))/2;if(i.arc(a,r,u,x-k/u,j,!0),i.arc(a,r,u,j,b+_/u,!0),_>0){let G=ae(C,U,a,r);i.arc(G.x,G.y,_,U+Math.PI,b-H)}let rt=ae(w,b,a,r);if(i.lineTo(rt.x,rt.y),v>0){let G=ae(w,P,a,r);i.arc(G.x,G.y,v,b-H,P)}}else{i.moveTo(a,r);let I=Math.cos(P)*d+a,W=Math.sin(P)*d+r;i.lineTo(I,W);let j=Math.cos(O)*d+a,rt=Math.sin(O)*d+r;i.lineTo(j,rt)}i.closePath()}function Gl(i,t,e,s,n){let{fullCircles:o,startAngle:a,circumference:r}=t,l=t.endAngle;if(o){wi(i,t,e,s,l,n);for(let c=0;c=R&&f===0&&h!=="miter"&&Ul(i,t,p),o||(wi(i,t,e,s,p,n),i.stroke())}var Ht=class extends st{constructor(e){super();M(this,"circumference");M(this,"endAngle");M(this,"fullCircles");M(this,"innerRadius");M(this,"outerRadius");M(this,"pixelMargin");M(this,"startAngle");this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,e&&Object.assign(this,e)}inRange(e,s,n){let o=this.getProps(["x","y"],n),{angle:a,distance:r}=Hi(o,{x:e,y:s}),{startAngle:l,endAngle:c,innerRadius:h,outerRadius:d,circumference:u}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],n),f=(this.options.spacing+this.options.borderWidth)/2,g=D(u,c-l),p=ie(a,l,c)&&l!==c,m=g>=B||p,b=ut(r,h+f,d+f);return m&&b}getCenterPoint(e){let{x:s,y:n,startAngle:o,endAngle:a,innerRadius:r,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],e),{offset:c,spacing:h}=this.options,d=(o+a)/2,u=(r+l+h+c)/2;return{x:s+Math.cos(d)*u,y:n+Math.sin(d)*u}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){let{options:s,circumference:n}=this,o=(s.offset||0)/4,a=(s.spacing||0)/2,r=s.circular;if(this.pixelMargin=s.borderAlign==="inner"?.33:0,this.fullCircles=n>B?Math.floor(n/B):0,n===0||this.innerRadius<0||this.outerRadius<0)return;e.save();let l=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(l)*o,Math.sin(l)*o);let c=1-Math.sin(Math.min(R,n||0)),h=o*c;e.fillStyle=s.backgroundColor,e.strokeStyle=s.borderColor,Gl(e,this,h,a,r),Zl(e,this,h,a,r),e.restore()}};M(Ht,"id","arc"),M(Ht,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1}),M(Ht,"defaultRoutes",{backgroundColor:"backgroundColor"}),M(Ht,"descriptors",{_scriptable:!0,_indexable:e=>e!=="borderDash"});function Wo(i,t,e=t){i.lineCap=D(e.borderCapStyle,t.borderCapStyle),i.setLineDash(D(e.borderDash,t.borderDash)),i.lineDashOffset=D(e.borderDashOffset,t.borderDashOffset),i.lineJoin=D(e.borderJoinStyle,t.borderJoinStyle),i.lineWidth=D(e.borderWidth,t.borderWidth),i.strokeStyle=D(e.borderColor,t.borderColor)}function Jl(i,t,e){i.lineTo(e.x,e.y)}function Ql(i){return i.stepped?mn:i.tension||i.cubicInterpolationMode==="monotone"?bn:Jl}function No(i,t,e={}){let s=i.length,{start:n=0,end:o=s-1}=e,{start:a,end:r}=t,l=Math.max(n,a),c=Math.min(o,r),h=nr&&o>r;return{count:s,start:l,loop:t.loop,ilen:c(a+(c?r-y:y))%o,v=()=>{p!==m&&(i.lineTo(h,m),i.lineTo(h,p),i.lineTo(h,b))};for(l&&(f=n[x(0)],i.moveTo(f.x,f.y)),u=0;u<=r;++u){if(f=n[x(u)],f.skip)continue;let y=f.x,_=f.y,k=y|0;k===g?(_m&&(m=_),h=(d*h+y)/++d):(v(),i.lineTo(y,_),g=k,d=0,p=m=_),b=_}v()}function Ls(i){let t=i.options,e=t.borderDash&&t.borderDash.length;return!i._decimated&&!i._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?ec:tc}function ic(i){return i.stepped?Pn:i.tension||i.cubicInterpolationMode==="monotone"?Dn:Pt}function sc(i,t,e,s){let n=t._path;n||(n=t._path=new Path2D,t.path(n,e,s)&&n.closePath()),Wo(i,t.options),i.stroke(n)}function nc(i,t,e,s){let{segments:n,options:o}=t,a=Ls(t);for(let r of n)Wo(i,o,r.style),i.beginPath(),a(i,t,r,{start:e,end:e+s-1})&&i.closePath(),i.stroke()}var oc=typeof Path2D=="function";function ac(i,t,e,s){oc&&!t.options.segment?sc(i,t,e,s):nc(i,t,e,s)}var pt=class extends st{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){let s=this.options;if((s.tension||s.cubicInterpolationMode==="monotone")&&!s.stepped&&!this._pointsUpdated){let n=s.spanGaps?this._loop:this._fullLoop;kn(this._points,s,t,n,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=Cn(this,this.options.segment))}first(){let t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){let t=this.segments,e=this.points,s=t.length;return s&&e[t[s-1].end]}interpolate(t,e){let s=this.options,n=t[e],o=this.points,a=cs(this,{property:e,start:n,end:n});if(!a.length)return;let r=[],l=ic(s),c,h;for(c=0,h=a.length;ct!=="borderDash"&&t!=="fill"});function no(i,t,e,s){let n=i.options,{[e]:o}=i.getProps([e],s);return Math.abs(t-o)i.replace("rgb(","rgba(").replace(")",", 0.5)"));function jo(i){return Rs[i%Rs.length]}function $o(i){return oo[i%oo.length]}function fc(i,t){return i.borderColor=jo(t),i.backgroundColor=$o(t),++t}function gc(i,t){return i.backgroundColor=i.data.map(()=>jo(t++)),t}function pc(i,t){return i.backgroundColor=i.data.map(()=>$o(t++)),t}function mc(i){let t=0;return(e,s)=>{let n=i.getDatasetMeta(s).controller;n instanceof kt?t=gc(e,t):n instanceof $t?t=pc(e,t):n&&(t=fc(e,t))}}function ao(i){let t;for(t in i)if(i[t].borderColor||i[t].backgroundColor)return!0;return!1}function bc(i){return i&&(i.borderColor||i.backgroundColor)}function xc(){return V.borderColor!=="rgba(0,0,0,0.1)"||V.backgroundColor!=="rgba(0,0,0,0.1)"}var _c={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(i,t,e){if(!e.enabled)return;let{data:{datasets:s},options:n}=i.config,{elements:o}=n,a=ao(s)||bc(n)||o&&ao(o)||xc();if(!e.forceOverride&&a)return;let r=mc(i);s.forEach(r)}};function yc(i,t,e,s,n){let o=n.samples||s;if(o>=e)return i.slice(t,t+e);let a=[],r=(e-2)/(o-2),l=0,c=t+e-1,h=t,d,u,f,g,p;for(a[l++]=i[h],d=0;df&&(f=g,u=i[x],p=x);a[l++]=u,h=p}return a[l++]=i[c],a}function vc(i,t,e,s){let n=0,o=0,a,r,l,c,h,d,u,f,g,p,m=[],b=t+e-1,x=i[t].x,y=i[b].x-x;for(a=t;ap&&(p=c,u=a),n=(o*n+r.x)/++o;else{let k=a-1;if(!A(d)&&!A(u)){let w=Math.min(d,u),S=Math.max(d,u);w!==f&&w!==k&&m.push({...i[w],x:n}),S!==f&&S!==k&&m.push({...i[S],x:n})}a>0&&k!==f&&m.push(i[k]),m.push(r),h=_,o=0,g=p=c,d=u=f=a}}return m}function Yo(i){if(i._decimated){let t=i._data;delete i._decimated,delete i._data,Object.defineProperty(i,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function ro(i){i.data.datasets.forEach(t=>{Yo(t)})}function Mc(i,t){let e=t.length,s=0,n,{iScale:o}=i,{min:a,max:r,minDefined:l,maxDefined:c}=o.getUserBounds();return l&&(s=Y(ct(t,o.axis,a).lo,0,e-1)),c?n=Y(ct(t,o.axis,r).hi+1,s,e)-s:n=e-s,{start:s,count:n}}var kc={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(i,t,e)=>{if(!e.enabled){ro(i);return}let s=i.width;i.data.datasets.forEach((n,o)=>{let{_data:a,indexAxis:r}=n,l=i.getDatasetMeta(o),c=a||n.data;if(oe([r,i.options.indexAxis])==="y"||!l.controller.supportsDecimation)return;let h=i.scales[l.xAxisID];if(h.type!=="linear"&&h.type!=="time"||i.options.parsing)return;let{start:d,count:u}=Mc(l,c),f=e.threshold||4*s;if(u<=f){Yo(n);return}A(a)&&(n._data=c,delete n.data,Object.defineProperty(n,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(p){this._data=p}}));let g;switch(e.algorithm){case"lttb":g=yc(c,d,u,s,e);break;case"min-max":g=vc(c,d,u,s);break;default:throw new Error(`Unsupported decimation algorithm '${e.algorithm}'`)}n._decimated=g})},destroy(i){ro(i)}};function wc(i,t,e){let s=i.segments,n=i.points,o=t.points,a=[];for(let r of s){let{start:l,end:c}=r;c=Di(l,c,n);let h=Es(e,n[l],n[c],r.loop);if(!t.segments){a.push({source:r,target:h,start:n[l],end:n[c]});continue}let d=cs(t,h);for(let u of d){let f=Es(e,o[u.start],o[u.end],u.loop),g=ls(r,n,f);for(let p of g)a.push({source:p,target:u,start:{[e]:lo(h,f,"start",Math.max)},end:{[e]:lo(h,f,"end",Math.min)}})}}return a}function Es(i,t,e,s){if(s)return;let n=t[i],o=e[i];return i==="angle"&&(n=X(n),o=X(o)),{property:i,start:n,end:o}}function Sc(i,t){let{x:e=null,y:s=null}=i||{},n=t.points,o=[];return t.segments.forEach(({start:a,end:r})=>{r=Di(a,r,n);let l=n[a],c=n[r];s!==null?(o.push({x:l.x,y:s}),o.push({x:c.x,y:s})):e!==null&&(o.push({x:e,y:l.y}),o.push({x:e,y:c.y}))}),o}function Di(i,t,e){for(;t>i;t--){let s=e[t];if(!isNaN(s.x)&&!isNaN(s.y))break}return t}function lo(i,t,e,s){return i&&t?s(i[e],t[e]):i?i[e]:t?t[e]:0}function Uo(i,t){let e=[],s=!1;return z(i)?(s=!0,e=i):e=Sc(i,t),e.length?new pt({points:e,options:{tension:0},_loop:s,_fullLoop:s}):null}function co(i){return i&&i.fill!==!1}function Pc(i,t,e){let n=i[t].fill,o=[t],a;if(!e)return n;for(;n!==!1&&o.indexOf(n)===-1;){if(!N(n))return n;if(a=i[n],!a)return!1;if(a.visible)return n;o.push(n),n=a.fill}return!1}function Dc(i,t,e){let s=Tc(i);if(T(s))return isNaN(s.value)?!1:s;let n=parseFloat(s);return N(n)&&Math.floor(n)===n?Oc(s[0],t,n,e):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function Oc(i,t,e,s){return(i==="-"||i==="+")&&(e=t+e),e===t||e<0||e>=s?!1:e}function Cc(i,t){let e=null;return i==="start"?e=t.bottom:i==="end"?e=t.top:T(i)?e=t.getPixelForValue(i.value):t.getBasePixel&&(e=t.getBasePixel()),e}function Ac(i,t,e){let s;return i==="start"?s=e:i==="end"?s=t.options.reverse?t.min:t.max:T(i)?s=i.value:s=t.getBaseValue(),s}function Tc(i){let t=i.options,e=t.fill,s=D(e&&e.target,e);return s===void 0&&(s=!!t.backgroundColor),s===!1||s===null?!1:s===!0?"origin":s}function Lc(i){let{scale:t,index:e,line:s}=i,n=[],o=s.segments,a=s.points,r=Rc(t,e);r.push(Uo({x:null,y:t.bottom},s));for(let l=0;l=0;--a){let r=n[a].$filler;r&&(r.line.updateControlPoints(o,r.axis),s&&r.fill&&ys(i.ctx,r,o))}},beforeDatasetsDraw(i,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;let s=i.getSortedVisibleDatasetMetas();for(let n=s.length-1;n>=0;--n){let o=s[n].$filler;co(o)&&ys(i.ctx,o,i.chartArea)}},beforeDatasetDraw(i,t,e){let s=t.meta.$filler;!co(s)||e.drawTime!=="beforeDatasetDraw"||ys(i.ctx,s,i.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}},go=(i,t)=>{let{boxHeight:e=t,boxWidth:s=t}=i;return i.usePointStyle&&(e=Math.min(e,t),s=i.pointStyleWidth||Math.min(s,t)),{boxWidth:s,boxHeight:e,itemHeight:Math.max(t,e)}},$c=(i,t)=>i!==null&&t!==null&&i.datasetIndex===t.datasetIndex&&i.index===t.index,Pi=class extends st{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,s){this.maxWidth=t,this.maxHeight=e,this._margins=s,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){let t=this.options.labels||{},e=F(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(s=>t.filter(s,this.chart.data))),t.sort&&(e=e.sort((s,n)=>t.sort(s,n,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){let{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}let s=t.labels,n=$(s.font),o=n.size,a=this._computeTitleHeight(),{boxWidth:r,itemHeight:l}=go(s,o),c,h;e.font=n.string,this.isHorizontal()?(c=this.maxWidth,h=this._fitRows(a,o,r,l)+10):(h=this.maxHeight,c=this._fitCols(a,n,r,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,s,n){let{ctx:o,maxWidth:a,options:{labels:{padding:r}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],h=n+r,d=t;o.textAlign="left",o.textBaseline="middle";let u=-1,f=-h;return this.legendItems.forEach((g,p)=>{let m=s+e/2+o.measureText(g.text).width;(p===0||c[c.length-1]+m+2*r>a)&&(d+=h,c[c.length-(p>0?0:1)]=0,f+=h,u++),l[p]={left:0,top:f,row:u,width:m,height:n},c[c.length-1]+=m+r}),d}_fitCols(t,e,s,n){let{ctx:o,maxHeight:a,options:{labels:{padding:r}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],h=a-t,d=r,u=0,f=0,g=0,p=0;return this.legendItems.forEach((m,b)=>{let{itemWidth:x,itemHeight:v}=Yc(s,e,o,m,n);b>0&&f+v+2*r>h&&(d+=u+r,c.push({width:u,height:f}),g+=u+r,p++,u=f=0),l[b]={left:g,top:f,col:p,width:x,height:v},u=Math.max(u,x),f+=v+r}),d+=u,c.push({width:u,height:f}),d}adjustHitBoxes(){if(!this.options.display)return;let t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:s,labels:{padding:n},rtl:o}}=this,a=Vt(o,this.left,this.width);if(this.isHorizontal()){let r=0,l=K(s,this.left+n,this.right-this.lineWidths[r]);for(let c of e)r!==c.row&&(r=c.row,l=K(s,this.left+n,this.right-this.lineWidths[r])),c.top+=this.top+t+n,c.left=a.leftForLtr(a.x(l),c.width),l+=c.width+n}else{let r=0,l=K(s,this.top+t+n,this.bottom-this.columnSizes[r].height);for(let c of e)c.col!==r&&(r=c.col,l=K(s,this.top+t+n,this.bottom-this.columnSizes[r].height)),c.top=l,c.left+=this.left+n,c.left=a.leftForLtr(a.x(c.left),c.width),l+=c.height+n}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){let t=this.ctx;Se(t,this),this._draw(),Pe(t)}}_draw(){let{options:t,columnSizes:e,lineWidths:s,ctx:n}=this,{align:o,labels:a}=t,r=V.color,l=Vt(t.rtl,this.left,this.width),c=$(a.font),{padding:h}=a,d=c.size,u=d/2,f;this.drawTitle(),n.textAlign=l.textAlign("left"),n.textBaseline="middle",n.lineWidth=.5,n.font=c.string;let{boxWidth:g,boxHeight:p,itemHeight:m}=go(a,d),b=function(k,w,S){if(isNaN(g)||g<=0||isNaN(p)||p<0)return;n.save();let P=D(S.lineWidth,1);if(n.fillStyle=D(S.fillStyle,r),n.lineCap=D(S.lineCap,"butt"),n.lineDashOffset=D(S.lineDashOffset,0),n.lineJoin=D(S.lineJoin,"miter"),n.lineWidth=P,n.strokeStyle=D(S.strokeStyle,r),n.setLineDash(D(S.lineDash,[])),a.usePointStyle){let O={radius:p*Math.SQRT2/2,pointStyle:S.pointStyle,rotation:S.rotation,borderWidth:P},C=l.xPlus(k,g/2),L=w+u;Ji(n,O,C,L,a.pointStyleWidth&&g)}else{let O=w+Math.max((d-p)/2,0),C=l.leftForLtr(k,g),L=At(S.borderRadius);n.beginPath(),Object.values(L).some(U=>U!==0)?ne(n,{x:C,y:O,w:g,h:p,radius:L}):n.rect(C,O,g,p),n.fill(),P!==0&&n.stroke()}n.restore()},x=function(k,w,S){Ct(n,S.text,k,w+m/2,c,{strikethrough:S.hidden,textAlign:l.textAlign(S.textAlign)})},v=this.isHorizontal(),y=this._computeTitleHeight();v?f={x:K(o,this.left+h,this.right-s[0]),y:this.top+h+y,line:0}:f={x:this.left+h,y:K(o,this.top+y+h,this.bottom-e[0].height),line:0},as(this.ctx,t.textDirection);let _=m+h;this.legendItems.forEach((k,w)=>{n.strokeStyle=k.fontColor,n.fillStyle=k.fontColor;let S=n.measureText(k.text).width,P=l.textAlign(k.textAlign||(k.textAlign=a.textAlign)),O=g+u+S,C=f.x,L=f.y;l.setWidth(this.width),v?w>0&&C+O+h>this.right&&(L=f.y+=_,f.line++,C=f.x=K(o,this.left+h,this.right-s[f.line])):w>0&&L+_>this.bottom&&(C=f.x=C+e[f.line].width+h,f.line++,L=f.y=K(o,this.top+y+h,this.bottom-e[f.line].height));let U=l.x(C);if(b(U,L,k),C=fn(P,C+g+u,v?C+O:this.right,t.rtl),x(l.x(C),L,k),v)f.x+=O+h;else if(typeof k.text!="string"){let et=c.lineHeight;f.y+=Xo(k,et)+h}else f.y+=_}),rs(this.ctx,t.textDirection)}drawTitle(){let t=this.options,e=t.title,s=$(e.font),n=q(e.padding);if(!e.display)return;let o=Vt(t.rtl,this.left,this.width),a=this.ctx,r=e.position,l=s.size/2,c=n.top+l,h,d=this.left,u=this.width;if(this.isHorizontal())u=Math.max(...this.lineWidths),h=this.top+c,d=K(t.align,d,this.right-u);else{let g=this.columnSizes.reduce((p,m)=>Math.max(p,m.height),0);h=c+K(t.align,this.top,this.bottom-g-t.labels.padding-this._computeTitleHeight())}let f=K(r,d,d+u);a.textAlign=o.textAlign(oi(r)),a.textBaseline="middle",a.strokeStyle=e.color,a.fillStyle=e.color,a.font=s.string,Ct(a,e.text,f,h,s)}_computeTitleHeight(){let t=this.options.title,e=$(t.font),s=q(t.padding);return t.display?e.lineHeight+s.height:0}_getLegendItemAt(t,e){let s,n,o;if(ut(t,this.left,this.right)&&ut(e,this.top,this.bottom)){for(o=this.legendHitBoxes,s=0;so.length>a.length?o:a)),t+e.size/2+s.measureText(n).width}function Xc(i,t,e){let s=i;return typeof t.text!="string"&&(s=Xo(t,e)),s}function Xo(i,t){let e=i.text?i.text.length:0;return t*e}function Kc(i,t){return!!((i==="mousemove"||i==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(i==="click"||i==="mouseup"))}var qc={id:"legend",_element:Pi,start(i,t,e){let s=i.legend=new Pi({ctx:i.ctx,options:e,chart:i});Z.configure(i,s,e),Z.addBox(i,s)},stop(i){Z.removeBox(i,i.legend),delete i.legend},beforeUpdate(i,t,e){let s=i.legend;Z.configure(i,s,e),s.options=e},afterUpdate(i){let t=i.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(i,t){t.replay||i.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(i,t,e){let s=t.datasetIndex,n=e.chart;n.isDatasetVisible(s)?(n.hide(s),t.hidden=!0):(n.show(s),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:i=>i.chart.options.color,boxWidth:40,padding:10,generateLabels(i){let t=i.data.datasets,{labels:{usePointStyle:e,pointStyle:s,textAlign:n,color:o,useBorderRadius:a,borderRadius:r}}=i.legend.options;return i._getSortedDatasetMetas().map(l=>{let c=l.controller.getStyle(e?0:void 0),h=q(c.borderWidth);return{text:t[l.index].label,fillStyle:c.backgroundColor,fontColor:o,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:c.borderColor,pointStyle:s||c.pointStyle,rotation:c.rotation,textAlign:n||c.textAlign,borderRadius:a&&(r||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:i=>i.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:i=>!i.startsWith("on"),labels:{_scriptable:i=>!["generateLabels","filter","sort"].includes(i)}}},Ne=class extends st{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){let s=this.options;if(this.left=0,this.top=0,!s.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=e;let n=z(s.text)?s.text.length:1;this._padding=q(s.padding);let o=n*$(s.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){let t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){let{top:e,left:s,bottom:n,right:o,options:a}=this,r=a.align,l=0,c,h,d;return this.isHorizontal()?(h=K(r,s,o),d=e+t,c=o-s):(a.position==="left"?(h=s+t,d=K(r,n,e),l=R*-.5):(h=o-t,d=K(r,e,n),l=R*.5),c=n-e),{titleX:h,titleY:d,maxWidth:c,rotation:l}}draw(){let t=this.ctx,e=this.options;if(!e.display)return;let s=$(e.font),o=s.lineHeight/2+this._padding.top,{titleX:a,titleY:r,maxWidth:l,rotation:c}=this._drawArgs(o);Ct(t,e.text,0,0,s,{color:e.color,maxWidth:l,rotation:c,textAlign:oi(e.align),textBaseline:"middle",translation:[a,r]})}};function Gc(i,t){let e=new Ne({ctx:i.ctx,options:t,chart:i});Z.configure(i,e,t),Z.addBox(i,e),i.titleBlock=e}var Zc={id:"title",_element:Ne,start(i,t,e){Gc(i,e)},stop(i){let t=i.titleBlock;Z.removeBox(i,t),delete i.titleBlock},beforeUpdate(i,t,e){let s=i.titleBlock;Z.configure(i,s,e),s.options=e},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}},mi=new WeakMap,Jc={id:"subtitle",start(i,t,e){let s=new Ne({ctx:i.ctx,options:e,chart:i});Z.configure(i,s,e),Z.addBox(i,s),mi.set(i,s)},stop(i){Z.removeBox(i,mi.get(i)),mi.delete(i)},beforeUpdate(i,t,e){let s=mi.get(i);Z.configure(i,s,e),s.options=e},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}},Ee={average(i){if(!i.length)return!1;let t,e,s=new Set,n=0,o=0;for(t=0,e=i.length;tr+l)/s.size,y:n/o}},nearest(i,t){if(!i.length)return!1;let e=t.x,s=t.y,n=Number.POSITIVE_INFINITY,o,a,r;for(o=0,a=i.length;o-1?i.split(` +`):i}function Qc(i,t){let{element:e,datasetIndex:s,index:n}=t,o=i.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:i,label:a,parsed:o.getParsed(n),raw:i.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:e}}function po(i,t){let e=i.chart.ctx,{body:s,footer:n,title:o}=i,{boxWidth:a,boxHeight:r}=t,l=$(t.bodyFont),c=$(t.titleFont),h=$(t.footerFont),d=o.length,u=n.length,f=s.length,g=q(t.padding),p=g.height,m=0,b=s.reduce((y,_)=>y+_.before.length+_.lines.length+_.after.length,0);if(b+=i.beforeBody.length+i.afterBody.length,d&&(p+=d*c.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),b){let y=t.displayColors?Math.max(r,l.lineHeight):l.lineHeight;p+=f*y+(b-f)*l.lineHeight+(b-1)*t.bodySpacing}u&&(p+=t.footerMarginTop+u*h.lineHeight+(u-1)*t.footerSpacing);let x=0,v=function(y){m=Math.max(m,e.measureText(y).width+x)};return e.save(),e.font=c.string,E(i.title,v),e.font=l.string,E(i.beforeBody.concat(i.afterBody),v),x=t.displayColors?a+2+t.boxPadding:0,E(s,y=>{E(y.before,v),E(y.lines,v),E(y.after,v)}),x=0,e.font=h.string,E(i.footer,v),e.restore(),m+=g.width,{width:m,height:p}}function th(i,t){let{y:e,height:s}=t;return ei.height-s/2?"bottom":"center"}function eh(i,t,e,s){let{x:n,width:o}=s,a=e.caretSize+e.caretPadding;if(i==="left"&&n+o+a>t.width||i==="right"&&n-o-a<0)return!0}function ih(i,t,e,s){let{x:n,width:o}=e,{width:a,chartArea:{left:r,right:l}}=i,c="center";return s==="center"?c=n<=(r+l)/2?"left":"right":n<=o/2?c="left":n>=a-o/2&&(c="right"),eh(c,i,t,e)&&(c="center"),c}function mo(i,t,e){let s=e.yAlign||t.yAlign||th(i,e);return{xAlign:e.xAlign||t.xAlign||ih(i,t,e,s),yAlign:s}}function sh(i,t){let{x:e,width:s}=i;return t==="right"?e-=s:t==="center"&&(e-=s/2),e}function nh(i,t,e){let{y:s,height:n}=i;return t==="top"?s+=e:t==="bottom"?s-=n+e:s-=n/2,s}function bo(i,t,e,s){let{caretSize:n,caretPadding:o,cornerRadius:a}=i,{xAlign:r,yAlign:l}=e,c=n+o,{topLeft:h,topRight:d,bottomLeft:u,bottomRight:f}=At(a),g=sh(t,r),p=nh(t,l,c);return l==="center"?r==="left"?g+=c:r==="right"&&(g-=c):r==="left"?g-=Math.max(h,u)+n:r==="right"&&(g+=Math.max(d,f)+n),{x:Y(g,0,s.width-t.width),y:Y(p,0,s.height-t.height)}}function bi(i,t,e){let s=q(e.padding);return t==="center"?i.x+i.width/2:t==="right"?i.x+i.width-s.right:i.x+s.left}function xo(i){return ft([],Mt(i))}function oh(i,t,e){return yt(i,{tooltip:t,tooltipItems:e,type:"tooltip"})}function _o(i,t){let e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?i.override(e):i}var Ko={beforeTitle:dt,title(i){if(i.length>0){let t=i[0],e=t.chart.data.labels,s=e?e.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(s>0&&t.dataIndex"u"?Ko[t].call(e,s):n}var Ve=class extends st{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){let t=this._cachedAnimations;if(t)return t;let e=this.chart,s=this.options.setContext(this.getContext()),n=s.enabled&&e.options.animation&&s.animations,o=new vi(this.chart,n);return n._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=oh(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){let{callbacks:s}=e,n=Q(s,"beforeTitle",this,t),o=Q(s,"title",this,t),a=Q(s,"afterTitle",this,t),r=[];return r=ft(r,Mt(n)),r=ft(r,Mt(o)),r=ft(r,Mt(a)),r}getBeforeBody(t,e){return xo(Q(e.callbacks,"beforeBody",this,t))}getBody(t,e){let{callbacks:s}=e,n=[];return E(t,o=>{let a={before:[],lines:[],after:[]},r=_o(s,o);ft(a.before,Mt(Q(r,"beforeLabel",this,o))),ft(a.lines,Q(r,"label",this,o)),ft(a.after,Mt(Q(r,"afterLabel",this,o))),n.push(a)}),n}getAfterBody(t,e){return xo(Q(e.callbacks,"afterBody",this,t))}getFooter(t,e){let{callbacks:s}=e,n=Q(s,"beforeFooter",this,t),o=Q(s,"footer",this,t),a=Q(s,"afterFooter",this,t),r=[];return r=ft(r,Mt(n)),r=ft(r,Mt(o)),r=ft(r,Mt(a)),r}_createItems(t){let e=this._active,s=this.chart.data,n=[],o=[],a=[],r=[],l,c;for(l=0,c=e.length;lt.filter(h,d,u,s))),t.itemSort&&(r=r.sort((h,d)=>t.itemSort(h,d,s))),E(r,h=>{let d=_o(t.callbacks,h);n.push(Q(d,"labelColor",this,h)),o.push(Q(d,"labelPointStyle",this,h)),a.push(Q(d,"labelTextColor",this,h))}),this.labelColors=n,this.labelPointStyles=o,this.labelTextColors=a,this.dataPoints=r,r}update(t,e){let s=this.options.setContext(this.getContext()),n=this._active,o,a=[];if(!n.length)this.opacity!==0&&(o={opacity:0});else{let r=Ee[s.position].call(this,n,this._eventPosition);a=this._createItems(s),this.title=this.getTitle(a,s),this.beforeBody=this.getBeforeBody(a,s),this.body=this.getBody(a,s),this.afterBody=this.getAfterBody(a,s),this.footer=this.getFooter(a,s);let l=this._size=po(this,s),c=Object.assign({},r,l),h=mo(this.chart,s,c),d=bo(s,c,h,this.chart);this.xAlign=h.xAlign,this.yAlign=h.yAlign,o={opacity:1,x:d.x,y:d.y,width:l.width,height:l.height,caretX:r.x,caretY:r.y}}this._tooltipItems=a,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&s.external&&s.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,s,n){let o=this.getCaretPosition(t,s,n);e.lineTo(o.x1,o.y1),e.lineTo(o.x2,o.y2),e.lineTo(o.x3,o.y3)}getCaretPosition(t,e,s){let{xAlign:n,yAlign:o}=this,{caretSize:a,cornerRadius:r}=s,{topLeft:l,topRight:c,bottomLeft:h,bottomRight:d}=At(r),{x:u,y:f}=t,{width:g,height:p}=e,m,b,x,v,y,_;return o==="center"?(y=f+p/2,n==="left"?(m=u,b=m-a,v=y+a,_=y-a):(m=u+g,b=m+a,v=y-a,_=y+a),x=m):(n==="left"?b=u+Math.max(l,h)+a:n==="right"?b=u+g-Math.max(c,d)-a:b=this.caretX,o==="top"?(v=f,y=v-a,m=b-a,x=b+a):(v=f+p,y=v+a,m=b+a,x=b-a),_=v),{x1:m,x2:b,x3:x,y1:v,y2:y,y3:_}}drawTitle(t,e,s){let n=this.title,o=n.length,a,r,l;if(o){let c=Vt(s.rtl,this.x,this.width);for(t.x=bi(this,s.titleAlign,s),e.textAlign=c.textAlign(s.titleAlign),e.textBaseline="middle",a=$(s.titleFont),r=s.titleSpacing,e.fillStyle=s.titleColor,e.font=a.string,l=0;lx!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,ne(t,{x:p,y:g,w:c,h:l,radius:b}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),ne(t,{x:m,y:g+1,w:c-2,h:l-2,radius:b}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(p,g,c,l),t.strokeRect(p,g,c,l),t.fillStyle=a.backgroundColor,t.fillRect(m,g+1,c-2,l-2))}t.fillStyle=this.labelTextColors[s]}drawBody(t,e,s){let{body:n}=this,{bodySpacing:o,bodyAlign:a,displayColors:r,boxHeight:l,boxWidth:c,boxPadding:h}=s,d=$(s.bodyFont),u=d.lineHeight,f=0,g=Vt(s.rtl,this.x,this.width),p=function(S){e.fillText(S,g.x(t.x+f),t.y+u/2),t.y+=u+o},m=g.textAlign(a),b,x,v,y,_,k,w;for(e.textAlign=a,e.textBaseline="middle",e.font=d.string,t.x=bi(this,m,s),e.fillStyle=s.bodyColor,E(this.beforeBody,p),f=r&&m!=="right"?a==="center"?c/2+h:c+2+h:0,y=0,k=n.length;y0&&e.stroke()}_updateAnimationTarget(t){let e=this.chart,s=this.$animations,n=s&&s.x,o=s&&s.y;if(n||o){let a=Ee[t.position].call(this,this._active,this._eventPosition);if(!a)return;let r=this._size=po(this,t),l=Object.assign({},a,this._size),c=mo(e,t,l),h=bo(t,l,c,e);(n._to!==h.x||o._to!==h.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=r.width,this.height=r.height,this.caretX=a.x,this.caretY=a.y,this._resolveAnimations().update(this,h))}}_willRender(){return!!this.opacity}draw(t){let e=this.options.setContext(this.getContext()),s=this.opacity;if(!s)return;this._updateAnimationTarget(e);let n={width:this.width,height:this.height},o={x:this.x,y:this.y};s=Math.abs(s)<.001?0:s;let a=q(e.padding),r=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&r&&(t.save(),t.globalAlpha=s,this.drawBackground(o,t,n,e),as(t,e.textDirection),o.y+=a.top,this.drawTitle(o,t,e),this.drawBody(o,t,e),this.drawFooter(o,t,e),rs(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){let s=this._active,n=t.map(({datasetIndex:r,index:l})=>{let c=this.chart.getDatasetMeta(r);if(!c)throw new Error("Cannot find a dataset at index "+r);return{datasetIndex:r,element:c.data[l],index:l}}),o=!ke(s,n),a=this._positionChanged(n,e);(o||a)&&(this._active=n,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,s=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;let n=this.options,o=this._active||[],a=this._getActiveElements(t,o,e,s),r=this._positionChanged(a,t),l=e||!ke(a,o)||r;return l&&(this._active=a,(n.enabled||n.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),l}_getActiveElements(t,e,s,n){let o=this.options;if(t.type==="mouseout")return[];if(!n)return e.filter(r=>this.chart.data.datasets[r.datasetIndex]&&this.chart.getDatasetMeta(r.datasetIndex).controller.getParsed(r.index)!==void 0);let a=this.chart.getElementsAtEventForMode(t,o.mode,o,s);return o.reverse&&a.reverse(),a}_positionChanged(t,e){let{caretX:s,caretY:n,options:o}=this,a=Ee[o.position].call(this,t,e);return a!==!1&&(s!==a.x||n!==a.y)}};M(Ve,"positioners",Ee);var ah={id:"tooltip",_element:Ve,positioners:Ee,afterInit(i,t,e){e&&(i.tooltip=new Ve({chart:i,options:e}))},beforeUpdate(i,t,e){i.tooltip&&i.tooltip.initialize(e)},reset(i,t,e){i.tooltip&&i.tooltip.initialize(e)},afterDraw(i){let t=i.tooltip;if(t&&t._willRender()){let e={tooltip:t};if(i.notifyPlugins("beforeTooltipDraw",{...e,cancelable:!0})===!1)return;t.draw(i.ctx),i.notifyPlugins("afterTooltipDraw",e)}},afterEvent(i,t){if(i.tooltip){let e=t.replay;i.tooltip.handleEvent(t.event,e,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(i,t)=>t.bodyFont.size,boxWidth:(i,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Ko},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:i=>i!=="filter"&&i!=="itemSort"&&i!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},rh=Object.freeze({__proto__:null,Colors:_c,Decimation:kc,Filler:jc,Legend:qc,SubTitle:Jc,Title:Zc,Tooltip:ah}),lh=(i,t,e,s)=>(typeof t=="string"?(e=i.push(t)-1,s.unshift({index:e,label:t})):isNaN(t)&&(e=null),e);function ch(i,t,e,s){let n=i.indexOf(t);if(n===-1)return lh(i,t,e,s);let o=i.lastIndexOf(t);return n!==o?e:n}var hh=(i,t)=>i===null?null:Y(Math.round(i),0,t);function yo(i){let t=this.getLabels();return i>=0&&ie.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}};M(Ie,"id","category"),M(Ie,"defaults",{ticks:{callback:yo}});function dh(i,t){let e=[],{bounds:n,step:o,min:a,max:r,precision:l,count:c,maxTicks:h,maxDigits:d,includeBounds:u}=i,f=o||1,g=h-1,{min:p,max:m}=t,b=!A(a),x=!A(r),v=!A(c),y=(m-p)/(d+1),_=Vi((m-p)/g/f)*f,k,w,S,P;if(_<1e-14&&!b&&!x)return[{value:p},{value:m}];P=Math.ceil(m/_)-Math.floor(p/_),P>g&&(_=Vi(P*_/g/f)*f),A(l)||(k=Math.pow(10,l),_=Math.ceil(_*k)/k),n==="ticks"?(w=Math.floor(p/_)*_,S=Math.ceil(m/_)*_):(w=p,S=m),b&&x&&o&&an((r-a)/o,_/1e3)?(P=Math.round(Math.min((r-a)/_,h)),_=(r-a)/P,w=a,S=r):v?(w=b?a:w,S=x?r:S,P=c-1,_=(S-w)/P):(P=(S-w)/_,ee(P,Math.round(P),_/1e3)?P=Math.round(P):P=Math.ceil(P));let O=Math.max(Ni(_),Ni(w));k=Math.pow(10,A(l)?O:l),w=Math.round(w*k)/k,S=Math.round(S*k)/k;let C=0;for(b&&(u&&w!==a?(e.push({value:a}),wr)break;e.push({value:L})}return x&&u&&S!==r?e.length&&ee(e[e.length-1].value,r,vo(r,y,i))?e[e.length-1].value=r:e.push({value:r}):(!x||S===r)&&e.push({value:S}),e}function vo(i,t,{horizontal:e,minRotation:s}){let n=ot(s),o=(e?Math.sin(n):Math.cos(n))||.001,a=.75*t*(""+i).length;return Math.min(t/o,a)}var pe=class extends Ut{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return A(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){let{beginAtZero:t}=this.options,{minDefined:e,maxDefined:s}=this.getUserBounds(),{min:n,max:o}=this,a=l=>n=e?n:l,r=l=>o=s?o:l;if(t){let l=lt(n),c=lt(o);l<0&&c<0?r(0):l>0&&c>0&&a(0)}if(n===o){let l=o===0?1:Math.abs(o*.05);r(o+l),t||a(n-l)}this.min=n,this.max=o}getTickLimit(){let t=this.options.ticks,{maxTicksLimit:e,stepSize:s}=t,n;return s?(n=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e=e||11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){let t=this.options,e=t.ticks,s=this.getTickLimit();s=Math.max(2,s);let n={maxTicks:s,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:e.includeBounds!==!1},o=this._range||this,a=dh(n,o);return t.bounds==="ticks"&&Wi(a,this,"value"),t.reverse?(a.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),a}configure(){let t=this.ticks,e=this.min,s=this.max;if(super.configure(),this.options.offset&&t.length){let n=(s-e)/Math.max(t.length-1,1)/2;e-=n,s+=n}this._startValue=e,this._endValue=s,this._valueRange=s-e}getLabelForValue(t){return se(t,this.chart.options.locale,this.options.ticks.format)}},Fe=class extends pe{determineDataLimits(){let{min:t,max:e}=this.getMinMax(!0);this.min=N(t)?t:0,this.max=N(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){let t=this.isHorizontal(),e=t?this.width:this.height,s=ot(this.options.ticks.minRotation),n=(t?Math.sin(s):Math.cos(s))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,o.lineHeight/n))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}};M(Fe,"id","linear"),M(Fe,"defaults",{ticks:{callback:we.formatters.numeric}});var He=i=>Math.floor(xt(i)),Nt=(i,t)=>Math.pow(10,He(i)+t);function Mo(i){return i/Math.pow(10,He(i))===1}function ko(i,t,e){let s=Math.pow(10,e),n=Math.floor(i/s);return Math.ceil(t/s)-n}function uh(i,t){let e=t-i,s=He(e);for(;ko(i,t,s)>10;)s++;for(;ko(i,t,s)<10;)s--;return Math.min(s,He(i))}function fh(i,{min:t,max:e}){t=J(i.min,t);let s=[],n=He(t),o=uh(t,e),a=o<0?Math.pow(10,Math.abs(o)):1,r=Math.pow(10,o),l=n>o?Math.pow(10,n):0,c=Math.round((t-l)*a)/a,h=Math.floor((t-l)/r/10)*r*10,d=Math.floor((c-h)/Math.pow(10,o)),u=J(i.min,Math.round((l+h+d*Math.pow(10,o))*a)/a);for(;u=10?d=d<15?15:20:d++,d>=20&&(o++,d=2,a=o>=0?1:a),u=Math.round((l+h+d*Math.pow(10,o))*a)/a;let f=J(i.max,u);return s.push({value:f,major:Mo(f),significand:d}),s}var ze=class extends Ut{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){let s=pe.prototype.parse.apply(this,[t,e]);if(s===0){this._zero=!0;return}return N(s)&&s>0?s:null}determineDataLimits(){let{min:t,max:e}=this.getMinMax(!0);this.min=N(t)?Math.max(0,t):null,this.max=N(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!N(this._userMin)&&(this.min=t===Nt(this.min,0)?Nt(this.min,-1):Nt(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){let{minDefined:t,maxDefined:e}=this.getUserBounds(),s=this.min,n=this.max,o=r=>s=t?s:r,a=r=>n=e?n:r;s===n&&(s<=0?(o(1),a(10)):(o(Nt(s,-1)),a(Nt(n,1)))),s<=0&&o(Nt(n,-1)),n<=0&&a(Nt(s,1)),this.min=s,this.max=n}buildTicks(){let t=this.options,e={min:this._userMin,max:this._userMax},s=fh(e,this);return t.bounds==="ticks"&&Wi(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}getLabelForValue(t){return t===void 0?"0":se(t,this.chart.options.locale,this.options.ticks.format)}configure(){let t=this.min;super.configure(),this._startValue=xt(t),this._valueRange=xt(this.max)-xt(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(xt(t)-this._startValue)/this._valueRange)}getValueForPixel(t){let e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}};M(ze,"id","logarithmic"),M(ze,"defaults",{ticks:{callback:we.formatters.logarithmic,major:{enabled:!0}}});function Is(i){let t=i.ticks;if(t.display&&i.display){let e=q(t.backdropPadding);return D(t.font&&t.font.size,V.font.size)+e.height}return 0}function gh(i,t,e){return e=z(e)?e:[e],{w:pn(i,t.string,e),h:e.length*t.lineHeight}}function wo(i,t,e,s,n){return i===s||i===n?{start:t-e/2,end:t+e/2}:in?{start:t-e,end:t}:{start:t,end:t+e}}function ph(i){let t={l:i.left+i._padding.left,r:i.right-i._padding.right,t:i.top+i._padding.top,b:i.bottom-i._padding.bottom},e=Object.assign({},t),s=[],n=[],o=i._pointLabels.length,a=i.options.pointLabels,r=a.centerPointLabels?R/o:0;for(let l=0;lt.r&&(r=(s.end-t.r)/o,i.r=Math.max(i.r,t.r+r)),n.startt.b&&(l=(n.end-t.b)/a,i.b=Math.max(i.b,t.b+l))}function bh(i,t,e){let s=i.drawingArea,{extra:n,additionalAngle:o,padding:a,size:r}=e,l=i.getPointPosition(t,s+n+a,o),c=Math.round(si(X(l.angle+H))),h=Mh(l.y,r.h,c),d=yh(c),u=vh(l.x,r.w,d);return{visible:!0,x:l.x,y:h,textAlign:d,left:u,top:h,right:u+r.w,bottom:h+r.h}}function xh(i,t){if(!t)return!0;let{left:e,top:s,right:n,bottom:o}=i;return!(ht({x:e,y:s},t)||ht({x:e,y:o},t)||ht({x:n,y:s},t)||ht({x:n,y:o},t))}function _h(i,t,e){let s=[],n=i._pointLabels.length,o=i.options,{centerPointLabels:a,display:r}=o.pointLabels,l={extra:Is(o)/2,additionalAngle:a?R/n:0},c;for(let h=0;h270||e<90)&&(i-=t),i}function kh(i,t,e){let{left:s,top:n,right:o,bottom:a}=e,{backdropColor:r}=t;if(!A(r)){let l=At(t.borderRadius),c=q(t.backdropPadding);i.fillStyle=r;let h=s-c.left,d=n-c.top,u=o-s+c.width,f=a-n+c.height;Object.values(l).some(g=>g!==0)?(i.beginPath(),ne(i,{x:h,y:d,w:u,h:f,radius:l}),i.fill()):i.fillRect(h,d,u,f)}}function wh(i,t){let{ctx:e,options:{pointLabels:s}}=i;for(let n=t-1;n>=0;n--){let o=i._pointLabelItems[n];if(!o.visible)continue;let a=s.setContext(i.getPointLabelContext(n));kh(e,a,o);let r=$(a.font),{x:l,y:c,textAlign:h}=o;Ct(e,i._pointLabels[n],l,c+r.lineHeight/2,r,{color:a.color,textAlign:h,textBaseline:"middle"})}}function qo(i,t,e,s){let{ctx:n}=i;if(e)n.arc(i.xCenter,i.yCenter,t,0,B);else{let o=i.getPointPosition(0,t);n.moveTo(o.x,o.y);for(let a=1;a{let n=F(this.options.pointLabels.callback,[e,s],this);return n||n===0?n:""}).filter((e,s)=>this.chart.getDataVisibility(s))}fit(){let t=this.options;t.display&&t.pointLabels.display?ph(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,s,n){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((s-n)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,s,n))}getIndexAngle(t){let e=B/(this._pointLabels.length||1),s=this.options.startAngle||0;return X(t*e+ot(s))}getDistanceFromCenterForValue(t){if(A(t))return NaN;let e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(A(t))return NaN;let e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){let e=this._pointLabels||[];if(t>=0&&t{if(d!==0||d===0&&this.min<0){l=this.getDistanceFromCenterForValue(h.value);let u=this.getContext(d),f=n.setContext(u),g=o.setContext(u);Sh(this,f,l,a,g)}}),s.display){for(t.save(),r=a-1;r>=0;r--){let h=s.setContext(this.getPointLabelContext(r)),{color:d,lineWidth:u}=h;!u||!d||(t.lineWidth=u,t.strokeStyle=d,t.setLineDash(h.borderDash),t.lineDashOffset=h.borderDashOffset,l=this.getDistanceFromCenterForValue(e.reverse?this.min:this.max),c=this.getPointPosition(r,l),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(c.x,c.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){let t=this.ctx,e=this.options,s=e.ticks;if(!s.display)return;let n=this.getIndexAngle(0),o,a;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(n),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((r,l)=>{if(l===0&&this.min>=0&&!e.reverse)return;let c=s.setContext(this.getContext(l)),h=$(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=h.string,a=t.measureText(r.label).width,t.fillStyle=c.backdropColor;let d=q(c.backdropPadding);t.fillRect(-a/2-d.left,-o-h.size/2-d.top,a+d.width,h.size+d.height)}Ct(t,r.label,0,-o,h,{color:c.color,strokeColor:c.textStrokeColor,strokeWidth:c.textStrokeWidth})}),t.restore()}drawTitle(){}};M(jt,"id","radialLinear"),M(jt,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:we.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),M(jt,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),M(jt,"descriptors",{angleLines:{_fallback:"grid"}});var Oi={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},tt=Object.keys(Oi);function So(i,t){return i-t}function Po(i,t){if(A(t))return null;let e=i._adapter,{parser:s,round:n,isoWeekday:o}=i._parseOpts,a=t;return typeof s=="function"&&(a=s(a)),N(a)||(a=typeof s=="string"?e.parse(a,s):e.parse(a)),a===null?null:(n&&(a=n==="week"&&(Bt(o)||o===!0)?e.startOf(a,"isoWeek",o):e.startOf(a,n)),+a)}function Do(i,t,e,s){let n=tt.length;for(let o=tt.indexOf(i);o=tt.indexOf(e);o--){let a=tt[o];if(Oi[a].common&&i._adapter.diff(n,s,a)>=t-1)return a}return tt[e?tt.indexOf(e):0]}function Oh(i){for(let t=tt.indexOf(i)+1,e=tt.length;t=t?e[s]:e[n];i[o]=!0}}function Ch(i,t,e,s){let n=i._adapter,o=+n.startOf(t[0].value,s),a=t[t.length-1].value,r,l;for(r=o;r<=a;r=+n.add(r,1,s))l=e[r],l>=0&&(t[l].major=!0);return t}function Co(i,t,e){let s=[],n={},o=t.length,a,r;for(a=0;a+t.value))}initOffsets(t=[]){let e=0,s=0,n,o;this.options.offset&&t.length&&(n=this.getDecimalForValue(t[0]),t.length===1?e=1-n:e=(this.getDecimalForValue(t[1])-n)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?s=o:s=(o-this.getDecimalForValue(t[t.length-2]))/2);let a=t.length<3?.5:.25;e=Y(e,0,a),s=Y(s,0,a),this._offsets={start:e,end:s,factor:1/(e+1+s)}}_generate(){let t=this._adapter,e=this.min,s=this.max,n=this.options,o=n.time,a=o.unit||Do(o.minUnit,e,s,this._getLabelCapacity(e)),r=D(n.ticks.stepSize,1),l=a==="week"?o.isoWeekday:!1,c=Bt(l)||l===!0,h={},d=e,u,f;if(c&&(d=+t.startOf(d,"isoWeek",l)),d=+t.startOf(d,c?"day":a),t.diff(s,e,a)>1e5*r)throw new Error(e+" and "+s+" are too far apart with stepSize of "+r+" "+a);let g=n.ticks.source==="data"&&this.getDataTimestamps();for(u=d,f=0;u+p)}getLabelForValue(t){let e=this._adapter,s=this.options.time;return s.tooltipFormat?e.format(t,s.tooltipFormat):e.format(t,s.displayFormats.datetime)}format(t,e){let n=this.options.time.displayFormats,o=this._unit,a=e||n[o];return this._adapter.format(t,a)}_tickFormatFunction(t,e,s,n){let o=this.options,a=o.ticks.callback;if(a)return F(a,[t,e,s],this);let r=o.time.displayFormats,l=this._unit,c=this._majorUnit,h=l&&r[l],d=c&&r[c],u=s[e],f=c&&d&&u&&u.major;return this._adapter.format(t,n||(f?d:h))}generateTickLabels(t){let e,s,n;for(e=0,s=t.length;e0?r:1}getDataTimestamps(){let t=this._cache.data||[],e,s;if(t.length)return t;let n=this.getMatchingVisibleMetas();if(this._normalized&&n.length)return this._cache.data=n[0].controller.getAllParsedValues(this);for(e=0,s=n.length;e=i[s].pos&&t<=i[n].pos&&({lo:s,hi:n}=ct(i,"pos",t)),{pos:o,time:r}=i[s],{pos:a,time:l}=i[n]):(t>=i[s].time&&t<=i[n].time&&({lo:s,hi:n}=ct(i,"time",t)),{time:o,pos:r}=i[s],{time:a,pos:l}=i[n]);let c=a-o;return c?r+(l-r)*(t-o)/c:r}var Be=class extends Yt{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){let t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=xi(e,this.min),this._tableRange=xi(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){let{min:e,max:s}=this,n=[],o=[],a,r,l,c,h;for(a=0,r=t.length;a=e&&c<=s&&n.push(c);if(n.length<2)return[{time:e,pos:0},{time:s,pos:1}];for(a=0,r=n.length;an-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;let e=this.getDataTimestamps(),s=this.getLabelTimestamps();return e.length&&s.length?t=this.normalize(e.concat(s)):t=e.length?e:s,t=this._cache.all=t,t}getDecimalForValue(t){return(xi(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){let e=this._offsets,s=this.getDecimalForPixel(t)/e.factor-e.end;return xi(this._table,s*this._tableRange+this._minPos,!0)}};M(Be,"id","timeseries"),M(Be,"defaults",Yt.defaults);var Ah=Object.freeze({__proto__:null,CategoryScale:Ie,LinearScale:Fe,LogarithmicScale:ze,RadialLinearScale:jt,TimeScale:Yt,TimeSeriesScale:Be}),Go=[Nr,uc,rh,Ah];at.register(...Go);var Fs=at;function Th({dataChecksum:i,labels:t,values:e}){return{dataChecksum:i,init(){Alpine.effect(()=>{Alpine.store("theme");let s=this.getChart();s&&s.destroy(),this.initChart()}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{Alpine.store("theme")==="system"&&this.$nextTick(()=>{let s=this.getChart();s&&s.destroy(),this.initChart()})})},initChart(){if(!(!this.$refs.canvas||!this.$refs.backgroundColorElement||!this.$refs.borderColorElement))return new Fs(this.$refs.canvas,{type:"line",data:{labels:t,datasets:[{data:e,borderWidth:2,fill:"start",tension:.5,backgroundColor:getComputedStyle(this.$refs.backgroundColorElement).color,borderColor:getComputedStyle(this.$refs.borderColorElement).color}]},options:{animation:{duration:0},elements:{point:{radius:0}},maintainAspectRatio:!1,plugins:{legend:{display:!1}},scales:{x:{display:!1},y:{display:!1}},tooltips:{enabled:!1}}})},getChart(){return this.$refs.canvas?Fs.getChart(this.$refs.canvas):null}}}export{Th as default}; +/*! Bundled license information: + +@kurkle/color/dist/color.esm.js: + (*! + * @kurkle/color v0.3.4 + * https://github.com/kurkle/color#readme + * (c) 2024 Jukka Kurkela + * Released under the MIT License + *) + +chart.js/dist/chunks/helpers.dataset.js: +chart.js/dist/chart.js: + (*! + * Chart.js v4.5.0 + * https://www.chartjs.org + * (c) 2025 Chart.js Contributors + * Released under the MIT License + *) +*/ diff --git a/public/logo.svg b/public/logo.svg new file mode 100644 index 0000000..3b7c63d --- /dev/null +++ b/public/logo.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..eb05362 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: diff --git a/resources/css/app.css b/resources/css/app.css new file mode 100644 index 0000000..9bf659f --- /dev/null +++ b/resources/css/app.css @@ -0,0 +1,141 @@ +@import 'tailwindcss'; + +@plugin 'tailwindcss-animate'; + +@source '../views'; +@source '../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php'; + +@custom-variant dark (&:is(.dark *)); + +@theme { + --font-sans: + 'Instrument Sans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; + + --radius-lg: var(--radius); + --radius-md: calc(var(--radius) - 2px); + --radius-sm: calc(var(--radius) - 4px); + + --color-background: var(--background); + --color-foreground: var(--foreground); + + --color-card: var(--card); + --color-card-foreground: var(--card-foreground); + + --color-popover: var(--popover); + --color-popover-foreground: var(--popover-foreground); + + --color-primary: var(--primary); + --color-primary-foreground: var(--primary-foreground); + + --color-secondary: var(--secondary); + --color-secondary-foreground: var(--secondary-foreground); + + --color-muted: var(--muted); + --color-muted-foreground: var(--muted-foreground); + + --color-accent: var(--accent); + --color-accent-foreground: var(--accent-foreground); + + --color-destructive: var(--destructive); + --color-destructive-foreground: var(--destructive-foreground); + + --color-border: var(--border); + --color-input: var(--input); + --color-ring: var(--ring); + + --color-chart-1: var(--chart-1); + --color-chart-2: var(--chart-2); + --color-chart-3: var(--chart-3); + --color-chart-4: var(--chart-4); + --color-chart-5: var(--chart-5); + + --color-sidebar: var(--sidebar); + --color-sidebar-foreground: var(--sidebar-foreground); + --color-sidebar-primary: var(--sidebar-primary); + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); + --color-sidebar-accent: var(--sidebar-accent); + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); + --color-sidebar-border: var(--sidebar-border); + --color-sidebar-ring: var(--sidebar-ring); +} + +:root { + --background: oklch(1 0 0); + --foreground: oklch(0.145 0 0); + --card: oklch(1 0 0); + --card-foreground: oklch(0.145 0 0); + --popover: oklch(1 0 0); + --popover-foreground: oklch(0.145 0 0); + --primary: oklch(0.205 0 0); + --primary-foreground: oklch(0.985 0 0); + --secondary: oklch(0.97 0 0); + --secondary-foreground: oklch(0.205 0 0); + --muted: oklch(0.97 0 0); + --muted-foreground: oklch(0.556 0 0); + --accent: oklch(0.97 0 0); + --accent-foreground: oklch(0.205 0 0); + --destructive: oklch(0.577 0.245 27.325); + --destructive-foreground: oklch(0.577 0.245 27.325); + --border: oklch(0.922 0 0); + --input: oklch(0.922 0 0); + --ring: oklch(0.87 0 0); + --chart-1: oklch(0.646 0.222 41.116); + --chart-2: oklch(0.6 0.118 184.704); + --chart-3: oklch(0.398 0.07 227.392); + --chart-4: oklch(0.828 0.189 84.429); + --chart-5: oklch(0.769 0.188 70.08); + --radius: 0.625rem; + --sidebar: oklch(0.985 0 0); + --sidebar-foreground: oklch(0.145 0 0); + --sidebar-primary: oklch(0.205 0 0); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.97 0 0); + --sidebar-accent-foreground: oklch(0.205 0 0); + --sidebar-border: oklch(0.922 0 0); + --sidebar-ring: oklch(0.87 0 0); +} + +.dark { + --background: oklch(0.145 0 0); + --foreground: oklch(0.985 0 0); + --card: oklch(0.145 0 0); + --card-foreground: oklch(0.985 0 0); + --popover: oklch(0.145 0 0); + --popover-foreground: oklch(0.985 0 0); + --primary: oklch(0.985 0 0); + --primary-foreground: oklch(0.205 0 0); + --secondary: oklch(0.269 0 0); + --secondary-foreground: oklch(0.985 0 0); + --muted: oklch(0.269 0 0); + --muted-foreground: oklch(0.708 0 0); + --accent: oklch(0.269 0 0); + --accent-foreground: oklch(0.985 0 0); + --destructive: oklch(0.396 0.141 25.723); + --destructive-foreground: oklch(0.637 0.237 25.331); + --border: oklch(0.269 0 0); + --input: oklch(0.269 0 0); + --ring: oklch(0.439 0 0); + --chart-1: oklch(0.488 0.243 264.376); + --chart-2: oklch(0.696 0.17 162.48); + --chart-3: oklch(0.769 0.188 70.08); + --chart-4: oklch(0.627 0.265 303.9); + --chart-5: oklch(0.645 0.246 16.439); + --sidebar: oklch(0.205 0 0); + --sidebar-foreground: oklch(0.985 0 0); + --sidebar-primary: oklch(0.985 0 0); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.269 0 0); + --sidebar-accent-foreground: oklch(0.985 0 0); + --sidebar-border: oklch(0.269 0 0); + --sidebar-ring: oklch(0.439 0 0); +} + +@layer base { + * { + @apply border-border; + } + + body { + @apply bg-background text-foreground; + } +} diff --git a/resources/js/admin/api.ts b/resources/js/admin/api.ts new file mode 100644 index 0000000..9b5fb6b --- /dev/null +++ b/resources/js/admin/api.ts @@ -0,0 +1,94 @@ +export async function login(email: string, password: string): Promise<{ token: string }> { + const res = await fetch('/api/v1/tenant/login', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ email, password }), + }); + if (!res.ok) throw new Error('Login failed'); + return res.json(); +} + +export async function getEvents(): Promise { + const token = localStorage.getItem('ta_token') || ''; + const res = await fetch('/api/v1/tenant/events', { + headers: { Authorization: `Bearer ${token}` }, + }); + if (!res.ok) throw new Error('Failed to load events'); + const json = await res.json(); + return json.data ?? []; +} + +export async function createEvent(payload: { name: string; slug: string; date?: string; is_active?: boolean }): Promise { + const token = localStorage.getItem('ta_token') || ''; + const res = await fetch('/api/v1/tenant/events', { + method: 'POST', + headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${token}` }, + body: JSON.stringify(payload), + }); + if (!res.ok) throw new Error('Failed to create event'); + const json = await res.json(); + return json.id; +} + +export async function updateEvent(id: number, payload: Partial<{ name: string; slug: string; date?: string; is_active?: boolean }>): Promise { + const token = localStorage.getItem('ta_token') || ''; + const res = await fetch(`/api/v1/tenant/events/${id}`, { + method: 'PUT', + headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${token}` }, + body: JSON.stringify(payload), + }); + if (!res.ok) throw new Error('Failed to update event'); +} + +export async function getEventPhotos(id: number): Promise { + const token = localStorage.getItem('ta_token') || ''; + const res = await fetch(`/api/v1/tenant/events/${id}/photos`, { headers: { Authorization: `Bearer ${token}` } }); + if (!res.ok) throw new Error('Failed to load photos'); + const json = await res.json(); + return json.data ?? []; +} + +export async function featurePhoto(id: number) { + const token = localStorage.getItem('ta_token') || ''; + await fetch(`/api/v1/tenant/photos/${id}/feature`, { method: 'POST', headers: { Authorization: `Bearer ${token}` } }); +} + +export async function unfeaturePhoto(id: number) { + const token = localStorage.getItem('ta_token') || ''; + await fetch(`/api/v1/tenant/photos/${id}/unfeature`, { method: 'POST', headers: { Authorization: `Bearer ${token}` } }); +} + +export async function getEvent(id: number): Promise { + const token = localStorage.getItem('ta_token') || ''; + const res = await fetch(`/api/v1/tenant/events/${id}`, { headers: { Authorization: `Bearer ${token}` } }); + if (!res.ok) throw new Error('Failed to load event'); + return res.json(); +} + +export async function toggleEvent(id: number): Promise { + const token = localStorage.getItem('ta_token') || ''; + const res = await fetch(`/api/v1/tenant/events/${id}/toggle`, { method: 'POST', headers: { Authorization: `Bearer ${token}` } }); + if (!res.ok) throw new Error('Failed to toggle'); + const json = await res.json(); + return !!json.is_active; +} + +export async function getEventStats(id: number): Promise<{ total: number; featured: number; likes: number }> { + const token = localStorage.getItem('ta_token') || ''; + const res = await fetch(`/api/v1/tenant/events/${id}/stats`, { headers: { Authorization: `Bearer ${token}` } }); + if (!res.ok) throw new Error('Failed to load stats'); + return res.json(); +} + +export async function createInviteLink(id: number): Promise { + const token = localStorage.getItem('ta_token') || ''; + const res = await fetch(`/api/v1/tenant/events/${id}/invites`, { method: 'POST', headers: { Authorization: `Bearer ${token}` } }); + if (!res.ok) throw new Error('Failed to create invite'); + const json = await res.json(); + return json.link as string; +} + +export async function deletePhoto(id: number) { + const token = localStorage.getItem('ta_token') || ''; + await fetch(`/api/v1/tenant/photos/${id}`, { method: 'DELETE', headers: { Authorization: `Bearer ${token}` } }); +} diff --git a/resources/js/admin/main.tsx b/resources/js/admin/main.tsx new file mode 100644 index 0000000..3b7df0f --- /dev/null +++ b/resources/js/admin/main.tsx @@ -0,0 +1,15 @@ +import React from 'react'; +import { createRoot } from 'react-dom/client'; +import { RouterProvider } from 'react-router-dom'; +import { router } from './router'; +import '../../css/app.css'; +import { initializeTheme } from '@/hooks/use-appearance'; + +initializeTheme(); +const rootEl = document.getElementById('root')!; +createRoot(rootEl).render( + + + +); + diff --git a/resources/js/admin/pages/EventDetailPage.tsx b/resources/js/admin/pages/EventDetailPage.tsx new file mode 100644 index 0000000..aa912a8 --- /dev/null +++ b/resources/js/admin/pages/EventDetailPage.tsx @@ -0,0 +1,77 @@ +import React from 'react'; +import { useNavigate, useSearchParams } from 'react-router-dom'; +import { getEvent, getEventStats, toggleEvent, createInviteLink } from '../api'; +import { Button } from '@/components/ui/button'; + +export default function EventDetailPage() { + const [sp] = useSearchParams(); + const id = Number(sp.get('id')); + const nav = useNavigate(); + const [ev, setEv] = React.useState(null); + const [stats, setStats] = React.useState<{ total: number; featured: number; likes: number } | null>(null); + const [invite, setInvite] = React.useState(null); + + async function load() { + const e = await getEvent(id); + setEv(e); + setStats(await getEventStats(id)); + } + React.useEffect(() => { load(); }, [id]); + + async function onToggle() { + const isActive = await toggleEvent(id); + setEv((o: any) => ({ ...(o || {}), is_active: isActive })); + } + + async function onInvite() { + const link = await createInviteLink(id); + setInvite(link); + try { await navigator.clipboard.writeText(link); } catch {} + } + + if (!ev) return
    Lade…
    ; + const joinLink = `${location.origin}/e/${ev.slug}`; + const qrUrl = `/admin/qr?data=${encodeURIComponent(joinLink)}`; + + return ( +
    +
    +

    Event: {renderName(ev.name)}

    +
    + + +
    +
    +
    +
    Slug: {ev.slug}
    +
    Datum: {ev.date ?? '-'}
    +
    Status: {ev.is_active ? 'Aktiv' : 'Inaktiv'}
    +
    +
    +
    {stats?.total ?? 0}
    Fotos
    +
    {stats?.featured ?? 0}
    Featured
    +
    {stats?.likes ?? 0}
    Likes gesamt
    +
    +
    +
    Join-Link
    +
    + + +
    +
    QR
    + QR +
    + + {invite &&
    Erzeugt und kopiert: {invite}
    } +
    +
    +
    + ); +} + +function renderName(name: any): string { + if (typeof name === 'string') return name; + if (name && (name.de || name.en)) return name.de || name.en; + return JSON.stringify(name); +} + diff --git a/resources/js/admin/pages/EventFormPage.tsx b/resources/js/admin/pages/EventFormPage.tsx new file mode 100644 index 0000000..a4e6a39 --- /dev/null +++ b/resources/js/admin/pages/EventFormPage.tsx @@ -0,0 +1,44 @@ +import React from 'react'; +import { Input } from '@/components/ui/input'; +import { Button } from '@/components/ui/button'; +import { createEvent, updateEvent } from '../api'; +import { useNavigate, useSearchParams } from 'react-router-dom'; + +export default function EventFormPage() { + const [sp] = useSearchParams(); + const id = sp.get('id'); + const nav = useNavigate(); + const [name, setName] = React.useState(''); + const [slug, setSlug] = React.useState(''); + const [date, setDate] = React.useState(''); + const [active, setActive] = React.useState(true); + const [saving, setSaving] = React.useState(false); + const isEdit = !!id; + + async function save() { + setSaving(true); + try { + if (isEdit) { + await updateEvent(Number(id), { name, slug, date, is_active: active }); + } else { + await createEvent({ name, slug, date, is_active: active }); + } + nav('/admin/events'); + } finally { setSaving(false); } + } + + return ( +
    +

    {isEdit ? 'Event bearbeiten' : 'Neues Event'}

    + setName(e.target.value)} /> + setSlug(e.target.value)} /> + setDate(e.target.value)} /> + +
    + + +
    +
    + ); +} + diff --git a/resources/js/admin/pages/EventPhotosPage.tsx b/resources/js/admin/pages/EventPhotosPage.tsx new file mode 100644 index 0000000..6907978 --- /dev/null +++ b/resources/js/admin/pages/EventPhotosPage.tsx @@ -0,0 +1,47 @@ +import React from 'react'; +import { useSearchParams } from 'react-router-dom'; +import { deletePhoto, featurePhoto, getEventPhotos, unfeaturePhoto } from '../api'; +import { Button } from '@/components/ui/button'; + +export default function EventPhotosPage() { + const [sp] = useSearchParams(); + const id = Number(sp.get('id')); + const [rows, setRows] = React.useState([]); + const [loading, setLoading] = React.useState(true); + + async function load() { + setLoading(true); + try { setRows(await getEventPhotos(id)); } finally { setLoading(false); } + } + React.useEffect(() => { load(); }, [id]); + + async function onFeature(p: any) { await featurePhoto(p.id); load(); } + async function onUnfeature(p: any) { await unfeaturePhoto(p.id); load(); } + async function onDelete(p: any) { await deletePhoto(p.id); load(); } + + return ( +
    +

    Fotos moderieren

    + {loading &&
    Lade…
    } +
    + {rows.map((p) => ( +
    + +
    + ❤ {p.likes_count} +
    + {p.is_featured ? ( + + ) : ( + + )} + +
    +
    +
    + ))} +
    +
    + ); +} + diff --git a/resources/js/admin/pages/EventsPage.tsx b/resources/js/admin/pages/EventsPage.tsx new file mode 100644 index 0000000..748e3d6 --- /dev/null +++ b/resources/js/admin/pages/EventsPage.tsx @@ -0,0 +1,53 @@ +import React from 'react'; +import { getEvents } from '../api'; +import { Button } from '@/components/ui/button'; +import { Link, useNavigate } from 'react-router-dom'; + +export default function EventsPage() { + const [rows, setRows] = React.useState([]); + const [loading, setLoading] = React.useState(true); + const [error, setError] = React.useState(null); + const nav = useNavigate(); + + React.useEffect(() => { + (async () => { + try { setRows(await getEvents()); } catch (e) { setError('Laden fehlgeschlagen'); } finally { setLoading(false); } + })(); + }, []); + + return ( +
    + ); +} + +function renderName(name: any): string { + if (typeof name === 'string') return name; + if (name && (name.de || name.en)) return name.de || name.en; + return JSON.stringify(name); +} diff --git a/resources/js/admin/pages/LoginPage.tsx b/resources/js/admin/pages/LoginPage.tsx new file mode 100644 index 0000000..afd37c7 --- /dev/null +++ b/resources/js/admin/pages/LoginPage.tsx @@ -0,0 +1,43 @@ +import React from 'react'; +import { login } from '../api'; +import { useNavigate } from 'react-router-dom'; +import { Input } from '@/components/ui/input'; +import { Button } from '@/components/ui/button'; +import AppearanceToggleDropdown from '@/components/appearance-dropdown'; + +export default function LoginPage() { + const nav = useNavigate(); + const [email, setEmail] = React.useState(''); + const [password, setPassword] = React.useState(''); + const [error, setError] = React.useState(null); + const [loading, setLoading] = React.useState(false); + + async function submit(e: React.FormEvent) { + e.preventDefault(); + setError(null); + setLoading(true); + try { + const { token } = await login(email, password); + localStorage.setItem('ta_token', token); + nav('/admin', { replace: true }); + } catch (err: any) { + setError('Login fehlgeschlagen'); + } finally { setLoading(false); } + } + + return ( +
    +
    +

    Tenant Admin

    + +
    +
    + {error &&
    {error}
    } + setEmail(e.target.value)} /> + setPassword(e.target.value)} /> + +
    +
    + ); +} + diff --git a/resources/js/admin/pages/SettingsPage.tsx b/resources/js/admin/pages/SettingsPage.tsx new file mode 100644 index 0000000..39318fa --- /dev/null +++ b/resources/js/admin/pages/SettingsPage.tsx @@ -0,0 +1,23 @@ +import React from 'react'; +import AppearanceToggleDropdown from '@/components/appearance-dropdown'; +import { Button } from '@/components/ui/button'; +import { useNavigate } from 'react-router-dom'; + +export default function SettingsPage() { + const nav = useNavigate(); + function logout() { + localStorage.removeItem('ta_token'); + nav('/admin/login', { replace: true }); + } + return ( +
    +

    Einstellungen

    +
    +
    Darstellung
    + +
    + +
    + ); +} + diff --git a/resources/js/admin/router.tsx b/resources/js/admin/router.tsx new file mode 100644 index 0000000..9a8f55e --- /dev/null +++ b/resources/js/admin/router.tsx @@ -0,0 +1,32 @@ +import React from 'react'; +import { createBrowserRouter, Outlet, Navigate } from 'react-router-dom'; +import LoginPage from './pages/LoginPage'; +import EventsPage from './pages/EventsPage'; +import SettingsPage from './pages/SettingsPage'; +import EventFormPage from './pages/EventFormPage'; +import EventPhotosPage from './pages/EventPhotosPage'; +import EventDetailPage from './pages/EventDetailPage'; + +function RequireAuth() { + const token = localStorage.getItem('ta_token'); + if (!token) return ; + return ; +} + +export const router = createBrowserRouter([ + { path: '/admin/login', element: }, + { + path: '/admin', + element: , + children: [ + { index: true, element: }, + { path: 'events', element: }, + { path: 'events/new', element: }, + { path: 'events/edit', element: }, + { path: 'events/view', element: }, + { path: 'events/photos', element: }, + { path: 'settings', element: }, + ], + }, + { path: '*', element: }, +]); diff --git a/resources/js/app.tsx b/resources/js/app.tsx new file mode 100644 index 0000000..ae09978 --- /dev/null +++ b/resources/js/app.tsx @@ -0,0 +1,24 @@ +import '../css/app.css'; + +import { createInertiaApp } from '@inertiajs/react'; +import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers'; +import { createRoot } from 'react-dom/client'; +import { initializeTheme } from './hooks/use-appearance'; + +const appName = import.meta.env.VITE_APP_NAME || 'Laravel'; + +createInertiaApp({ + title: (title) => title ? `${title} - ${appName}` : appName, + resolve: (name) => resolvePageComponent(`./pages/${name}.tsx`, import.meta.glob('./pages/**/*.tsx')), + setup({ el, App, props }) { + const root = createRoot(el); + + root.render(); + }, + progress: { + color: '#4B5563', + }, +}); + +// This will set light / dark mode on load... +initializeTheme(); diff --git a/resources/js/components/app-content.tsx b/resources/js/components/app-content.tsx new file mode 100644 index 0000000..e5d04cd --- /dev/null +++ b/resources/js/components/app-content.tsx @@ -0,0 +1,18 @@ +import { SidebarInset } from '@/components/ui/sidebar'; +import * as React from 'react'; + +interface AppContentProps extends React.ComponentProps<'main'> { + variant?: 'header' | 'sidebar'; +} + +export function AppContent({ variant = 'header', children, ...props }: AppContentProps) { + if (variant === 'sidebar') { + return {children}; + } + + return ( +
    + {children} +
    + ); +} diff --git a/resources/js/components/app-header.tsx b/resources/js/components/app-header.tsx new file mode 100644 index 0000000..8dfcf69 --- /dev/null +++ b/resources/js/components/app-header.tsx @@ -0,0 +1,183 @@ +import { Breadcrumbs } from '@/components/breadcrumbs'; +import { Icon } from '@/components/icon'; +import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; +import { Button } from '@/components/ui/button'; +import { DropdownMenu, DropdownMenuContent, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'; +import { NavigationMenu, NavigationMenuItem, NavigationMenuList, navigationMenuTriggerStyle } from '@/components/ui/navigation-menu'; +import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from '@/components/ui/sheet'; +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'; +import { UserMenuContent } from '@/components/user-menu-content'; +import { useInitials } from '@/hooks/use-initials'; +import { cn } from '@/lib/utils'; +import { dashboard } from '@/routes'; +import { type BreadcrumbItem, type NavItem, type SharedData } from '@/types'; +import { Link, usePage } from '@inertiajs/react'; +import { BookOpen, Folder, LayoutGrid, Menu, Search } from 'lucide-react'; +import AppLogo from './app-logo'; +import AppLogoIcon from './app-logo-icon'; + +const mainNavItems: NavItem[] = [ + { + title: 'Dashboard', + href: dashboard(), + icon: LayoutGrid, + }, +]; + +const rightNavItems: NavItem[] = [ + { + title: 'Repository', + href: 'https://github.com/laravel/react-starter-kit', + icon: Folder, + }, + { + title: 'Documentation', + href: 'https://laravel.com/docs/starter-kits#react', + icon: BookOpen, + }, +]; + +const activeItemStyles = 'text-neutral-900 dark:bg-neutral-800 dark:text-neutral-100'; + +interface AppHeaderProps { + breadcrumbs?: BreadcrumbItem[]; +} + +export function AppHeader({ breadcrumbs = [] }: AppHeaderProps) { + const page = usePage(); + const { auth } = page.props; + const getInitials = useInitials(); + return ( + <> +
    +
    + {/* Mobile Menu */} +
    + + + + + + Navigation Menu + + + +
    +
    +
    + {mainNavItems.map((item) => ( + + {item.icon && } + {item.title} + + ))} +
    + +
    + {rightNavItems.map((item) => ( + + {item.icon && } + {item.title} + + ))} +
    +
    +
    +
    +
    +
    + + + + + + {/* Desktop Navigation */} +
    + + + {mainNavItems.map((item, index) => ( + + + {item.icon && } + {item.title} + + {page.url === item.href && ( +
    + )} +
    + ))} +
    +
    +
    + +
    +
    + +
    + {rightNavItems.map((item) => ( + + + + + {item.title} + {item.icon && } + + + +

    {item.title}

    +
    +
    +
    + ))} +
    +
    + + + + + + + + +
    +
    +
    + {breadcrumbs.length > 1 && ( +
    +
    + +
    +
    + )} + + ); +} diff --git a/resources/js/components/app-logo-icon.tsx b/resources/js/components/app-logo-icon.tsx new file mode 100644 index 0000000..9bd62ad --- /dev/null +++ b/resources/js/components/app-logo-icon.tsx @@ -0,0 +1,13 @@ +import { SVGAttributes } from 'react'; + +export default function AppLogoIcon(props: SVGAttributes) { + return ( + + + + ); +} diff --git a/resources/js/components/app-logo.tsx b/resources/js/components/app-logo.tsx new file mode 100644 index 0000000..69bdcb8 --- /dev/null +++ b/resources/js/components/app-logo.tsx @@ -0,0 +1,14 @@ +import AppLogoIcon from './app-logo-icon'; + +export default function AppLogo() { + return ( + <> +
    + +
    +
    + Laravel Starter Kit +
    + + ); +} diff --git a/resources/js/components/app-shell.tsx b/resources/js/components/app-shell.tsx new file mode 100644 index 0000000..0d5cdb9 --- /dev/null +++ b/resources/js/components/app-shell.tsx @@ -0,0 +1,18 @@ +import { SidebarProvider } from '@/components/ui/sidebar'; +import { SharedData } from '@/types'; +import { usePage } from '@inertiajs/react'; + +interface AppShellProps { + children: React.ReactNode; + variant?: 'header' | 'sidebar'; +} + +export function AppShell({ children, variant = 'header' }: AppShellProps) { + const isOpen = usePage().props.sidebarOpen; + + if (variant === 'header') { + return
    {children}
    ; + } + + return {children}; +} diff --git a/resources/js/components/app-sidebar-header.tsx b/resources/js/components/app-sidebar-header.tsx new file mode 100644 index 0000000..6a3128b --- /dev/null +++ b/resources/js/components/app-sidebar-header.tsx @@ -0,0 +1,14 @@ +import { Breadcrumbs } from '@/components/breadcrumbs'; +import { SidebarTrigger } from '@/components/ui/sidebar'; +import { type BreadcrumbItem as BreadcrumbItemType } from '@/types'; + +export function AppSidebarHeader({ breadcrumbs = [] }: { breadcrumbs?: BreadcrumbItemType[] }) { + return ( +
    +
    + + +
    +
    + ); +} diff --git a/resources/js/components/app-sidebar.tsx b/resources/js/components/app-sidebar.tsx new file mode 100644 index 0000000..3d27736 --- /dev/null +++ b/resources/js/components/app-sidebar.tsx @@ -0,0 +1,57 @@ +import { NavFooter } from '@/components/nav-footer'; +import { NavMain } from '@/components/nav-main'; +import { NavUser } from '@/components/nav-user'; +import { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarMenu, SidebarMenuButton, SidebarMenuItem } from '@/components/ui/sidebar'; +import { dashboard } from '@/routes'; +import { type NavItem } from '@/types'; +import { Link } from '@inertiajs/react'; +import { BookOpen, Folder, LayoutGrid } from 'lucide-react'; +import AppLogo from './app-logo'; + +const mainNavItems: NavItem[] = [ + { + title: 'Dashboard', + href: dashboard(), + icon: LayoutGrid, + }, +]; + +const footerNavItems: NavItem[] = [ + { + title: 'Repository', + href: 'https://github.com/laravel/react-starter-kit', + icon: Folder, + }, + { + title: 'Documentation', + href: 'https://laravel.com/docs/starter-kits#react', + icon: BookOpen, + }, +]; + +export function AppSidebar() { + return ( + + + + + + + + + + + + + + + + + + + + + + + ); +} diff --git a/resources/js/components/appearance-dropdown.tsx b/resources/js/components/appearance-dropdown.tsx new file mode 100644 index 0000000..89a4586 --- /dev/null +++ b/resources/js/components/appearance-dropdown.tsx @@ -0,0 +1,53 @@ +import { Button } from '@/components/ui/button'; +import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'; +import { useAppearance } from '@/hooks/use-appearance'; +import { Monitor, Moon, Sun } from 'lucide-react'; +import { HTMLAttributes } from 'react'; + +export default function AppearanceToggleDropdown({ className = '', ...props }: HTMLAttributes) { + const { appearance, updateAppearance } = useAppearance(); + + const getCurrentIcon = () => { + switch (appearance) { + case 'dark': + return ; + case 'light': + return ; + default: + return ; + } + }; + + return ( +
    + + + + + + updateAppearance('light')}> + + + Light + + + updateAppearance('dark')}> + + + Dark + + + updateAppearance('system')}> + + + System + + + + +
    + ); +} diff --git a/resources/js/components/appearance-tabs.tsx b/resources/js/components/appearance-tabs.tsx new file mode 100644 index 0000000..900b0f2 --- /dev/null +++ b/resources/js/components/appearance-tabs.tsx @@ -0,0 +1,34 @@ +import { Appearance, useAppearance } from '@/hooks/use-appearance'; +import { cn } from '@/lib/utils'; +import { LucideIcon, Monitor, Moon, Sun } from 'lucide-react'; +import { HTMLAttributes } from 'react'; + +export default function AppearanceToggleTab({ className = '', ...props }: HTMLAttributes) { + const { appearance, updateAppearance } = useAppearance(); + + const tabs: { value: Appearance; icon: LucideIcon; label: string }[] = [ + { value: 'light', icon: Sun, label: 'Light' }, + { value: 'dark', icon: Moon, label: 'Dark' }, + { value: 'system', icon: Monitor, label: 'System' }, + ]; + + return ( +
    + {tabs.map(({ value, icon: Icon, label }) => ( + + ))} +
    + ); +} diff --git a/resources/js/components/breadcrumbs.tsx b/resources/js/components/breadcrumbs.tsx new file mode 100644 index 0000000..cb00f91 --- /dev/null +++ b/resources/js/components/breadcrumbs.tsx @@ -0,0 +1,34 @@ +import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from '@/components/ui/breadcrumb'; +import { type BreadcrumbItem as BreadcrumbItemType } from '@/types'; +import { Link } from '@inertiajs/react'; +import { Fragment } from 'react'; + +export function Breadcrumbs({ breadcrumbs }: { breadcrumbs: BreadcrumbItemType[] }) { + return ( + <> + {breadcrumbs.length > 0 && ( + + + {breadcrumbs.map((item, index) => { + const isLast = index === breadcrumbs.length - 1; + return ( + + + {isLast ? ( + {item.title} + ) : ( + + {item.title} + + )} + + {!isLast && } + + ); + })} + + + )} + + ); +} diff --git a/resources/js/components/delete-user.tsx b/resources/js/components/delete-user.tsx new file mode 100644 index 0000000..7c4b73a --- /dev/null +++ b/resources/js/components/delete-user.tsx @@ -0,0 +1,81 @@ +import ProfileController from '@/actions/App/Http/Controllers/Settings/ProfileController'; +import HeadingSmall from '@/components/heading-small'; +import InputError from '@/components/input-error'; +import { Button } from '@/components/ui/button'; +import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogTitle, DialogTrigger } from '@/components/ui/dialog'; +import { Input } from '@/components/ui/input'; +import { Label } from '@/components/ui/label'; +import { Form } from '@inertiajs/react'; +import { useRef } from 'react'; + +export default function DeleteUser() { + const passwordInput = useRef(null); + + return ( +
    + +
    +
    +

    Warning

    +

    Please proceed with caution, this cannot be undone.

    +
    + + + + + + + Are you sure you want to delete your account? + + Once your account is deleted, all of its resources and data will also be permanently deleted. Please enter your password + to confirm you would like to permanently delete your account. + + +
    passwordInput.current?.focus()} + resetOnSuccess + className="space-y-6" + > + {({ resetAndClearErrors, processing, errors }) => ( + <> +
    + + + + + +
    + + + + + + + + + + + )} +
    +
    +
    +
    +
    + ); +} diff --git a/resources/js/components/heading-small.tsx b/resources/js/components/heading-small.tsx new file mode 100644 index 0000000..cbd3658 --- /dev/null +++ b/resources/js/components/heading-small.tsx @@ -0,0 +1,8 @@ +export default function HeadingSmall({ title, description }: { title: string; description?: string }) { + return ( +
    +

    {title}

    + {description &&

    {description}

    } +
    + ); +} diff --git a/resources/js/components/heading.tsx b/resources/js/components/heading.tsx new file mode 100644 index 0000000..6384e4b --- /dev/null +++ b/resources/js/components/heading.tsx @@ -0,0 +1,8 @@ +export default function Heading({ title, description }: { title: string; description?: string }) { + return ( +
    +

    {title}

    + {description &&

    {description}

    } +
    + ); +} diff --git a/resources/js/components/icon.tsx b/resources/js/components/icon.tsx new file mode 100644 index 0000000..0f81d9c --- /dev/null +++ b/resources/js/components/icon.tsx @@ -0,0 +1,11 @@ +import { cn } from '@/lib/utils'; +import { type LucideProps } from 'lucide-react'; +import { type ComponentType } from 'react'; + +interface IconProps extends Omit { + iconNode: ComponentType; +} + +export function Icon({ iconNode: IconComponent, className, ...props }: IconProps) { + return ; +} diff --git a/resources/js/components/input-error.tsx b/resources/js/components/input-error.tsx new file mode 100644 index 0000000..bb48d71 --- /dev/null +++ b/resources/js/components/input-error.tsx @@ -0,0 +1,10 @@ +import { cn } from '@/lib/utils'; +import { type HTMLAttributes } from 'react'; + +export default function InputError({ message, className = '', ...props }: HTMLAttributes & { message?: string }) { + return message ? ( +

    + {message} +

    + ) : null; +} diff --git a/resources/js/components/nav-footer.tsx b/resources/js/components/nav-footer.tsx new file mode 100644 index 0000000..797270a --- /dev/null +++ b/resources/js/components/nav-footer.tsx @@ -0,0 +1,34 @@ +import { Icon } from '@/components/icon'; +import { SidebarGroup, SidebarGroupContent, SidebarMenu, SidebarMenuButton, SidebarMenuItem } from '@/components/ui/sidebar'; +import { type NavItem } from '@/types'; +import { type ComponentPropsWithoutRef } from 'react'; + +export function NavFooter({ + items, + className, + ...props +}: ComponentPropsWithoutRef & { + items: NavItem[]; +}) { + return ( + + + + {items.map((item) => ( + + + + {item.icon && } + {item.title} + + + + ))} + + + + ); +} diff --git a/resources/js/components/nav-main.tsx b/resources/js/components/nav-main.tsx new file mode 100644 index 0000000..6fcbd7c --- /dev/null +++ b/resources/js/components/nav-main.tsx @@ -0,0 +1,28 @@ +import { SidebarGroup, SidebarGroupLabel, SidebarMenu, SidebarMenuButton, SidebarMenuItem } from '@/components/ui/sidebar'; +import { type NavItem } from '@/types'; +import { Link, usePage } from '@inertiajs/react'; + +export function NavMain({ items = [] }: { items: NavItem[] }) { + const page = usePage(); + return ( + + Platform + + {items.map((item) => ( + + + + {item.icon && } + {item.title} + + + + ))} + + + ); +} diff --git a/resources/js/components/nav-user.tsx b/resources/js/components/nav-user.tsx new file mode 100644 index 0000000..386be8f --- /dev/null +++ b/resources/js/components/nav-user.tsx @@ -0,0 +1,36 @@ +import { DropdownMenu, DropdownMenuContent, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'; +import { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '@/components/ui/sidebar'; +import { UserInfo } from '@/components/user-info'; +import { UserMenuContent } from '@/components/user-menu-content'; +import { useIsMobile } from '@/hooks/use-mobile'; +import { type SharedData } from '@/types'; +import { usePage } from '@inertiajs/react'; +import { ChevronsUpDown } from 'lucide-react'; + +export function NavUser() { + const { auth } = usePage().props; + const { state } = useSidebar(); + const isMobile = useIsMobile(); + + return ( + + + + + + + + + + + + + + + + ); +} diff --git a/resources/js/components/text-link.tsx b/resources/js/components/text-link.tsx new file mode 100644 index 0000000..1c2ddb8 --- /dev/null +++ b/resources/js/components/text-link.tsx @@ -0,0 +1,19 @@ +import { cn } from '@/lib/utils'; +import { Link } from '@inertiajs/react'; +import { ComponentProps } from 'react'; + +type LinkProps = ComponentProps; + +export default function TextLink({ className = '', children, ...props }: LinkProps) { + return ( + + {children} + + ); +} diff --git a/resources/js/components/ui/alert.tsx b/resources/js/components/ui/alert.tsx new file mode 100644 index 0000000..3b8ee79 --- /dev/null +++ b/resources/js/components/ui/alert.tsx @@ -0,0 +1,66 @@ +import * as React from "react" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "@/lib/utils" + +const alertVariants = cva( + "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current", + { + variants: { + variant: { + default: "bg-background text-foreground", + destructive: + "text-destructive-foreground [&>svg]:text-current *:data-[slot=alert-description]:text-destructive-foreground/80", + }, + }, + defaultVariants: { + variant: "default", + }, + } +) + +function Alert({ + className, + variant, + ...props +}: React.ComponentProps<"div"> & VariantProps) { + return ( +
    + ) +} + +function AlertTitle({ className, ...props }: React.ComponentProps<"div">) { + return ( +
    + ) +} + +function AlertDescription({ + className, + ...props +}: React.ComponentProps<"div">) { + return ( +
    + ) +} + +export { Alert, AlertTitle, AlertDescription } diff --git a/resources/js/components/ui/avatar.tsx b/resources/js/components/ui/avatar.tsx new file mode 100644 index 0000000..b7224f0 --- /dev/null +++ b/resources/js/components/ui/avatar.tsx @@ -0,0 +1,51 @@ +import * as React from "react" +import * as AvatarPrimitive from "@radix-ui/react-avatar" + +import { cn } from "@/lib/utils" + +function Avatar({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AvatarImage({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function AvatarFallback({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +export { Avatar, AvatarImage, AvatarFallback } diff --git a/resources/js/components/ui/badge.tsx b/resources/js/components/ui/badge.tsx new file mode 100644 index 0000000..268ea77 --- /dev/null +++ b/resources/js/components/ui/badge.tsx @@ -0,0 +1,46 @@ +import * as React from "react" +import { Slot } from "@radix-ui/react-slot" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "@/lib/utils" + +const badgeVariants = cva( + "inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-auto", + { + variants: { + variant: { + default: + "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90", + secondary: + "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90", + destructive: + "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40", + outline: + "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground", + }, + }, + defaultVariants: { + variant: "default", + }, + } +) + +function Badge({ + className, + variant, + asChild = false, + ...props +}: React.ComponentProps<"span"> & + VariantProps & { asChild?: boolean }) { + const Comp = asChild ? Slot : "span" + + return ( + + ) +} + +export { Badge, badgeVariants } diff --git a/resources/js/components/ui/breadcrumb.tsx b/resources/js/components/ui/breadcrumb.tsx new file mode 100644 index 0000000..eb88f32 --- /dev/null +++ b/resources/js/components/ui/breadcrumb.tsx @@ -0,0 +1,109 @@ +import * as React from "react" +import { Slot } from "@radix-ui/react-slot" +import { ChevronRight, MoreHorizontal } from "lucide-react" + +import { cn } from "@/lib/utils" + +function Breadcrumb({ ...props }: React.ComponentProps<"nav">) { + return

    Zahj> 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�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 z%0D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 CE>rgmjtq=gFDC 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

S03M>9^Aba}Ijk%y09n&dG6&oq#AVEg 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